eZ Publish - Un blog

¿Por qué eZ Components?

Lunes, 06 de Abril de 2009 - Carlos Revillo

Los que ya conozcáis eZ Publish sabréis que no es un simple CMS, sino que además es un framework del que te puedes servir para añadir extensiones a lo que se te ofrece con el paquete de instalación, con el fin de solventar las necesidades del proyecto. Nuestra experiencia nos dice que si bien en los proyectos que desarrollamos la gestión de contenidos juega un papel fundamental, nuestros clientes casi siempre necesitan algo más que eZ Publish no nos da por defecto, (integraciones con proveedores de otras empresas, gestión y envío de newsltters, importaciones de contenidos antiguos) y que eZ Publish nos da por defecto muchas cosas que casi ningún cliente necesita (no todo el mundo necesita una tienda, un foro o una gestión concienzuda de usuarios...)

Gracias a la API de eZ Publish podemos desarrollar estas extensiones de forma ágil. Por ejemplo, sería una locura programar todas las consultas necesarias para añadir, consultar, actualizar y eliminar las preferencias de un usuario a la hora de visitar la web, o sus contenidos favoritos, o escribir todos los headers necesarios para enviar mails con destinatarios ocultos cuando eZ ya te ofrece métodos para ello.

Pero el problema surge cuando queremos usar estas clases en una aplicación que no sea eZ Publish. Es decir, ya que tenemos clases que nos proporcionan métodos para guardar los favoritos de un usuario o enviar mails, ¿por qué no usarlas en cualquier otro proyecto?. La respuesta está en que todas estas clases incluidas en el framework de eZ Publish están demasiado interconectadas entre sí. Hay demasiada dependencia. No podemos usar la clase para guardar los favoritos sin olvidarnos de la clase que gestiona los usuarios la cual además depende de la clase que se encarga del control de los atributos de cada uno de los objetos, la cual depende de... En definitiva, es inviable quedarse con partes de eZ Publish para desarrollar un proyecto más pequeño.

Pensar en otro CMS (Drupal o Joomla, por citar alguno) tampoco nos arregla esta cuestión, porque en ellos también encontraremos dependecias en las partes que componen sus "kernel". Por tanto, el siguiente paso lógico parece ser el pensar en un framework. Aquí hay muchas opciones. Tenemos Symfony, Cake... etc. Son magníficos y ahorran gran cantidad de trabajo, pero en cierto modo, te obligan a seguir ciertas normas a la hora de desarrollar, normas que en ocasiones no los hacen fácilmente integrables en aplicaciones como CMS o sistemas de foros.

eZ Components es otro de los proyectos en los que trabaja la gente de eZ Systems. Al frente está Derick Rethans, uno de los gurús en esto del PHP. La diferencia fundamental entre eZ Components y frameworks como Symfony o Cake es que eZ Components no es un framework. :). en eZ Systems no se cansan de repetirlo. eZ Components es una serie de componentes pensados para funcionar de forma independiente. De esta forma no va a ser necesario ningún tipo de puente adicional para usarlo en cualquier otro CMS, o descargarse todas las clases que ofrece un framework para hacer uso de él.

La documentación ofrecida vía web está muy cuidada, así como los tutoriales. Esta división por componentes consigue además que no tengas por qué estudiarte las "tripas" del framework antes de empezar a usarlo. Simplemente estudiandote la documentación del componente necesitado, podrás usar este tanto para añadir funcionalidades a eZ Publish, desarrollar nuevos módulos para Drupal o añadir los rss de tu web corporativa a un sistema de foros desarrollado con PHPBB, por citar algún ejemplo.

¿Más puntos a favor de elegir eZ Components para nuestros futuros desarrollos?

  • eZ Systems va a basar el kernel de las próximas versiones de eZ Publish en estos componentes, por lo cual éstos componentes tienen una meta bien clara (servir para tratar de construir el mejor CMS)
  • Al igual que con eZ Publish, podemos disponer del soporte del fabricante, y de acceso a todos los bugs y soluciones reportados por los usuarios.

En definitiva, eZ Components se presenta como una solución acertada tanto para desarrollar un proyecto que no tenga más que un simple formulario de contacto como para algo tan complejo como el kernel de eZ Publish. Ahora bien, eZ Components en ningún momento pretende reemplazar a eZ Publish. Más bien le servirá a la gente de eZ Systems para tratar de dotar al CMS de más funcionalidades solicitdas por la comunidad (ejemplos eZ Flow, eZ Find) dejando a eZ Components el "trabajo sucio" de pegar con las bases de datos, gestionar caches y hacer más fácil la portabilidad del CMS a un próximo PHP 6.

No hay ningún comentario

Deja un comentario:

  • eZHumanCAPTCHACode