sábado, 5 de octubre de 2013

Creando mi propio sistema de blogs (o CMS)

Como ya sabéis algunas personas y ya he comentado alguna vez en alguna entrada, desde hace un tiempo estoy currándome mi propio sistema de blogs o 'CMS' (Gestor de Contenidos) desarrolando todo el código desde cero. Un trabajo que sigo sólo a ratos, y que no ha avanzado tan rápido como podría si le dedicase mucho más tiempo y más intensamente, pero del que sigo avanzando cosas de vez en cuando.

Con este sistema de blogs propio no pretendo hacer algo realmente grande, ni mucho menos competirr con ningún otro CMS ni nada parecido. Cuando uno lleva varios años usando un sistema ya prefabricado, modificando cosas internas y añadiendo otras, suele ocurrir que con el tiempo se te haga "pequeño". No porque sea un proyecto pequeño o puedas hacer algo mejor, sino porque tus habilidades como desarrollador han ido mejorando con el tiempo y notas que pierdes más tiempo intentando entender el código de otro sistema del que tardarías haciendo algo tú mismo desde cero. Cuando decides hacer algo totalmente propio empezándolo desde cero nadie mejor que tú entiende tu propio código, y te sientes más libre y cómodo a la hora de mejorar, corregir y cambiar cosas en tu proyecto.

Y eso es lo que me ha ocurrido tras tantos años utilizando blogs basados en WordPress.org, como Metal-Libre.org y este mismo blog antes de mudarse a Blogger. No soy precisamente un gran desarrollador, pero creo que ya tengo conocimientos suficientes para un proyecto de semejante envergadura. Y hacerlo todo desde cero me permitirá entender mejor mi propio código y tener mucha más comodidad a la hora de hacer todo tipo de cambios y mejoras, como comenté en el anterior párrafo.


Algunas de las funciones más básicas de todo blog ya están hechas, como la publicación de entradas y los comentarios. Pero aún falta mucho trabajo. Como decía antes, no pretendo hacer algo grande ni equiparable a grandes sistemas como el mismísimo WordPress. Sólo pretendo crear algo básico que cubra las necesidades de mis propios proyectos web. Una vez terminada la primera versión estable el blog Metal-Libre.org será mudado y adaptado a este sistema, y puede que también este mismo blog que estás leyendo ahora.

Y por supuesto, todo el código de este sistema de blogs será compartido libremente, supongo bajo una licencia GPL como Richard Stallman manda. Y cualquiera podrá usarlo para sus propios proyectos, además de modificar cosas a su antojo y, si alguien quiere, también aportar cualquier tipo de mejora.

Os dejo un par de capturas de pantalla provisionales y la lista provisional con los pasos ya implementados (pocas cosas) y lo que falta por hacer (casi todo el proceso).

Funciones ya implementadas:

  • Publicación de entradas
  • Categorías / etiquetas
  • Comentarios (con [gr]avatar, y anidados al responder a otro comentario)
  • Widgets en la barra lateral
  • Themes / plantillas
  • Feeds (fuente de noticias) en formato RSS y ATOM


Lo que falta por hacer:

  • Algunas partes del panel de administración y edición
  • Panel de instalación
  • Más personalización para los themes / plantillas
  • Más widgets básicos (y más personalizables)
  • Un filtro antispam para los comentarios (tal vez basado en Akismet)
  • Metadatos / variables personalizables para cada entrada o página
  • Importación desde copias de seguridad de otros sistemas como WordPress y Blogger (y exportación)
  • Plugins / extensiones
  • Páginas / pestañas
  • Arreglar el código para que resulte lo más legible posible y añadir algunos comentarios más
  • Ordenar bien los archivos y carpetas de la manera más intuitiva posible
  • Comprobaciones de seguridad (se necesitarán hackers)
  • Un montón de cosas más
Y por último, como curiosidad para reírse un rato, os dejo una captura de pantalla de los comentarios cuando estuve haciendo las pruebas de seguridad. ¿A que mola este ciber-teatro? :P