Introducción a los portales Java con Jahia

0
23811

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……

Sobre el
Autor ..

 

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad