En el mercado existen soluciones de software para casi todo. En concreto para la gestión de contenidos hay algunos muy extendidos, hasta tal punto que muchos de los sitios web por los que solemos navegar esconden detrás un CMS. Existen algunos especializados en el sector editorial, otros en sector audiovisual, también hay CMS para bloggers, o para anuncios de clasificados, etc.
En este trabajo, intentaré probar si un software hecho a medida hecho desde abajo, puede tener ventajas arquitectónicas como las tienen los CMS más destacados del mercado.
El número de funcionalidades de la aplicación estará muy limitado, la cantidad de componentes o módulos implementados será pequeña, así como funciones de la aplicación.
Este nuevo componente se realizará sobre la estructura básica del framework, que ya incluye un login, sistema de mensajes (alertify), gestión de media (js y css), ayuda en formularios, gestor de menú, etc. Le permitirá agregar, editar y eliminar noticias en el sistema.
Como se dijo antes, partiré de la aplicación en lenguaje Php del patrón MVC propuesta por Jaisiel Delance, cuya estructura se resume en el siguiente diagrama:
La idea de poder combinar la potencia de los grandes CMS con la de los grandes editores HTML, es sin duda un gran reto. WYSIWYG por sus siglás en inglés lo que ves es lo que tienes, what you see is what you get, es mucho más que un acrónimo, supone un objetivo de performance para el usuario muy importante. Permite que los usuarios se adapten de manera intuitiva y segura con el sistema.
En el front, se empleará el uso de módulos para presentar unidades de información asociadas o no a un componente, y se usarán las páginas como contenedores de éstos.
Todo empezó por una idea, el patrón MVC. He conocido decenas de códigos Open Source, y siempre me ha llamado mucho la atención la manera en que estructuran sus archivos, como llaman a los métodos, como organizan sus variables, etc. Si algo detestaba siempre era el afrontar un nuevo proyecto de código desconocido, y el árduo camino que era necesario recorrer hasta desentrañar sus misterios y hacerse con el código.
¿Qué software debe usar como base un productor de software de sistemas web en sus proyectos?
¿Es correcto hacer un sistema a medida en lugar de tomar uno del mercado?
¿Un único sistema puede ser la base de casi todos los proyectos web de un productor de software?
Un sistema de gestión de contenidos (Content Managment Systems) es un software que se utilizar para el almacenamiento, edición y publicación de información, normalmente son aplicaciones web, aunque pudiera usarse en una intranet igualmente.
El back será la parte más robusta del sistema. No importa si carga muchas librerías, archivos, etc. Se sobreentiende que la frecuencia de cambio del contenido es mucho menor que la frecuencia de acceso al mismo (consultar Anexo, ‘Relativización de los contenidos dinámicos’).
Hasta aquí todo bien con las páginas, pero pudiera darse el caso que necesitemos acceder algunos servicios que ofrece la web y que no tendría sentido adaptarlos en páginas. Por ejemplo un Web Service, o un controlador que atienda peticiones ajax, etc.
Por trabajar solo y no en equipo, he podido ahorrar mucho tiempo en la comunicación con diagramas e información del sistema, puesta en común, etc. En grandes organizaciones, el uso de herramientas de modelado UML, o la producción bajo el concepto RUP, se vuelve imprescindible, ya que en la práctica a veces el programador no tiene ni idea de para qué programa.