Creando un CMS (I)

Aprovechando estos días de vacaciones intentaré mejorar el gestor de contenidos -rCMS- de este sitio de forma radical. Después de haber cacharreado con CakePHP y otros frameworks similares he decidido seguir con un método de programación más tradicional -como los hombres-.

Debo admitir que ya tenía una versión preparada que tiraba de una especie de framework hecho a medida, pero con demasiadas clases, instancias y requires que no creo necesarios para un simple blog.

Además de eso hay otros dos factores más que me han llevado a tal decisión: el código, por el momento, solo lo estoy tocando yo y, por otro lado MarcosBL me ha enseñado varios ejemplos que podrían pasar por lo que estoy buscando. [@MORE@]

Manos a la obra

Como hacer un CMS partiendo de un folio en blanco es tarea complicada, intentaré en esta primera entrega crear una estructura más o menos ordenada de lo que sería el esqueleto de la aplicación teniendo en cuenta factores como la alta disponibilidad del mismo y la sobre-optimización de recursos del lado del servidor.

Estructura de archivos y directorios

Estas primeras decisiones son básicamente de nomenclatura, con lo que tampoco es nada crucial para el funcionamiento de la aplicación. Ahí va el primer skel público:
  • htdocs/
    • _img/
    • _js/
    • _themes/
      • default/
      • mobile/
    • app/
      • langs/
      • models/
      • views/
      • controllers/
      • config.php
      • dispatcher.php
      • init.php
      • routes.php
    • core/
      • functions/
      • libraries/
Todos los directorios que empiezan por _ (guión bajo) guardan en su interior contenido estático legible por cualquier visitante. El directorio app/ guarda el bruto de la aplicación con sus modelos, controladores, vistas, idiomas y demás (configuración, despachador, mapeo de rutas...). Mientras que el directorio core/ guarda código reusable entre proyectos como pueden ser funciones de acceso a la base de datos, paginadores, generador de thumbs...

Step 1, done!

Como ya es tarde y esto irá por capítulos -espero no cansarme antes- dejaré abiertos los comentarios para todo aquel que quiera aportar sus 2 eurocents. y tome parte -activa ó pasiva- en el transcurrir del proyecto. Así que no olviden vitaminarse y supermineralizarse.

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.
  • Si no he entendido mal, ¿empiezas un nuevo rCMS desde cero?
  • Esa es la idea, organizar todo desde cero y de forma más ordenada, aunque hay mucha parte del código que es reusable (al menos en forma). A ver en que queda todo.
  • Muy buena iniciativa! Ánimo y continuidad, que seguro que tendrás muchos seguidores (yo seguro).
  • @r0sk Pues tengo en mente desarrollar un CMS propio. Y había pensado en pedirte el código para conocer un CMS \"casero\", y así orientarme en el proceso de creación del mío. Pero después de leer este post creo que estaré atento a nuevas actualizaciones y tomaré notas de las mismas, con tú permiso claro. Y como dice reidrac: ánimo.
  • Parece que todos nos ponemos de acuerdo. Yo también estoy creando un nuevo CMS, aunque este irá más orientado a hacer webs como roscas, con su zona de administración y plugins, aunque el mío será básico y simple en cuanto a programación.
  • Hola, Rosk, recuerdo tu paso por el mundo de CakePHP, se te extraña por aquellos pagos :) Me parece una interesante iniciativa, aunque por la estructura pareciera que estas haciendo mas un framework MVC que un CMS. Saludos, y a seguir leyendo como termina esto.
  • Sí, esto de rehacer el blog ocurre cada X tiempo, normalmente cuando te das cuenta de que lo que tienes ya no te gusta del todo xD Curioso que yo también tengo un directorio core/ en mi nueva versión. Y rwx, sí, estese atento porque seguro que aprende cosas interesantes aquí.
  • Yo me apunto desde ya!!! :)
  • Yo tambien estaba pensando en crear mi propio cms, pero no sabia como empezar a hacerlo siguiento el modelo mvc sin seguir ningun framework; Asi que me tendras por aqui amenudo.
  • Pues yo acabo de publicar mi blog programado en PHP por mi. Intenté hacerlo usando el MVC pero no encontré manuales en condiciones. Te seguiré a ver si puedo adaptarlo, porque pinta interesante.
  • yo hace algunos meses termine un cms sin base de datos que es el que uso en el sitio web y funciona muy bien estoy escribiendo como hacer uno de manera simple, aunque estoy terminando un cms real con base de datos olap
  • Hola, Que buen emprendimiento. Me gustaría saber si puedes oreintar el CMS como esos de subastas por centavos que están en buen crecimiento como lokuaz.com, wappox.com etc. tienen un backend y el propio front end.Saludos.--
blog comments powered by Disqus