Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2009, 17:15
Javatillo
 
Fecha de Ingreso: septiembre-2009
Mensajes: 13
Antigüedad: 15 años, 4 meses
Puntos: 0
Creación de un Nuevo CMS

Investigando en la Web sobre los CMS, descubri que todavía no hay uno que satisfasga mis necesidades o mejor dicho mis expectativas. La busqueda me llevo a analisis e instalación de: Joomla, Magnolia, OpenCMS, Drupal (este lo descargé pero no llegue a instalarlo), y en este último tuve una epifanía, ¿Que tal si desarrollo un CMS?... Que idea tan descabellada se me ocurrio!!!.

Indagando un poco más las caraterísticas de lo que debería ser un CMS, he llegado a la conclusión de que podría desarrollar uno. Claro está, que voy a necesitar un poco de tiempo, pero resulta que dentro de 1 año (si Dios asi lo permite) voy a tener que realizar una tesis para mi licenciatura y para entonces pienso que el CMS va ha estar bastante avanzado.

Y ahora por ende estoy decidido ha realizar este CMS. Y en el futuro me gustaría que se distribuya como un Open Source, aunque no tengo la mínima idea de como hacer eso.

En fin, estoy en camino a realizarlo. Y dentro de en 1 mes estaré enpezando con el código, pero para emplezar los objetivost tienen que estar sólidos y bien definidos.

Y por todas esta razones quiero que critiquen este bosquejo para ir mejorandolo poco a poco, y si gustan ser parte del proyecto, pues sean bienvenidos.

Gracias de antemano por sus comentarios.

OverFlow CMS tendrá las siguientes características:

- Modelado en UML.
- Escalable.
- Fácil de administrar.
- Portable.

OverFlow CMS tendrá varias característica que se diferenciarán de la mayoría de los CMS. Entre las más importantes tenemos : la Administracion Desktop, agregar funcionalidades extras sin crear un pluggin, flexibilidad y fácil manejo de los BackUps, manejar desde la base datos la apariencia visual del sitio web.

OverFlow CMS está dividido en 4 grandes bloques:

1.- Administración Desktop
Esta será la parte más notable del CMS, estará basado en una aplicación Java, la razón es por su capacidad de ejecutarse en la mayoría de los Sistemas Operativos en el mercado actual.
Se podría decir de que la mayoría de los gestores de contenidos están administrados desde una consola web, yo creo que la razón es por la portabilidad de la misma, ya que pueden estar en cualquier sistema operativo con cualquier servidor web.
Una de las desventajas de estas consolas web, es que comparten y consumen recursos del mismo sitio web que se desea implementar.
En esta aplicación Java, se quiere incorporar todas las herramientas que un CMS debería tener y más, gracias al aumento de recursos que se pueda obtener.
El administrador Desktop tiene los siguientes modulos:
a. BackUps. El sistema de backUps será un poderoso módulo, ya que en este se basará el éxito final del sitio web.
Así mismo consta de 3 submódulos:
i. Respaldos. Los respaldos o BackUps propia mente dichos, serán hechos en base a: Mascaras ( Skins ), Contenidos, datos Personalizados. Se podrá combinar los tres sin orden explicito.
ii. Bitácora. Cuando se haga cambios en la base de datos, estos se guardarán en forma de logs , los cuales estarán ordenados según su creación (esto para cuando las fechas no coincidan) y el tipo (Mascaras, Contenidos o Datos personalizados), serán marcados por cada inicio de sesión del administrador.
iii. SnapShots. Es una forma automática de ordenar la bitácora, tendrá 2 formas de guardar los datos: la primera es el orden natural en que se va actualizando la base de datos separados por snapshots declarados por el administrador en forma secuencial, el segundo es agrupando los datos según el criterio del administrador, este es más flexible pero menos sistemático.
b. Máscaras (Skins). Está formado por diferentes códigos JavaScript y CSS guardados en la base de datos, para dar diferentes expresiones visuales al sitio web.

c. Contenidos. Están divididos en 2 módulos: estáticos y dinámicos.
Aunque se tengan 2 módulos, estos compartirán varias utilidades en común.
i. Estáticos. Contenidos planos y clásicos que se encuentran en los sitios web.
ii. Dinámicos (Ajax). Contenidos en el cual se necesita conocimientos avanzados de JavaScript y XML para su gestión.
d. Datos Personalizados. Una desventajas de los CMS tradicionales, es que para agregar funcionalidad extra con datos propios y “únicos” del sitio web que se desea implementar, se tenía dos opciones: codificar desde cero la funcionalidad extra o crear un pluggin al CMS.
Con OverFlow CMS, se pueden agregar tablas personalizadas, y enlazarlas con los contenidos ya hechos. Esto ahorra mucho tiempo a la hora de implementar algo que no estará previamente establecido en OverFlow CMS.
2. Administración Web
Esta administración solo se limitará a cambiar los datos en la base de datos, estos se generarán mediante backUps desde la administración Desktop.

3. Base de Datos.
Se implementara con MySql . Trabajará con una sola base de datos.
La base de datos que estará en el equipo desktop, estará bajo la tecnología InnoDB, para evitar errores y corrupciones relacionales en los datos.
La base de datos que estará en el servidor de producción, estará bajo la tecnología MyIsam, ya que es más veloz y además que no se necesitará integridad referencial ya que el administrador(mediante la Administración Web) no podrá hacer cambios en los diseños.
Los datos serán divididos en 3 secciones:
a. Contenidos.
a. Estilos.
a. Datos del Sistema.
a. Datos Personalizados. Un conjunto de datos personalizados que se pueden enlazar con el CMS.
4. Archivos Web
Estos archivos serán los que se copiarán en el Servidor Web, y estarán bajo la tecnología JSP (Java Server Pages).

NOTA.- Si se preguntan: ¿Porqué todo en java? ¿Porqué no PHP o Pearl, Groovy, etc?, la respuesta es sencilla: al establecer como principal lenguaje de desarrollo a Java, obtendremos la clausula "uniformidad en el proyecto". Además no se ha excluido a php u otras tecnologías por ser inferiores, si no por conveniencia en el proyecto.

Proyecto cancelado hasta nuevo aviso. Ver el Post #13

Última edición por Javatillo; 17/09/2009 a las 17:59