Opencms 7.5 sobre Tomcat III – Crear un Módulo

En esta ocasión vamos a crear un módulo en OpenCms para tener tanto los templates como funciones dinámicas usadas por la web.

El primer paso es crear el módulo en OpenCms desde la vista de Administración como se muestra en la imagen:

crear módulo I

Hacemos clic en «Módulo nuevo» y rellenaremos los datos que nos solicita. En nuestro caso el paquete s ellamará «es.uva.web» siguiendo la terminología habitual en los paquetes del lenguaje Java.

Crear módulo II

A continuación ya tendremos creado el módulo, y podremos modificar su contenido a través de la vista del explorador. Hay que cambiar el sitio de /sites/default a / e ir a la carpeta /system/modules/ donde tendremos la carpeta de nuestro módulo. Ahora deberemos rellenarla de contenido y publicarla… así que nos queda mucho trabajo por delante.

OpenCms 7.5 sobre Tomcat II-Configuración del idioma

El primer paso una vez instalado es indicar los idiomas de nuestro sitio. Para ello debemos modificar el fichero de configuración en opencms/WEB-INF/config/opencms-system.xml. En este fichero de configuración podemos configurar otros elementos importantes, como el servidor smtp y el usuario con el que se envían los correos, el número de documentos de histórico que se guardan, etc. En este caso vamos a modificarlo únicamente para cambiar los idiomas de trabajo. Tendrá por defecto lo siguiente:

<internationalization>
<localehandler class=»org.opencms.i18n.CmsDefaultLocaleHandler»/>
<localesconfigured>
<locale>en</locale>
<locale>de</locale>
</localesconfigured>
<localesdefault>
<locale>en</locale>
<locale>de</locale>
</localesdefault>
</internationalization>

y debemos añadir el idioma español y en nuestro caso quitar el idioma alemán e inglés.

<internationalization>
<localehandler class=»org.opencms.i18n.CmsDefaultLocaleHandler»/>
<localesconfigured>
<locale>es</locale>
</localesconfigured>
<localesdefault>
<locale>es</locale>
</localesdefault>
</internationalization>

Tras realizar la modificación debemos reiniciar el tomcat.

Obtener el identificador a partir de la ruta de un documento

Es muy sencillo, creamos una página jsp con el siguiente código:
<%@page buffer=»none» session=»false» import=»org.opencms.file.*,org.opencms.file.collectors.*, java.util.*,org.opencms.jsp.*, org.opencms.flex.*,>
<%@ taglib prefix=»c» uri=»http://java.sun.com/jsp/jstl/core» %>
<%@ taglib prefix=»cms» uri=»http://www.opencms.org/taglib/cms» %>
<%@ taglib prefix=»fn» uri=»http://java.sun.com/jsp/jstl/functions» %>
<%
org.opencms.jsp.CmsJspActionElement cms = new org.opencms.jsp.CmsJspActionElement(pageContext, request, response);
CmsObject cmsobject = CmsFlexController.getCmsObject(request);
String url=request.getParameter(«url»);
cmsobject.loginUser(«Admin», «XXX»);
CmsResource res = cmsobject.readResource(url);
out.println(res.getResourceId().toString());
%>

A continuación podemos pasar como parámetro a esa página la URL del documento y obtenemos el CmsUUID del documento. Por ejemplo http://localhost:8080/opencms/opencms/getuid.jsp?url=/documentos/prueba.pdf.

OpenCms 7.5 sobre Tomcat I-Instalación

En este post voy a explicaros los pasos iniciales en la instalación y configuración de OpenCms (gestor de contenidos) para montar un site, en este caso para la Universidad de Valladolid.

Lo primero es descargar opencms.war de www.opencms.org. Una vez descargado debemos copiarlo en la carpeta webapps del Tomcat. Una vez hecho, y con el tomcat en marcha podemos abrir:

http://localhost:8080/opencms/setup

Nos aparecerá la ventana de la licencia, que deberemos aceptar.

instalacion1

A continuación la instalación chequea la instalación del tomcat para comprobar que tenemos todos los componentes necesarios. En caso de que falte alguno deberemos de añadirlo al tomcat.

instalacion2

El siguiente paso es dar los datos de conexión a la base de datos que usará OpenCms.

instalacion3

El penúltimo paso es seleccionar los módulos a instalar. Para el desarrollo o nuestra primera instalación de OpenCms es muy recomendable instalar los módulos por defecto.

instalacion4

Por último introducimos el nombre del servidor y comenzamos la instalación. Tardará un buen rato en importar los módulos así que debemos de tener un poquito de paciencia. Terminado de instalar los móudlos nor indica que debemos leer unas notas importantes y para finalizar que ha bloqueado la instalación.

instalacion5instalacion6

Entonces ya tenemos instalado el OpenCms, pudiendo abrirlo con http://localhost:8080/opencms/opencms/ y la administración del gestor de contenidos la tenemos en http://localhost:8080/opencms/opencms/system/login

Almacenamiento Trecus N8800

Hoy hemos tenido la experiencia de experimentar con un servidor de almacenamiento Trecus N8800 (www.thecus.com) con 12 Teras de almacenamiento en 8 discos de 2TB. El frontal y el contenido de la caja se muestran en las siguientes imagenes

frontal

contenido

Podeis ver que se trata de una placa sencilla con una controladora raid, pero lo importante es lo que permite este software. Al conectarlo a la alimentación no tenemos posibilidad de conectar un teclado o una pantalla, sino que todo se realiza desde el interfaz web. Una vez conectados y asignada la ip podemos empezar a trabajar y ver sus posibilidades.

En primer lugar, el interfaz es sencillo, con mucho Ajax para facilitar su uso. Partiendo de su sencillez podemos empezar a crear los volúmenes, asignar los usuarios y grupos y empezar a usar uno de las múltiples configuraciones RAID que trae. Si ya tenemos un Active Directory podemos enlazar la gestión de usuarios con él.

Otra cosa interesante es que permite instalar módulos (en la web en support->module), encontrando dos muy interesantes, un módulo para montar un servidor web bastante completo con soporte para php5 y mysql, y otro que también nos permite instalar un MySQL gestionable desde un phpMyAdmin.

Con esto vemos muchas posibilidades al servidor. Podemos usarle simplemente como almacenamiento a través de Samba o iSCSI por ejemplo, podemos usarlo como servidor de base de datos e incluso como un servidor web. La ventaja es que usa discos SATA por lo que el coste del almacenamiento no es caro y podemos compararlo con el coste de un servidor normal.

Google Search Appliance (GSA)

Hemos decidido mejorar el sistema de búsqueda ante las múltiples quejas de los usuarios, y nos hemos pasado al GSA (Google Search Appliance). En primer lugar sorprende el colorcito amarillo de la caja tras desembalarlo, pero como gente de sistemas que somos no pudimos evitar abrirlo para ver sus tripas, y resulta ser un servidor Dell con 48Gb de memoria Ram y 6 discos de 750Gb… vamos, un maquinón. Como sistema operativo lleva un Centos tuneado por Google que no nos deja ninguna posibilidad de meterle mano, ya que todo se realiza a través de un interfaz web, desde su configuración inicial de los parámetros de red hasta cualquier acción posterior con el servidor. Sorprende que por ejemplo no tengamos la llave para poder abrir la zona frontal, que nos permitiría cambiar los discos. Ya veremos si se rompe alguno cómo se soluciona.

En cuanto al buscador en sí la verdad es que me sorprende la eficiencia y las cosas que encuentra. Nos hemos tirado casi dos meses (con autoformación, prueba y error) hasta lograr evitar que buscase más de lo debido. Encuentra cualquier cosa, saltándose incluso el robots (que no deja de ser una buena práctica por parte de los buscadores) y registrando claves, ficheros y todo lo imaginable. Además nuestra web tiene un problema, y es que se puede llegar a un mismo sitio con múltiples parámetros, lo que nos hacía tener una misma página encontrada con distintos parámetros, y para el GSA con que cambie un parámetro ya es una página distinta. Poco a poco, con expresiones regulares y preparando algunas páginas de consulta específicas para el GSA hemos logrado evitar estos problemas, y la verdad es que estamos bastante contentos. Lo hemos puesto en explotación y ahora esperaremos el resultado de los usuarios, que eran los que principalmente se quejaban de que no encontraban nada.

Os pongo una imagen de las tripas del GSA.

GSA
GSA