Mi idea era hacer un intento pero no perder demasiado tiempo. Tenía claro que no quería diseñar un sistema desde cero y que la parte visual tampoco la iba a hacer yo. (A día de hoy no soy desarrollador web, ni diseñador gráfico). Así que mi propuesta iba a basarse en Software Libre y en cosas desarrolladas previamente por otros.
Lo normal en los CMS es que funcionen en sistemas LAMP (Linux + Apache + MySQL + PHP). Mi apuesta iba a ser buscar un sistema LAP (sin base de datos) y configurarlo con las necesidades expuestas en las bases.
El primer paso fué visitar opensourceCMS que tiene una sección de denominada «lite» de gestores con pocos recursos/pretensiones. Además, la posibilidad de probarlos sin necesidad de instalación. Finalmente, tras probar los sistemas disponibles me decanté por usar:
LIMBO
LIMBO es es una versión reducida de Mambo-Jomla ( literalmente es LIttle maMBO, aunque la página principal está alojada en servidores Jomla así que decidid ustedes de donde viene ). En realidad, Limbo sí está basado en una base de datos. El secreto es que emplea un subconjunto de sql que han implementado en php guardando la información en ficheros de texto plano. Así que tenemos las características o habilidades de un gestor de contenidos sin la necesidad de base de datos relacional externa.
Características que más me han llamado la atención de Limbo (dado que no conozco o usado ni Mambo ni Jomla, es posible que lo que aquí mencione sean características comunes a esta familia de CMS, otro disclaimer: mi experiencia con CMS se centra casi exclusivamente en drupal):
- No requiere acceso root ni siquiera de shell. Una vez copiado el sistema base (via ftp si es necesario) todo se gestiona a través de la web de administración del sitio.
- Una vez instalado el sistema base, los plugins o añadidos se cargan y se desintalan desde el entorno web. De hecho, se puede indicar la ubicación del fichero a subir desde nuestro propio disco duro o desde la url de mismo.
- Al igual que ocurría en Typo3, se puede configurar el sitio para que vigile un repositorio y gestione las actualizaciones de seguridad o simplemente la aparición de nuevas versiones de los plugins instalados.
- Por supuesto, el aspecto visual es a base de plantillas intercambiables y los idiomas tambien son «enchufables»
- Presenta (como plugin absolutamente recomendable) un navegador de directorios y editor. Que permite editar, si fuera necesario y desde la web, todos los ficheros php o de configuración o de datos del sistema
- Respecto a la base de datos que no es base de datos ;-) presenta un apartado donde lanzar consultas sql a la misma y un sistema de backups y restauración remota
Respecto a la organización en la zona de administración, la información está bastante ordenada. Tenemos:
- Menú de configuración de la web, dirección, idioma, plantilla gráfica, usuarios...
- Menú de gestión de menús.
- Menú de contenidos. En los que se configuran las entradas de la noticias y sus categorías
- Menú de componentes. Cada add-on tiene aquí su apartado de configuración y de generación de contenidos
- Menú de módulos.
- Menús de utilidades para la base de datos y bots
Voy a hacer la distinción entre contenido, módulo y bot que quizás es lo que más trabajo me ha costado entender. (Hay ramificaciones que aun se me escapan, aviso por si hay alguna imprecisión). El componente genera una página de información a partir de la base de datos. (el equivalente a un nodo en drupal). Es decir, que genera una zona visitable en la web con contenido especializado: por ejemplo, si existiese un apartado de críticas de libro donde apareciese una página con un libro, la foto de la portada y el comentario. Este sería gestionado desde un componente. El módulo hace referencia a un bloque en drupal y representa una información o contenido paralelo que muestra información simultánea como puede ser un las estadísticas de visitas de la web o un banner o el cuadro para hacer login en la página.
Un componente puede tener asociado uno o varios módulos; por ejemplo, una encuesta tiene el módulo que muestra la encuesta y luego al hacer click sobre los resultados es el componente el que muestra la página.
Por último, están los bots. Desconozco porqué se llaman así. Un bot permite modificar «la experiencia» del usuario en la página. No los he usado en esta web; pero la sensación que me da es que los bots son una especie de greasemonkey ya incorporado al propio sistema. Así que si se quiere alterar el comportamiento del sistema puede ser filtrado por un bot. Un bot que he visto proporciona enlaces de «Anterior» y «Siguiente» a la página que se está viendo y enlaza con otras páginas del sistema.
Presente y Futuro de Limbo
En la actualidad y desde hace un mes al menos la página oficial de Limbo está offline. La referencia más buena que he encontrado de documentación y añadidos está en limbo portal. En algunos foros se habla de cierta vulnerabilidad pero según yo he encontrado, está parcheada en la última versión disponible. Limbo portal no publica ninguna noticia desde marzo de este año. Pero en ninguna parte he visto ningún anuncio de que se haya decidido descontinuar este proyecto. No deja de tener un futuro incierto.
Suficiente. Por mi parte, y tras haber ganado el concurso, se muestra como uno puede ganar dinero con el Software Libre. No desarrollando desde cero una nueva solución y entregando el código y las modificaciones hecha para el proyecto.
¡Cerveza virtual para todos! (esta la pago yo) :-)