viernes, 18 de julio de 2008

OpenCms y CRE

Dada la poca información que hay en internet sobre CRE (Content Relation Engine) y menos aún en castellano; me he decidido a escribir un pequeño tutorial sobre su utilización que espero pueda servir a alguien.

Esta miniguía está pensada para gente que tenga conocimientos básicos de OpenCms.

CRE permite a OpenCms relacionar contenido de un mismo tipo que se encuentran en diferentes carpetas del VFS de OpenCms de manera fácil y rápida. Supongo que tendrá otras utilidades, lo desconozco; pero sin duda ésta es una de las más importantes.

Para poder hacer uso de CRE lo primero es crear las categorías que necesitemos. Para ello nos situamos en el directorio /system/categories/ del VFS y creamos por ejemplo la siguiente estructura:

/system/categories/contenido/
-->/system/categories/contenido/noticias
-->/system/categories/contenido/eventos


Hecho esto, tenemos que modificar nuestros XSD donde tenemos la definición de nuestros XMLCONTENT y añadir las siguientes líneas:








Una vez tenemos nuestros XSD editados, y quizás sea recomendable reinicializar el entorno de trabajo, en las opciones de Administración. Podemos empezar a dar de alta nuevo contenido en cualquier lugar de nuestro VFS. Veremos que al editar contenido tenemos un nuevo campo con un desplegable:



Seleccionamos "Eventos" en nuestro caso; y repetimos el proceso con todos los contenidos que tengamos que dar de alta en la web.

Por último, tendremos que utilizar un collector especial para CRE en nuestra JSP que lista los "eventos": allKeyValuePairFiltered.

Un ejemplo de su uso para nuestro caso sería:







Donde:
- resourceType es el nombre del tipo del XMLCONTENT o contenido estructurado a "colectar".
- categoryTypes es la ruta completa de la categoría.

Sin duda, una gran herramienta que está disponible desde la versión 7.0 de OpenCms.

Un saludo, en especial a la gente de OpenCmsHispano por su impagable ayuda. :)


4 comentarios:

Jose dijo...

Hola,

Estamos añadiendo la gestión de categorías a nuestro portal. He seguido este tutorial y he añadido categorías nuevas, asignado mediante el widget el campo desplegable de categorías al contenido estructurado y me he hecho una página que usa el collector. El problema es que el collector no lee los contenidos cuyas categorías han sido asignadas mediante la edición del contenido estructurado, pero si lee los contenidos cuyas categorías han sido añadidas a través del administrador (menú contextual/Relaciones/Asignar categorías...)

¿Hace falta hacer algo más para vincular la categoría seleccionada en la edición de contenido con la nueva categoría para que el collector la lea?

Gracias por el tutorial y un saludo.

loixartx dijo...

Hola Jose,

la verdad es que no hace falta hacer nada más para que el collector muestre el contenido por categorías. Es más, hasta hace poco no sabía que las categorías se podían añadir a través del administrador.

Supongo que has publicado todo y reiniciado Tomcat por si las moscas... pero a parte de lo explicado aquí no hice nada más para que funcionase.

¿lo conseguiste solucionar por casualidad?

Jose dijo...

Hola, gracias por responder tan rápido.

De momento no lo he solucionado, he reiniciado Tomcat y publicado todo. Si averiguo algo lo comento.

Saludos.

loixartx dijo...
Este comentario ha sido eliminado por un administrador del blog.