Cómo embeber O3 en portales haciendo uso de iframe

Objetivo: embeber O3 en otros portales de gestión de contenidos, haciendo uso de iframe.

Se plantea la necesidad de mostrar contenido de O3 en otro portal. Se propone el uso de Liferay como portal web, en el cual, haciendo uso de dashlets de O3 podemos presentar cuadros con información de cubos, reportes u otros.

Requisitos previos:

  1. Contar con una instalación de O3 completa, configurada con login anónimo (ver procedimiento), y haber iniciado sus servicios al menos una vez.

  2. En ésa instalación publicar los cubos y reportes a presentar en el portal, con permisos para un determinado rol a elección (se sugiere la definición de uno específico para este caso, el que deberá asignarse al usuario definido en el paso anterior para el login anónimo).

  3. También en ésa instalación, crear una comunidad o sitio públicos de Liferay, con páginas donde se presente contenido de O3 haciendo uso de O3 view dashlets, O3 control dashlets, O3 report portlet, etc. También pueden incluirse portlets propios de Liferay.

  4. En <Instalación O3>\liferay\tomcat\webapps\eportal\WEB-INF\classes, ubicar el archivo system-ext.properties con estas líneas (requiere el reinicio de Liferay)

    http.header.secure.x.frame.options=false http.header.secure.x.frame.options.1=/|ALLOWALL
  5. Contar con un servidor Tomcat, en el que se ubicará el index.html en /tomcat/webapps/ROOT. Luego, para probar esta funcionalidad acceder por http://localhost:8080/index.html

Desarrollo:

Se dispone de una página html con un iframe, que simulará la publicación en el portal elegido. Como ejemplo, se usa un index.html con el siguiente contenido:

<html> <body> <iframe src="http://localhost:8380/eportal" title"O3 Embebido" width="100%" height="600" style="border:1px solid black;"> </iframe> </body> </html>

El source del iframe (src) debe ser la url del sitio público de Liferay al que se hace referencia en los requerimientos, en particular, de la página que se quiere mostrar embebida. De esta forma, se deberá tener un iframe por cada página a presentar.

En caso de querer embeber directamente un dashlet, por ejemplo O3 view dashlet, debe obtenerse su url en la configuración del mismo, y luego usarla como src del iframe:

La opción “Permitir a los usuarios añadir este portlet O3 BI View Dashlet a cualquier sitio web.“ no tiene efecto en el resultado, se deja apagada.

A continuación se observa el resultado de la prueba: el iframe muestra el contenido de la página pública de Liferay, con los dashlets de O3 (donde O3 view dashlet y O3 control dashlet interactúan de la forma habitual).