Puntos de administración en OpenCms 7.0.5

Hace ya algo menos de un año que comencé a trabajar con el gestor de contenidos OpenCms 7.0.5, durante este tiempo he desarrollado nuevos tipos de contenidos, widgets personalizados y puntos de administración, para el desarrollo de estas tareas me he servido de muchos recursos online pero sobre todo me ha sido de gran utilidad el foro de la comunidad de OpenCmsHispano, es por ello que he decidido realizar este tutorial cuando el otro día me encontré con este mensaje, manos a la obra.

Un punto de administración en OpenCms es una entrada en la vista de administración del gestor de contenidos con la que podremos realizar ciertas operaciones, OpenCms trae en su distribución básica una serie de entradas de administración con la que se podrán llevar a cabo tareas de administracion de usuarios, módulos, caché, etc, así como los mecanismos necesarios para extender con nuevas entradas estas funcionalidades de administración

Vista de administración del workplace

Vista de administración del workplace

Para crear un nuevo punto de administración en OpenCms deberemos crear la correspondiente estructura de directorios en /system/workplace/admin es en este directorio donde se definen los puntos de administración a través de la creación y edición de propiedades de los directorios.

Correspondencia con la zona de administración

Correspondencia con la zona de administración

En este tutorial vamos a crear un nuevo punto de administración en OpenCms denominado “Personas” que nos permitirá hacer CRUD de entidades de tipo persona, para ello he desarrollado un nuevo módulo que he denominado “PersonManagement”. Como veréis cuando instaléis el módulo (y reincieis el servidor de aplicaciones) el módulo genera un nuevo directorio /system/workplace/admin, si accedemos a las propiedades de este directorio veremos que se encuentran editadas las siguientes propiedades:

  • Description: Establece el texto que se mostrará en la caja “Ayuda” de la zona de administración.
  • NavImage: Establece la imagen que se mostrará en la zona de administración.
  • NavInfo: Establece el nombre del grupo al que pertenecerá el nuevo punto de administración.
  • NavPos: Establece con un número real (float) la posición que ocupará el icono del nuevo punto de administración.
  • NavText: Establece el texto que aparecerá bajo el icono del punto de administración.
  • Title: Establece el título del directorio aunque no es de utilidad dentro de la zona de administración.
  • admintoolhandler-class: Establece la clase que se ejecutará para hacer la gestión de los permisos de acceso al punto de administración.
  • default-file: Establece la página jsp que se ejecutará cuando accedamos a ese directorio.
Propiedades del directorio

Propiedades del directorio

Si accedemos a este directorio veremos que podemos encontrar tres páginas jsp person_list.jsp (genera el listado de los elementos), person_edit.jsp (genera el formulario de edición de los elementos de tipo persona) y person_new.jsp (genera el formulario de creación de elementos de tipo persona), si accedemos a cada una de estas páginas veremos cómo podemos encontrar un fragmento de código que sigue el siguiente patrón:

<%@page import=”paquete.de.la.clase.*”%>
<%
NmbreClase admin = new NmbreClase(pageContext, request, response);
admin.displayDialog();
%>

Como podemos observar para generar el formulario solo necesitamos una clase, que extenderá las correspondientes clase de OpenCms, y que se encargará de generar todo el código html necesario para
generar un listado o un formulario de edición o de alta.

En estas páginas jsp también es necesario editar las propiedades para que el contenido de dichas páginas se muetren correctamente.

También me gustaría haceros un par de recomendaciones para el desarrollo de funcionalidades con OpenCms:

Código del módulo

La información compartida progresa y mejora, de manera que su valor sólo puede aumentar. El conocimiento acaparado simplemente se detiene. Paul Jones, director de ibiblio.

Anuncios

3 Responses to Puntos de administración en OpenCms 7.0.5

  1. Buenas Ángel,
    He estado mirando tu módulo, que hacer un punto de administración es una de mis asignaturas pendientes en OpenCms. Cuando lo instalo, y me meto en la index del módulo, me sale el listado y arriba me sale, crear nueva persona, pero no sé por qué no sale editar persona. Tiene lógica que no salga, pero no sé que propiedad pones o no pones para que no salga. Me lo podrías decir? un saludo

  2. Ángel Cristóbal Lázaro Ríos dice:

    Buenas noches Alejandro,

    Ante todo disculpa el tiempo que he tardado en responderte, pero te puedo asegurar que no he podido, respecto a tu pregunta no la termino de entender bien, cuando dices “no sé por qué no me sale editar persona” ¿te refieres que no te sale el icono en cada uno de los items de la lista para poder editar la persona, o que no te sale un icono grande al lado del icono para crear una persona?

    Si se trata de la primera respuesta, “no te sale el icono en cada uno de los items” no sabría qué responderte porque me acabo de instalar el módulo en un OpenCms 7.5.1 totalmente limpio y no he tenido problemas.

    Si por el contrario se tratara de la segunda respuesta, “no te sale un icono grande al lado del icono para crear una persona”, para que eso sucediera tendrías que cambiar las propiedades “admintoolhandler-class” con valor “org.opencms.workplace.tools.CmsOnlyAdminToolHandler” y “NavImage” con valor “tools/person/icons/big/person_edit.png” (esta imagen ha de existir, para hacer la prueba puedes poner la imagen para crear personas). Publicas y reinicias el servidor y listo.

    Espero que eso responda a tu pregunta, si no pues aquí me tienes (más tarde o más temprano).

    Un saludo.

  3. Buenas, tienes razón no me he explicado bien. Pero al final vi porque no salía. Es uno de esos casos en los que te ofuscas y piensas que la respuesta es más díficil de lo que realmente es, cuando me di cuenta, pensé si es un lobo me come…..
    Gracias y lo mismo te digo, si me necesitas, ya sabes dónde estoy.
    un saludo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: