
Página inicial de la web de Elgg
Introducción
Desde hace ya un par de meses he estado trasteando con Elgg, un motor de redes sociales de código abierto que te permite crear tu propia red social de forma fácil y sencilla. En este post intentaré dar una descripción general de Elgg.
Elgg en sí mismo es tan sólo un motor que sirve de base para un sistema de módulos, que son los que proporcionan la funcionalidad real de la red social. Al descargar Elgg nos encontramos una serie de módulos por defecto que nos permiten realizar la mayoría de las funciones básicas que se esperan de una red social (perfiles de usuario, blog, mensajes de estado, amigos, etc), pero su activa comunidad ha desarrollado ya cientos de módulos de todo tipo que proporcionan una gran variedad de funcionalidades adicionales (álbum de fotos, chat, etc).
Todo esto está además desarrollado de forma que sea sencillo añadir nuevos módulos o ampliar/modificar los ya existentes con tan sólo unas nociones básicas de programación. En futuros posts hablaré de la estructura interna de las distintas partes de Elgg y de cómo desarrollar nuevos módulos para el mismo.

Página base de entrada de Elgg
Tecnología
Elgg está basado en el clásico LAMP (Linux, Apache, MySql, PHP), por lo que si queremos crear nuestra propia red tan sólo necesitamos un servidor linux que tenga instalado estos elementos. También es posible instalarlo sobre Windows, aunque no se recomienda más que para pruebas o desarrollo. En breve escribiré una pequeña guía sobre dicha instalación.
Para el desarrollo tan sólo es necesario aprender PHP, ya que todas las consultas a la base de datos son realizadas a través de funciones proporcionadas por el propio motor de Elgg. El único problema es que la documentación es un poco escasa en estos momentos, pero esto es algo que el equipo de desarrollo está intentando mejorar.
Por supuesto la apariencia básica de Elgg es muy sencilla, pero es muy sencillo modificarla a nuestro gusto con un mínimo conocimiento de CSS y existen ya muchos plugins con mejoras al estilo básico que nos pueden servir de punto de partida para dejarlo todo a nuestro gusto.

Perfil básico de un usuario
El estado actual
Si alguna pega se le puede poner a Elgg es que la mayoría de módulos desarrollados en estos momentos son un poco demasiado “básicos”, y se echa en falta un poco de cohesión entre ellos. Esto sin embargo está mejorando rápidamente y con un poco de trabajo se pueden conseguir sitios web realmente atractivos con tan solo una fracción del trabajo que sería necesario para desarrollar un sitio equivalente desde cero.
Los módulos desarrollados por la comunidad están alcanzando un gran nivel de madurez y calidad, llegando en algún caso a superar en ciertos aspectos lo ofrecido por redes sociales conocidas. Según vaya creciendo la comunidad y mejorando el propio Elgg es de esperar que vayan surgiendo módulos cada vez más interesantes y potentes.
En lo que respecta al desarrollo de Elgg, actualmente está planificada la versión 1.7 para finales del mes de noviembre. Esta versión será principalmente una mejora interna del motor de la red social y de los módulos básicos, con la intención de corregir errores y mejorar el código de cara a una mayor estabilidad y estandarización, lo que debería redundar a su vez en una mayor facilidad para desarrollar nuevos módulos.

Plugins desarrollados por la comunidad
Conclusiones
Elgg es sin duda un proyecto muy interesante y una muestra más del potencial del desarrollo de código abierto. Con una gran comunidad de usuarios contribuyendo con nuevos módulos y funcionalidades, es de esperar que pronto el proyecto alcance un nivel de madurez y calidad que haga sombra a las redes sociales ya establecidas.