Fieles a nuestro objetivo de compartir experiencias, mostramos un ejemplo de cómo construir un sistema de publicación de contenidos web mediante la visita al backend de alzado.
El origen de Alzado está en una entrevista realizada por César Martín a través de Messenger y desde Nueva York para su retirado ThinkTank durante marzo de 2003.
La entrevista versaba sobre Gestores de Contenido, tomando como ejemplo el sistema que en mis ratos libres había desarrollado para grancomo.com, mi "residencia de invierno".
La idea de crear Alzado nace en octubre del año 2002 a propuesta de Eduardo Manchón tras leer el artículo. El objetivo, publicar de forma centralizada en un sólo sitio web creando un gran repositorio de contenidos en castellano acerca de diseño y desarrollo web usable utilizando una herramienta de publicación web.
Eduardo y César pondrían sus artículos de Ainda.info y Thinktank, y yo, mas entretenido en la vertiente de programador, la tecnología y mis abandonados contenidos de grancomo.
La herramienta, permitiría a César desde Nueva York, a Eduardo desde Barcelona y a mí desde Madrid tanto comunicarnos como hacer de publicadores y editores simultáneamente así como incorporar a futuros colaboradores y facilitarles la publicación de contenidos.
Grancomo
Grancomo es el "padre tecnológico" de Alzado. Éste utiliza el sistema de administración de contenidos que se desarrolló en el verano de 2002 para grancomo con varias mejoras. (Actualmente se está acometiendo una nueva fase de optimización del sistema).
El sistema, está compuesto por un sencillo panel accesible desde un navegador web mediante nombre de usuario y contraseña que funciona sobre una plataforma Open Source basada en Linux, Apache, MySQL y PHP (LAMP).
Aunque el desarrollo lo hago en un servidor Apache instalado sobre un Windows 98. :-O
El sistema no es una bitácora y no está alimentada por MovableType, Bitako, Grey Matter, Blogger o productos similares que admiro. El desarrollo es completamente propietario hecho desde cero con el objetivo de divertirme en mis ratos libres.
Estado actual
Alzado sale a internet en febrero de 2003, tras un mes y medio de desarrollo hecho entre Nueva York, Barcelona y Madrid. En este tiempo, la coordinación se hace exclusivamente a través de Messenger y email (cuando el horario de Nueva York no permitía coordinarse con César).
De hecho, la comunicación ha sido tan buena, que los tres fundadores sólo hemos coincidido físicamente dos veces.
Durante el año 2002, obtuvo un promedio de 1100 visitas únicas diarias, con bajadas en los fines de semana.
Qué permite alzado
Básicamente sus funciones son crear, almacenar, editar y publicar contenidos basándonos en un flujo propio desarrollado según nuestras necesidades personales.
Hay "Best Practices", caprichosas, que no podrán ser extrapoladas a otros sistemas. Por ejemplo, las búsqedas de artículo por identificador, no es algo usual entre usuarios de gestores de contenidos. En nuestro caso, y para sorpresa, es nuestra forma más habitual de localizar un contenido.
No es propiamente un gestor de contenidos en su acepción más amplia ya que le faltan características clave como apoyarse en XML, gestión de plantillas...
Una cosa que sí permite es regenerar el sitio completo en html estático, por si hubiera problemas de conexión a la base de datos. Actualmente, esto no es necesario por lo que todos los contenidos se presentan a partir de la base de datos.
Perfiles
Por la peculiaridad de nuestra manera de trabajar, el sistema de publicación de Alzado está hecho a capricho. Tanto que los roles no tienen los nombres típicos en cualquier sistema de gestión de contenido. (Editor, Publicador, Revisor...).
Administrador: es quien controla el correcto funcionamiento del sitio. (Altas de usuarios, permisos, categorías...).
Fundador: Los 3 fundadores tienen acceso total a los contenidos, pudiendo convertirse unos en editores de otros si es necesario, por ejemplo para corregir erratas o los comentarios improcedentes de algunos usuarios.
Invitado: son usuarios que publican de forma delegada bajo invitación de un fundador. Pueden conectarse y enviar sus artículos para su edición.
Cada usuario tiene la posibilidad de administrar sus datos personales: tanto los de acceso como los de ficha y perfil profesional breve (característica muy utilizada para enviar mensajes a los lectores).
También tiene acceso a un sencillo sistema de seguimiento de uso de contenidos tanto de sus propios artículos como éstos en el contexto de loa totalidad de artículos de alzado.
Panel de inicio
Es el alma del sistema: desde aquí se presentan mensajes personalizados a los usuarios, desde memorandums, y mensajes, hasta tareas pendientes, como en el caso de la Agenda y los eventos enviados desde el formulario de Alta de Eventos que queden pendientes de validar.
También se puede ver qué artículos remitidos por otros autores están a punto de salir.
Arquitectura
Los contenidos se dividen en tantas secciones como tenga el sitio: agenda, artículos...
Se divide en formulario de alta y un formulario de edición de contenidos y elementos adjuntos (enlaces y comentarios relacionados).
Listado desde el que se puede realizar operativa como editar categorías, asignar autores, desactivar o eliminar artículos.
Los contenidos se almacenan en una base de datos MySQL y se reparten entre varias tablas. Por ejemplo, la tabla artículos está asociada con las tablas autores y categorías y tablas de contenidos complementarios como comentarios y enlaces.
Para mostrarlos se utilizan "querys" o consultas SQL que permite generar en el front diferentes vistas de los mismos contenidos: desde visión por Novedades, por Categorías o por artículos más activos.
Esas querys se ejecutan a través de scripts PHP que presentan los datos en archivos php generados dinámicamente en el servidor Linux.
Sindicación RSS
Alzado tiene varios suscriptores tanto desde aplicaciones RSS Desktop como desde otros sitios web que presentan sus contenidos como propios.
Por otro lado, para la generación del archivo RSS destinado a sindicación, se realiza a través de un proceso automatizado del servidor, cron, que se ejecuta una vez al día para mantener el archivo xml siempre actualizado.
En ocasiones, por interés o urgencia este archivo XML se genera de manera manual.
Alertas
El sistema permite a los usuarios públicos (lectores) suscribirse en relación a debates en torno a un artículo concreto, de este modo, cada vez que alguien añade un comentario a un artículo se genera un email para todos los usuarios interesados.
Además, los autores de alzado, reciben alertas cuando se producen eventos previamente identificados en el sitio, como comentarios.
Newsletters
La suscripción a la Newsletter es voluntaria y para evitar que alguien pueda suscribir o desuscribir a otras personas, hay un sistema de validación que mediante clave remitida al correo del usuario interesado solicita confirmación de la acción (confirmar alta o baja).
El boletín se genera a través de un formulario en el back, el que se incluye el contenido. Una vez procesado, un componente recorre la taba de suscriptores generando un email para cada usuario que aparezca como suscrito activo. (Este sistema permitía la personalización del email en grancomo, eligiendo el usuario el formato del contenido HTML o texto así como otras posibilidades).
Una vez generado un boletín, se guarda en una tabla de la base de datos como histórico.
Archivos
Los archivos, como imágenes, se suben y bajan a través del propio sistema a través de un sistema de web ftp basado en PHP. (Que hay que mejorar).
Alzado y su front
Alzado no utiliza tablas en su maquetación. El front está desarrollado con XHTML y CSS aunque aún le quedan unas "vueltas" para afinarlo.
Alzado, no usa XSL para formatear contenidos. Éstos se presentan a través de componentes separados de las plantillas finales que procesan las consultas y envían los contenidos a las plantillas finales que se encargan de su presentación.
Estos componentes pueden ser artículo y autor cada uno con sus atributos y sus consultas a diferentes tablas.
La tienda alzado: Web Services
La tienda alzado es el repositorio de los libros PDF alzado.
Además, permite la consulta de libros destacados en las materias que aborda Alzado en Amazon.com a través de un sistema de web services desarrollado con PHP.
El buscador de la tienda, ataca directamente a los sistemas de Amazon y presenta la información que la librería on line nos pasa desde sus servidores.
Algunas ideas de futuro
Muchas ideas, poco tiempo... usar XML y XSL en el back, lograr que valide correctamente el XHTML del front, hacer un workflow de publicación más "estándar", generar plantillas diferentes, creación de caché dinámica para los contenidos, exportar contenidos a PDF, reforzar la gestión de roles de usuario....
Conclusiones
Más de 1100 visitas al día de promedio y creciendo, hay mucho que hacer para mejorar el rendimiento, pero el sistema se ha rebelado como una manera sencilla, rápida y útil de comunicación entre tres personas distantes que viajan y el resto de colaboradores y una forma ágil de mantener funcionando una publicación on line.
La entrevista versaba sobre Gestores de Contenido, tomando como ejemplo el sistema que en mis ratos libres había desarrollado para grancomo.com, mi "residencia de invierno".
La idea de crear Alzado nace en octubre del año 2002 a propuesta de Eduardo Manchón tras leer el artículo. El objetivo, publicar de forma centralizada en un sólo sitio web creando un gran repositorio de contenidos en castellano acerca de diseño y desarrollo web usable utilizando una herramienta de publicación web.
Eduardo y César pondrían sus artículos de Ainda.info y Thinktank, y yo, mas entretenido en la vertiente de programador, la tecnología y mis abandonados contenidos de grancomo.
La herramienta, permitiría a César desde Nueva York, a Eduardo desde Barcelona y a mí desde Madrid tanto comunicarnos como hacer de publicadores y editores simultáneamente así como incorporar a futuros colaboradores y facilitarles la publicación de contenidos.
Grancomo
Grancomo es el "padre tecnológico" de Alzado. Éste utiliza el sistema de administración de contenidos que se desarrolló en el verano de 2002 para grancomo con varias mejoras. (Actualmente se está acometiendo una nueva fase de optimización del sistema).
El sistema, está compuesto por un sencillo panel accesible desde un navegador web mediante nombre de usuario y contraseña que funciona sobre una plataforma Open Source basada en Linux, Apache, MySQL y PHP (LAMP).
Aunque el desarrollo lo hago en un servidor Apache instalado sobre un Windows 98. :-O
El sistema no es una bitácora y no está alimentada por MovableType, Bitako, Grey Matter, Blogger o productos similares que admiro. El desarrollo es completamente propietario hecho desde cero con el objetivo de divertirme en mis ratos libres.
Estado actual
Alzado sale a internet en febrero de 2003, tras un mes y medio de desarrollo hecho entre Nueva York, Barcelona y Madrid. En este tiempo, la coordinación se hace exclusivamente a través de Messenger y email (cuando el horario de Nueva York no permitía coordinarse con César).
De hecho, la comunicación ha sido tan buena, que los tres fundadores sólo hemos coincidido físicamente dos veces.
Durante el año 2002, obtuvo un promedio de 1100 visitas únicas diarias, con bajadas en los fines de semana.
Qué permite alzado
Básicamente sus funciones son crear, almacenar, editar y publicar contenidos basándonos en un flujo propio desarrollado según nuestras necesidades personales.
Hay "Best Practices", caprichosas, que no podrán ser extrapoladas a otros sistemas. Por ejemplo, las búsqedas de artículo por identificador, no es algo usual entre usuarios de gestores de contenidos. En nuestro caso, y para sorpresa, es nuestra forma más habitual de localizar un contenido.
No es propiamente un gestor de contenidos en su acepción más amplia ya que le faltan características clave como apoyarse en XML, gestión de plantillas...
Una cosa que sí permite es regenerar el sitio completo en html estático, por si hubiera problemas de conexión a la base de datos. Actualmente, esto no es necesario por lo que todos los contenidos se presentan a partir de la base de datos.
Perfiles
Por la peculiaridad de nuestra manera de trabajar, el sistema de publicación de Alzado está hecho a capricho. Tanto que los roles no tienen los nombres típicos en cualquier sistema de gestión de contenido. (Editor, Publicador, Revisor...).
Administrador: es quien controla el correcto funcionamiento del sitio. (Altas de usuarios, permisos, categorías...).
Fundador: Los 3 fundadores tienen acceso total a los contenidos, pudiendo convertirse unos en editores de otros si es necesario, por ejemplo para corregir erratas o los comentarios improcedentes de algunos usuarios.
Invitado: son usuarios que publican de forma delegada bajo invitación de un fundador. Pueden conectarse y enviar sus artículos para su edición.
Cada usuario tiene la posibilidad de administrar sus datos personales: tanto los de acceso como los de ficha y perfil profesional breve (característica muy utilizada para enviar mensajes a los lectores).
También tiene acceso a un sencillo sistema de seguimiento de uso de contenidos tanto de sus propios artículos como éstos en el contexto de loa totalidad de artículos de alzado.
Panel de inicio
Es el alma del sistema: desde aquí se presentan mensajes personalizados a los usuarios, desde memorandums, y mensajes, hasta tareas pendientes, como en el caso de la Agenda y los eventos enviados desde el formulario de Alta de Eventos que queden pendientes de validar.
También se puede ver qué artículos remitidos por otros autores están a punto de salir.
Arquitectura
Los contenidos se dividen en tantas secciones como tenga el sitio: agenda, artículos...
Se divide en formulario de alta y un formulario de edición de contenidos y elementos adjuntos (enlaces y comentarios relacionados).
Listado desde el que se puede realizar operativa como editar categorías, asignar autores, desactivar o eliminar artículos.
Los contenidos se almacenan en una base de datos MySQL y se reparten entre varias tablas. Por ejemplo, la tabla artículos está asociada con las tablas autores y categorías y tablas de contenidos complementarios como comentarios y enlaces.
Para mostrarlos se utilizan "querys" o consultas SQL que permite generar en el front diferentes vistas de los mismos contenidos: desde visión por Novedades, por Categorías o por artículos más activos.
Esas querys se ejecutan a través de scripts PHP que presentan los datos en archivos php generados dinámicamente en el servidor Linux.
Sindicación RSS
Alzado tiene varios suscriptores tanto desde aplicaciones RSS Desktop como desde otros sitios web que presentan sus contenidos como propios.
Por otro lado, para la generación del archivo RSS destinado a sindicación, se realiza a través de un proceso automatizado del servidor, cron, que se ejecuta una vez al día para mantener el archivo xml siempre actualizado.
En ocasiones, por interés o urgencia este archivo XML se genera de manera manual.
Alertas
El sistema permite a los usuarios públicos (lectores) suscribirse en relación a debates en torno a un artículo concreto, de este modo, cada vez que alguien añade un comentario a un artículo se genera un email para todos los usuarios interesados.
Además, los autores de alzado, reciben alertas cuando se producen eventos previamente identificados en el sitio, como comentarios.
Newsletters
La suscripción a la Newsletter es voluntaria y para evitar que alguien pueda suscribir o desuscribir a otras personas, hay un sistema de validación que mediante clave remitida al correo del usuario interesado solicita confirmación de la acción (confirmar alta o baja).
El boletín se genera a través de un formulario en el back, el que se incluye el contenido. Una vez procesado, un componente recorre la taba de suscriptores generando un email para cada usuario que aparezca como suscrito activo. (Este sistema permitía la personalización del email en grancomo, eligiendo el usuario el formato del contenido HTML o texto así como otras posibilidades).
Una vez generado un boletín, se guarda en una tabla de la base de datos como histórico.
Archivos
Los archivos, como imágenes, se suben y bajan a través del propio sistema a través de un sistema de web ftp basado en PHP. (Que hay que mejorar).
Alzado y su front
Alzado no utiliza tablas en su maquetación. El front está desarrollado con XHTML y CSS aunque aún le quedan unas "vueltas" para afinarlo.
Alzado, no usa XSL para formatear contenidos. Éstos se presentan a través de componentes separados de las plantillas finales que procesan las consultas y envían los contenidos a las plantillas finales que se encargan de su presentación.
Estos componentes pueden ser artículo y autor cada uno con sus atributos y sus consultas a diferentes tablas.
La tienda alzado: Web Services
La tienda alzado es el repositorio de los libros PDF alzado.
Además, permite la consulta de libros destacados en las materias que aborda Alzado en Amazon.com a través de un sistema de web services desarrollado con PHP.
El buscador de la tienda, ataca directamente a los sistemas de Amazon y presenta la información que la librería on line nos pasa desde sus servidores.
Algunas ideas de futuro
Muchas ideas, poco tiempo... usar XML y XSL en el back, lograr que valide correctamente el XHTML del front, hacer un workflow de publicación más "estándar", generar plantillas diferentes, creación de caché dinámica para los contenidos, exportar contenidos a PDF, reforzar la gestión de roles de usuario....
Conclusiones
Más de 1100 visitas al día de promedio y creciendo, hay mucho que hacer para mejorar el rendimiento, pero el sistema se ha rebelado como una manera sencilla, rápida y útil de comunicación entre tres personas distantes que viajan y el resto de colaboradores y una forma ágil de mantener funcionando una publicación on line.
Luis Villa