Modularidad, soporte multilingüe, portabilidad
Varios de los sistemas de administración de contenidos (CMS) utilizan una estructura de unas cuantas capas, en la que los datos son tomados de la base de datos y conforme son recuperados son desplegados en pantalla, muchas veces incluyendo un estilo predefinido. En sistemas más robustos, esto se ha eliminado, pero el código o representación visual se vuelve ahora el reto, lo que hace que en algunos casos los cambios y modificaciones especiales resulten en una inversión de tiempo y esfuerzo adicional.
El objetivo del sistema es estar organizado de manera modular, donde cada una de las capas es totalmente identificable en cuanto a localización, función y requerimientos, la cual debe entregar la información completa y confiable a los módulos superiores, a fin de que puedan ser transformados por estos sin necesidad de hacer validaciones cruzadas.
Este tipo de estructura permite intercambiar
elementos sin requerir cambiar todo el sistema. Así, si deseas utilizar una base de datos distinta a
MySql como MariaDB
basta con sustituir los módulos de base de datos (obj_db) por el correspondiente; si en lugar de utilizar
jQuery como el framework para javascript prefieres
AngularJS, Dojo,
GWT o MooTools
basta con indicarlo en la configuración del sistema (admin panel > config).
en el caso de diseño responsivo sucede algo similar, tal vez no te sientas cómodo con el actual sistema que realicé pues tienes una
mayor experiencia en otros, puedes cambiar la configuración (admin panel > config) y reemplazar la carga de los CSS
por Bootstrap,
Foundation o algún otro; pasa lo mismo con los scripts,
puedes sustituir los archivos actuales realizados en Perl por
Ruby, Java
o Phyton.
A estas características modulares se agrega a que el sistema también fué pensado desde sus inicios para soportar Unicode a la vez de ocuparse (porque preocuparse no sirve de nada) en elementos de diseño para hacerlo igualmente agradable en la apariencia resultante de lo que ve el usuario, así como lo que ocurre detrás de código.
Otras características
Además de lo anterior, he agregado pequeñas rutinas para el debugueo de datos que permiten detectar problemas y hacer correcciones rápidas sin necesidad de buscar agujas en el pajar, así como elementos de seguridad tanto en programación como en diseño de la base de datos, parámetros y otros elementos.
En el paso de parámetros está la eliminación de caracteres de control en peticiones de usuario (excepto en el envío de datos a script) a fin de evitar ataques XSS, la creación de paneles de control independientes para usuario y administrador, lo cual se conjunta con la descripción de acciones y validación para cada uno de los servicios. En el aspecto de archivos y código fuente, se ha seguido una nomenclatura basada en la notación húngara y una estructura de archivos lo más clara, corta y portable posible; así como variables que permiten realizar acciones de depuración de errores en tiempo real.
Le invito a conocer un poco más acerca del sistema en estas páginas o en la documentación correspondiente, o si así lo desea igualmente la historia detrás de el.