Como trabajar con OpenCms. El módulo Frontend

03/05/2009       Sergio Raposo Vargas       OpenCms, Programación

Una de las características más importante de OpenCms es su estructura modular, de forma que dispone de un nucleo o core con toda la funcionalidad báisca de OpenCms. Todo lo demás se crea en base a módulos de OpenCms.

Por lo tanto, para empezar con nuestro portal debemos crear en primer lugar nuestro módulo que albergará nuestras plantillas, hojas de estilo, imagenes, javascript, definición de contenidos, ...

Este módulo es lo que se suele llamar Módulo Frontend.

Todo módulo frontend tiene una estructura de carpetas por defecto que podemos seleccionar a la hora de crear dicho módulo desde la vista de administración:

  • classes: carpeta que contendrá todos los ficheros .class que nuestro código java, o nuestros ficheros .properties. Todo el contenido de esta carpeta será exportado a la carpeta /$TOMCAT_HOME/webapps/opencms/WEB-INF/classes/
  • lib: carpeta que debe alojar todas las librerias (ficheros .jar) que necesite nuestro proyecto. Todo el contenido de esta carpeta se exportará a la carpeta /$TOMCAT_HOME/webapps/opencms/WEB-INF/lib/
  • elements: Carpeta destinada a alojar todos los jsp que implementan funcionalidad que queremos reutilizar en diversos puntos de nuestro portal. Por ejemplo, podemos configurar el rastro de migas como un element de forma que en todas las plantillas que deseemos tener rastro de migas podremos incorporar dicho element. El concepto más cercano a elements es el de Componente Software.
  • templates: Lugar donde crearemos todas nuestras plantillas. (El funcionamiento de los templates lo veremos en capitulos posteriores)
  • resources: Carpeta utilizada para albergar las hojas de estilo, imagenes y javascript que vayamos a utilizar a lo largo de todo el desarrollo del proyecto.

Adicionalmente podemos crear 2 carpetas adicionales:

  • pages: según como estructuremos nuestra plantilla, en esta carpeta podemos disponer de una serie de plantillas para el contenido central de cada una de las páginas de nuestro sitio. Igualmente, explicaremos de forma más completa en el proximo capítulo.
  • schemas: Carpeta donde alojaremos todos los ficheros de definición de contenido (XSD).

Seguir una estructura ordenada a la hora de crear nuestros módulos puede facilitarnos el trabajo de mantenimiento en un futuro por lo que se recomienda siempre, en la medida de lo posible, seguir estra estructura.