Primeros pasos del dinaCMS

menu-panel-gestion-web-fotografoLo primero que analizamos fue los diferentes tipos de información que un fotógrafo necesita gestionar en su web:

Opciones de menú para organizar la información, galerías y álbumes, imágenes, textos, comentarios, etc.

Estudiando las estructuras de otros gestores de contenidos, vimos que lo mejor sería tener una única tabla principal de contenido, donde cada tipo de contenido se identificaría por una columna cuyo valor identifica lo guardado en esa fila: post, gallery, menu, page, img, etc. También vimos que teníamos que mantener una estructura jerárquica, poder indicar de cada contenido cual es su superior. Luego otras tablas ayudarían a almacenar el resto de datos.

Inicialmente se empezó a desarrollar internamente, sin utilizar ningún framework. Al poco tiempo estuve mirando de utilizar alguno de los existentes entonces, como Kohana, Symfony. Pero, he de reconocerlo, uno me asustó por su complejidad, y otro no hacía, o no supe encontrar cómo, algunas de las funcionalidades que queríamos. Seguramente no fue una buena decisión no basarnos en un framework estándar. Si lo tuviera que hacer ahora seguro que utilizaría alguno de los que hay, posiblemente sería Laravel, cosa que seguro que utilizaremos si se decide empezar de cero, o si se decide iniciar algún proyecto nuevo.

Otra idea que encontramos interesante fue hacer un sistema de themes, de forma que una misma base pudiera tener diferentes frontend. Ahora eso no parece nada del otro mundo, claro, pero en su momento fue para nosotros un buen descubrimiento.

Estuvimos mirando sistemas de templates para PHP, al final optamos por hacer los themes con PHP, ya que los motores de templates que encontramos no tenían el rendimiento o las funcionalidades de los que hay hoy en día. Aunque hubo uno que estuvo  punto de ser utilizado: RainTPL

Evidentemente la primera versión del sistema fue muy básica, de hecho nunca la utilizamos en una web de ningún cliente, solo internamente para pruebas, y desarrollo. Para aprender y desarrollar los diseños (themes).

La versión que publicamos, que relataré en la próxima entrega, era un sistema mono web, mono dominio… pero eso lo contaré pronto.