• Add to Collection
  • About

    About

    CodeCMS es un Framework basado en Php, para la creación rápida de sitios web e incorpora además una serie de componentes básicos que hace de el u… Read More
    CodeCMS es un Framework basado en Php, para la creación rápida de sitios web e incorpora además una serie de componentes básicos que hace de el un pequeño CMS. CodeCMS, se adapta a los dispositivos móviles, es ligero y rápido. Incorpora las herramientas necesarias para hacerlo multi idioma y dispone de un pontente gestor de contenidos. Internectia.com está creado con este framework. Read Less
    Published:
CodeCMS es un Framework basado en Php, para la creación rápida de sitios web e incorpora además una serie de componentes básicos que hace de el un pequeño CMS.
CodeCMS, se adapta a los dispositivos móviles, es ligero y rápido. Incorpora las herramientas necesarias para hacerlo multi idioma y dispone de un pontente gestor de contenidos.
Internectia.com está creado con este framework.
 
CodeCMS es un framework sencillo, pero efectivo. Cuenta con las herramientas necesarias básicas para no perder tiempo en las tareas habituales; como la creación de menús, la carga y procesamiento de imágenes, la gestión de url's, varios sistemas de caché, una potente gestión de la base de datos.
 
CodeCMS está programado en PHP, HTML5, CSS3, JAVASCRIPT y MySQL. Sigue el patrón MVC (modelo, vista, controlador, está estructurado de una manera muy clara, basada en bundles, dispone de su propio sistema de enrutamiento, caché, log. Emplea el sistema de plantillas Twig y Less para trabajar con las hojas de estilos de una manera más avanzada.
De manera nativa dispone de varias funciones habituales; generación de url's, renderizado en Twig similar al clásico Include de PHP, detección de dispositivos móviles.
 
CodeCMS lo he ido desarrollado durante años y sigue en permanente actualización.
Gestor de entradas del blog
El siguiente pantallazo muestra una parte del gestor de entradas del blog.
A la izquierda un menú generado desde el gestor de categorías, que permite crear menús de diferentes tipos o cualquier otra estructura similar a un índice de categorías.
Este gestor en concreto, dispone de un cargador de imágenes en HTML5, que permite la carga multiple de archivos, además procesa las imágenes para crear diferentes copias a distintos tamaños.
Dispone de un gestor de comentarios relacionados con la entrada, un gestor de etiquetas y categorías. Las categorías evidentemente creadas desde el gestor de categorías.
Dispone además de una potente extensión para vincular otros artículos, bien sea por tag, categoría o vinculación directa.
En esta captura el framework no está en modo multi idioma. En modo multi idioma el aspecto sería sensiblemente diferente.
Índice de entradas del blog
A continuación, listado con las opciones habituales para tratar registros de una base de datos, con la posibilidad de ordenar, editar 'in situ', eliminar, editar, filtrar, buscar, exportar...
La creación de un listado de este tipo gracias al framework, es terriblemente sencilla.
El gestor de categorías
Permite crear tantos menús como queramos o sencillamente grupos de categorías.
En Internectia.com, he usado el gestor de categorías para crear el menú principal, el menú del backend, el grupo de categorías para el blog, el grupo de categorías para los diferentes sliders y un grupo de categorías especial para catalogar las imágenes.
Dentro del grupo -Imágenes- una de las categorías es logo, lo que permite gestionar el logo de una manera muy sencilla y eficaz...
La edición de una categoría permite diferentes opciones, como indicar el nivel de acceso según el rol de usuario o determinar en qué páginas aparecerá la opción. Es habitual ocultar opciones de un menú cuando un usuario ha iniciado sesión o cuando no queremos con un usuario sin suficiente provilegios pueda acceder a una sección. Por supuesto, además de ocultar la pestaña del menú, el apartado es innacesible ya que intervienen en este punto los roles de usuario para el acceso a determinadas secciones.
Configuración
Como administrador y en fase de desarrollo, es la parte más usada del backend, ya que permite definir aspectos básicos del funcionamiento del framework.
Inicialmente CodeCMS disponía de dos estados bien diferenciados, un entorno de desarrollo y otro de producción, pero no me resultaba muy práctico, por lo que decidí que un entorno u otro estaría vinculado al tipo de usuario. En CodeCMS podemos indicar en cualquier momento el tipo de usuario, si va a iniciar sesión en entorno de pruebas o no, además podemos forzar el entorno de pruebas sin iniciar sesión e incluso desde este mismo gestor de configuración, establecer opciones similares tanto para el modo desarrollo como producción.
Desde este gestor podemos definir los aspectos principales del gestor, como activar o desactivar módulos, que yo he llamado bundles (realmente guarda alguna similitudes con Symfony2, framework del cual me basé en algunos aspectos). También se pueden forzar tareas como la recompilación del código CSS, el código Javascript, los idiomas.
CodeCMS trabaja con tantos archivos CSS como queramos, pero en modo producción sólo trabaja con uno. En modo producción no sólo compila los archivos programados en Less a CSS, sino que también une y minifica en un sólo archivo todas las hojas de estilos.
Aspectos como este, fueron los que más me motivaron a desarrollar mi propio framework, la posibilidad de tener el control total y de hacer cosas que sé que funcionan.
Gestor de imágenes
Otro gestor más, ¿pero no es acaso otro gestor imprescindible?
Desde este punto se pueden gestionar las imágenes subidas desde cualquier módulo, como el blog, o se pueden cargar imágenes y asociarlas a cualquier categoría, categoría que pertenece al grupo -Imágenes- que comenté anteriormente.
Desde este gestor podemos cambiar el nombre de la imagen, la descripción, el nombre físico de la imagen, redimensionarla, eliminarla, visualizar los diferentes tamaños disponibles, etc.
Información básica
Desde que comencé a programar CodeCMS, ha pasado mucho tiempo y ha ido creciendo poco a poco y tal vez complicándose. No era mi intención, porque uno de mis intereses era disponer de un framework que fuera fácil e intuitivo, que aún después de varios meses de no tocar un proyecto, fuera casi inmediata la familiarización nuevamente.
En alguna ocasión desarrollé algunos apartados tan potentes y tan complejos al mismo tiempo, que los tuve que abandonar para buscar solucines más intuitivas, pero igualmente efectivas. Esto me pasó con el sistema que gestiona las traducciones dinámicas del site (las almacenadas en base de datos), el sistema de traducciones para textos estáticos también me dió bastantes quebraderos de cabeza, opté primeramente por algo similar a lo que hace Wordpress, pero no me convenció y pasé a un sistema para mi más efectivo.
Pues este apartado lo que tiene al fin y al cabo es un montón de información útil de cara al desarrollo, con multitud de referencias a los métodos de las diferentes clases, porciones de código para hacer cosas habituales como imprimir en pantalla un recurso, widgets varios, información de la nomenclatura, etc... nada que no vaya bien para no tener que rebuscar dentro del código que siempre es más tedioso.
Es cierto que la tendencia de este framework que nació con la intención de facilitarme la vida, adquirió cierto caracter CMS por la necesidades de los clientes a los cuales les programaba la web y luego tenían que hacerse cargo ellos mismos o sus webmasters del site. Por ello enfoco el backend de manera un poco más intuitiva e intento que 'cualquiera' lo pueda entender, pero ni mucho menos es un wordpress ni nada parecido.. no están controladas todas las opciones deseadas ni excepciones posibles y por supuesto tiene muchos bugs, pero para eso estoy ahí, para ir solucionándolo.
No obstante, ello no quita que intente ofrecer un producto casi autogestionable al 100% por el cliente sin aún tener conocimientos en programación.
Gestor de usuarios
El gestor de usuario cumple sus funciones básicas y forma parte de un Bundle muy completo que permite el registro, el login, la recuperación de datos de acceso, la validación de cuenta por email, entre otras.
Un usuario registrado tiene un rol con una serie de privilegios y dispone de una perfil donde puede editar las opciones principales del usuario.
Actualmente existen tres roles diferentes, desde usuario básico, pasando por administrador hasta llegar a superadministrador, que dispone del control total del framework.
En el pantallazo que aparecer a continuación podemos ver el gesto de usuarios que dispone el usuario superadministrador y permite editar todos los datos de un usuario.
Internectia.com
Es uno más de los diferente sitios que he programado con CodeCMS y donde puedes navegar por él para ver algunas de las cosas que permite hacer el framework de manera ágil.
Conclusión
CodeCMS es un framework en PHP que tiene el objetivo de definir una base de trabajo bien estructurada, ágil, efectiva, ofreciendo unos resultado excelentes.
Desde el equipo de Internectia y yo personalmente, hemos podido comprobar su efectividad en sitios con grandes volúmenes de tráfico y alta demanda de recursos.
CodeCMS es un framework que trabaja bien incluso en sitios con tráfico moderado, pero con pocos recursos de hardware. Como suele ser esta la opción más habitual, me centré en optimizar al máximo el desarrollo y ofrecer un rendimiento óptimo cuando la potencia del servidor en pobre.
 
CodeCMS es un framework que uso como freelance y colaborador en Internectia para casi todos los proyectos que hago y creo que es de lo mejor que he llegado a hacer, por ello es mi proyecto estrella.
 
Si llegaste hasta aquí y estas interesado en interactuar conmigo, o en que comparta el framework contigo, estás interesado en que te de algunos consejos o estás interesado en que colabore contigo, no dudes en contactarme.