Introducción a los Portales con Jahia
La tecnología Web esta evolucionando constantemente…..
Los que tenemos Webs en php, estamos acostumbrados a productos como phpNuke,
postNuke, etc. Sistemas en los que ya partimos de un amplio sistema de
componentes que nos permite construir nuestras aplicaciones Web o portales de un
modo sencillo y rápido.
En tecnología Java, distintos fabricantes han tenido iniciativas para hacer
lo mismo (incluso existen productos gratuitos como OpenCMS)….
el único problema es que estas iniciativas son propietarias.
Gracias a los trabajos de estandarización, ha aparecido el JSR 168 y se ha
definido la especificación de portlets: Simplificando mucho, podríamos decir
que define como construir componentes o contenedores estándares para la
creación de portales Java, como si fueran puzles …..
Os vamos a contar hoy un producto curioso, que debido a su estado de madurez,
sirve de buen ejemplo para entender cómo esto funciona. Nosotros podemos
componer gráficamente las páginas (multi-lenguaje) en base a portlets.
Normalmente estos productos ya incluyen unos cuantos (artículos, noticias,
gestión ficheros, encuestas, foros, etc.) pero podremos incluir los de
cualquier otro fabricante.
Instalación
En www.jahia.org podemos encontrar el
producto. Tiene una política de licencias curiosa….. si colaboras con el
desarrollo, no pagas (y en algunos modelos más también puede ser gratuito).
Una vez descargado el ejecutable.. lo lanzamos. Elegimos el lenguaje entre
los disponibles.
Vemos como arranca el sistema
Elegimos los componentes deseados
Elegimos el trayecto
Continuamos la instalación y vemos como queda el sistema de ficheros
Pulsamos jahia.bat. Debéis tener precaución porque si tenéis
definida la variable de entorno CATALINA_HOME,
no funciona.
Configuración
Vamos el aspecto de las ventanas de configuración
Introducimos la contraseña y algunos valores adicionales
Establecemos el trayecto de Tomcat
En advance setting, definimos el motor de base de datos (no
tocamos inicialmente nada)
Rellenamos información de administración
Elegimos la plantilla (actualmente solo tenemos 1)
Comprobamos los valores
Y el sistema nos cuenta que todo a ido bien
Vemos como queda la aplicación http://localhost:8080/jahia
Modificación del Portal
Como acabamos de instalar el sistema, ya estamos logados (sino tendríamos
que hacerlo)
Podemos ver que hay arriba a la izquierda dos botones: Live y Edit.
Si pulsamos edición, podemos configurar el aspecto.
También podemos ver a la derecha que el Web está en Ingles….
Podemos pulsar el botón Add Text debajo del texto de
bienvenida
Y dispone de un práctico editor para formatear el texto existente.
Vemos como queda nuestra página
Podemos borrar el texto original
Y confirmar la operación
Para que el cambio tenga efecto, debemos aprobarlo.
Lo que era antes 2 botones, ahora son 4:
- Live: Lo que hay en producción
- Preview: Como quedará si aprobamos los cambios
- Compare: Muestra las diferencias
- Edit: Nos permite continuar la edición
Podemos comparar …..
Si pulsamos el icono Workflow…. podemos aprobar los cambios
Y comprobamos como queda
Añadir otros lenguajes
El el botón de administración, podemos seleccionar nuevos idiomas
Ya podemos ver que ha aparecido un nuevo lenguaje (vemos la bandera
española)
Cambio de otros parámetros
Vamos a cambiar el logo, copyright, etc
Podemos cambiar el tamaño y el texto del pie
Y vemos los cambios de un modo inmediato
Ahora, vamos a cambiar el logo….
Primero lo pintamos..
Ahora vamos a la última lengüeta y subimos un nuevo fichero
E introducimos los valores
Y vemos donde lo deposita el sistema
Solo necesitamos seleccionarlo (para los múltiples idiomas)
Y ya vemos como se va adaptando el Web a nuestras necesidades ….
Integrar las aplicaciones existentes
Una de las cosas que más me ha llamado la atención es la posibilidad de
añadir de un modo semi-transparente aplicaciones existentes dentro del portal
….
Esto abre nuevas posibilidades a la reutilización de desarrollos (aunque no
nos engañemos, que esto queda bien en una preventa pero la realidad es un poco
más dura).
Hemos creado una aplicación Web que tiene un JSP y un par de servlets… de
tal modo que se puede navegar entre ellos….
Vamos a tratar de meterlo en el portal …..
Para ello, solo tenemos que empaquetar la aplicación en un war y dejarlo
caer en l directorio adecuado…
Nos vamos al menú de administración y seleccionamos manage portlets
Podemos comprobar que aparece nuestra aplicación
Ahora en la pantalla de edición podemos seleccionar un nuevo portlet,
diciendo que queremos usar el portlet que nos permite integrar una webapp
Ya nos aparece en pantalla y solo tenemos que configurar a que Webapp lo
queremos asociar
Elegimos nuestra WebApp…
Y ya tenemos disponible el contenido (en pre-visualización)
Además, podemos comprobar que al pinchar en el enlace de nuestra
aplicación, respeta la navegación de cuando era una aplicación autónoma pero
sin perder el contexto del portal…
Eso, es gracias a como hemos creado los enlaces …. que es como se debería
hacer siempre (para permitir el URLRewriting cuando no se activan las cookies en
el cliente)
out.println("Enlace al primer servlet <a href=\"" + response.encodeURL( request.getContextPath() + "/servlet/primero") + " \">Enlazar al primer Servlet</a> |
Conclusiones
Hemos visto como usar un software bastante interesante. Más adelante os
mostraremos como crear Portlets en base a la especificación así como os
comentaremos algunas soluciones más como JetSpeed
(gratuita de apache) y la solución de Bea Weblogic Portal (en
línea con el anterior tutorial)
La creación de portales de un modo estándar es un paso que tendremos que
dar.
La única pregunta es ¿cuando? …… y ¿para que tipo de aplicaciones?
….. jejejeje aquí está la gracia……