o3 portal customization. contenido introducción introducción o3 portal tecnología ...

44
O3 Portal Customization

Upload: carlos-ferreyra-castilla

Post on 23-Jan-2016

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

O3 Portal Customization

Page 2: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Contenido

Introducción Introducción O3 Portal Tecnología Instalación Customización

Customización Básica Logo, Colores, Acceso Anónimo, etc.

Customización Avanzada

Page 3: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Introducción

Qué es customizar O3 Portal.. Objetivo Presentación: Preparar para afrontar

con éxito pedidos de customización de O3 Portal por parte del cliente

2 posibles soluciones en cuanto a quien la realiza Distribuidor o cliente, si la customización es básica Ideasoft, si la customización es compleja o es una integración

con otro sitio

Page 4: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

O3 Portal

El O3 Portal es la implementación Web de la herramienta O3Browser.

El O3 Portal es una aplicación desarrollada con tecnología JSP (Java Server Pages). Es un conjunto de páginas jsp, html, archivos css, js, xml, imágenes, etc.

Su páginas principales son las que se observan a la derecha: 1) Login, 2) Selección de componente

(cubo, vista, tablero, dashboard, report, etc.)

3) Navegación

(1)

(2)

(3)

Page 5: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Tecnología (conocimientos requeridos)

En la implementación del O3 Portal se utilizaron diversas tecnologías:1. HTML, Scripting (Java Script), CSS Stylesheet, etc.

2. JSP (Java Server Pages), tecnología utilizada en las aplicaciones Java para crear paginas dinámicas (http://java.sun.com/products/jsp/).

3. JSP Tag Libraries, a fin de contar con componentes reutilizables para facilitar la programación de las páginas se utilizan estas librerías de tags,

4. JAVA, como el resto de O3, el O3 Portal esta basado completamente con tecnología JAVA (http://java.sun.com)

Page 6: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Tecnología - Tomcat

Tomcat es un servidor Web de distribución libre que tiene la capacidad de alojar páginas JSP.

Por la posibilidad de redistribuirlo y la amplia difusión que este tiene es que se incluye opcionalmente como soporte para el O3 Portal.

http://jakarta.apache.org/tomcat/index.html Algunos detalles:

La instalación de tomcat se hace en la carpeta con el mismo nombre bajo la carpeta de instalación de O3.

En la carpeta webapps dentro de tomcat es donde se alojan las aplicaciones web.

Las aplicaciones web son carpetas o archivos war (variación de los archivos ZIP).

Page 7: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Tecnología - JBoss

JBoss es un Servidor de Aplicaciones Java de distribución libre que tiene integrado internamente Tomcat.

Al igual que Tomcat se incluye opcionalmente como soporte para el O3 Portal.

http://jboss.org/products/jbossas Algunos detalles:

La instalación de jboss se hace en la carpeta con el mismo nombre bajo la carpeta de instalación de O3.

En el caso de JBoss el sitio O3 Portal se encuentra dentro del archivo o3portal.war en la carpeta {o3_install_dir}\jboss\server\default\deploy\gserver\0o3.ear\

Page 8: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Instalación

La instalación del O3 Portal se realiza desde el mismo instalador del resto de los componentes O3.

Instalación Personalizada

Selección de los componentes Web a Instalar

Page 9: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Customización Básica

Page 10: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Customización básica

Caso mas frecuente Son cambios que tratan de adecuar O3 Portal a la imagen

institucional de la empresa. Estilo: Colores, Tipos de letra, Imágenes, Textos, Nuevos

links, etc. todo esto representa el caso mas habitual de modificaciones.

Cambios de comportamiento de algunas componentes: lista (árbol) de selección, panel de navegación, etc.

Todos estos cambios requieren: tener conocimientos mínimos de HTML, saber en que lugar de la instalación se encuentra el sitio y conocer un poco su estructura.

Page 11: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos - Logo

Se desea cambiar logo de Ideasoft por logo del cliente

Para esto:(suponiendo que la url es www.example.com y que el logo lo tiene

en un archivo logo.jpg)

1. Colocar el logo en la carpeta {o3_install_dir}/jboss/…./0o3.ear/o3portal.war/images

2. Y realizar el cambio que se marca en negrita en la página {o3_install_dir}/jboss/…./0o3.ear/o3portal.war/header.jsp:<a href="http://www.example.com" class="header"

target="_blank">

<img src="images/logo.jpg" border="0"/>

</a>

Page 12: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – Colores, Tipo de Letra, etc.

Cambios de colores, tipos de letra, estilos: En {o3_install_dir}/jboss/…./0o3.ear/o3portal.war/styles se

encuentran las hojas de estilos del sitio, en particular o3web.css tiene la mayoría de los estilos involucrados.

Si se modifica por ejemplo este elemento body y se deja como se ve a la derecha, el color de fondo de las páginas de O3 será rojo:

body {background-color:

#5B95BF;color: #FFFFFF;font-size: 9pt;font-family:

'Arial','Helvetica';}

body {background-color:

red;color: #FFFFFF;font-size: 9pt;font-family:

'Arial','Helvetica';}

Page 13: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – Etiquetas

Para cambiar etiquetas hay dos opciones: Modificar directamente la página jsp que la contiene.

› Se pierde la internacionalización (multi-lenguaje)

› Es sencillo

Modificar los archivos de internacionalización› Se mantiene la internacionalización

› Es más engorroso

Ejemplo: En página login.jsp en lugar de encontrar el texto “Login” van a

encontrar el texto:› <fmt:message key='log-in.input-submit' bundle='${lang}' />

Page 14: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – Acceso Anónimo

Si se desea que los usuarios ingresen como un usuario anónimo (es decir usuario por defecto), entonces usar la página anonymous.jsp que se provee con la distribución.

Se debe configurar ../o3portal.war/WEB-INF/context.xml descomentando el texto: <!--Valve className="com.ideasoft.sso.cas.tomcat.GuestUserValve" debug="0“

userName="user" password="user" filteredPage="/anonymous.jsp"/-->

Luego ingresar con la url: http://…./o3portal/anonymous.jsp en lugar de http://…./o3portal

Page 15: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Tag wt:extTree

Además de código HTML y javascript las páginas jsp contienen tags similares a los del propio HTML que permiten hacer la customización con mayor facilidad.

Un ejemplo es el tag <wt:extTree.....> que se encarga de mostrar la lista de cubos, vistas, tableros, etc. del usuario recién logueado.

Este tag es utilizado en la página booksmarksPage.jsp y mediante la modificación de los valores de sus atributos se cambia el comportamiento de la lista.

Page 16: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – No mostrar fecha en lista

Para no mostrar la fecha, en la lista de cubos y vistas disponibles que se despliega al entrar al sitio.

Boolean showCubeTime = Boolean.TRUE;Boolean showViewSecurityLevel = Boolean.TRUE;Boolean cubeCreateLink = Boolean.FALSE;Boolean viewCreateLink = Boolean.TRUE;

Para mostrar la lista colapsada<wt:extTree extTreeModel="${wtTreeModel}"

subTreeCssClass="bookmark"saveVisibility="true"expandFirstLevel=“false"target="_top"subtreeIndent="22"rowHeight="20"

Page 17: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – No mostrar menús

Si no se desea mostrar los menús de exploración de O3, dado que por ejemplo no desea que los usuarios naveguen por el cubo.

Para esto se debe realizar el cambio que se marca en negrita en la página {o3_install_dir}/jboss/…/o3portal.war/browser/browser.jsp:<c:set var="showAxisBar" value="false" /><c:set var="showCommandsBar" value="false" />

<c:set var="showDrillBar" value="false" />

Page 18: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – No click en gráfico

Se desea deshabilitar la posibilidad de hacer click en el gráfico y navegar, por ejemplo porque no se quiere que el usuario navegue la vista

Se debe realizar el cambio que se marca en negrita en la página {o3_install_dir}/jboss/…/o3portal.war/browser/view.jsp:

<ch:chart id="seriesImage" servlet="${pageContext.request.contextPath}/servlet/imageProvider" provider="chart"

imageId='${o3:generateChartImage(querymodel.chartModel)}' showChart="false" showSeriesTitle="false" showSeries="true" mouseProcessDisabled="true" onLoad="scheduleRedimChart();" />

Y además …

Page 19: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Cambios Básicos – No click en gráfico

Se debe realizar el cambio que se marca en negrita en la página {o3_install_dir}/jboss/…/o3portal.war/browser/view-chart.jsp:

<ch:chart id="lechart" servlet="${servletName}" provider="chart"

imageId='${o3:generateChartImage(querymodel.chartModel)}'

showChart="true" showTitle="true" showAxisTitle="false" autoResize="true" mouseProcessDisabled="true" />

Page 20: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Resumen y Ejemplos

Es posible customizar con éxito tanto por Cliente como por el Distribuidor

Alcanza con tener conocimientos de HTML y contar con cierta documentación de tags libs

Ejemplos de sitios customizados http://www.sulpapeis.com.br:8180/o3portal/ http://o3web.fanapel.com.uy/o3portal/

Page 21: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Customización Avanzada

Page 22: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Modificaciones avanzadas

Ejemplos: otra página de login (login contra otro sistema y por afuera) comportamientos especiales (drill automático) cambios en la organización de la página mas complejos integración fuerte con otro sitio un sitio totalmente nuevo

Todas estas modificaciones requieren conocer más: HTML, tag libs propios, JSP, y Java, etc.

Existen dos caminos a seguir:1. Partir del O3 Portal y cambiar lo que sea necesario.

2. Partir de una versión simplificada del O3 Portal y hacer los cambios.

Page 23: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Arquitectura O3 Portal (I)

index.jsp

header.jsp

main.jsp

mainHeader.jsp

login.jsp

¿Login?

NO

SI

bookmarksPage.jspComo muestra la figura partiendo de la pagina index, las paginas se van componiendo para formar el resultado (antes del login).

Al llegar a bookmarksPage ya el usuario esta logeado y eligiendo que cubo o vista ver.

Indica que una pagina incluye a otra

Page 24: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Arquitectura O3 Portal (II)

Aquí intentamos mostrar que el proceso de mostrar un cubo es complejo y no es la idea alterar las interacciones que aquí ocurren hasta que el cubo es desplegado.

bookmarksPage.jsp viewdesktop.jsp desktop.jsp

redirect.jsp/dispatcher/o3portal/

o3PortalHandler.jsp

/servlet/o3portal/dispatcher

browser.jsp

Page 25: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Estructura de Carpetas (I)

La estructura se encuentra en la carpeta {o3_install_dir}/jboss/…/o3portal.war y las carpetas mas importantes son las siguientes: o3portal: Páginas JSP que implementan la página inicial de login (index.jsp, main.jsp y login.jsp) y la página con la lista de vistas y cubos (booksmarksPage.jsp).

browser:› Páginas JSP que implementan la funcionalidad de navegación de

cubos, entre las que se destacan browser.jsp que es la principal y se encarga de componer las paginas drillbar.jsp, commandsbar.jsp y view.jsp para formar el panel de navegación.

› Paginas JSP que implementan los diálogos de ordenar (ranking.jsp), ocultar (hide.jsp), expresiones (expressions.jsp), grabado de vistas (saveView.jsp), impresión (print.jsp), etc,

Page 26: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Estructura de Carpetas (II)

images: Imágenes utilizadas en el sitio. Se destaca ideasoft.jpg que es el log de Ideasoft que aparece en el header del sitio. Esta imagen es un pedido usual de cambio. La referencia a esta imagen se encuentra en la pagina o3portal/header.jsp.

scripts: Fuentes javascripts utilizados. styles: Archivos .css utilizados. Se destaca o3web.css que

debe ser modificado para cambiar el estilo general del sitio, como colores de fondos, fonts, bordes, etc.

Page 27: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Estructura de Carpetas (III)

WEB-INF:› Archivos de configuración y librerías utilizadas en el portal. Se

destaca webapp.properties que contiene parámetros de funcionamiento importantes como son:– gclient.server.port y gclient.server.host cuyos valores son el puerto y el

nombre del host donde se encuentra atendiendo O3Server. Estas properties necesitan ser modificadas en caso de que el Web Server (tomcat) que hospeda a O3 Portal este corriendo en una maquina diferente que O3Server y/o en caso de que este ultimo atienda en un puerto diferente a 1099.

– webapp.log.debug y webapp.log.file se configuran para que se genere log de debug en un determinado archivo. Estas properties son importantes en el caso de que el Portal de errores, para intentar detectar cual es el problema, o para enviar el log generado junto a un pedido de soporte.

Page 28: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Estructura de Carpetas (IV)

› Archivos .tld (tag lib definition). Estos archivos contienen definiciones de tags libs utilizados en el Portal. Se destacan los que son propios de Ideasoft:– o3.tld, que contiene los tags mas importantes. Por ejemplo contiene el tag

<o3:viewList>

– dndTagLib.tld contiene los tags encargados de implementar el funcionamiento del “arrastrar” dimensiones a los ejes de la vista.

– pane.tld implementa el ocultado de paneles, como por ejemplo el ocultado de la drillbar y la commandsbar en la página de navegación.

– web.tld contiene tgas de uso general

Es importante saber que documentación de lo que cada tag hace se encuentra en estos archivos .tld en caso de no disponer de la misma en formato HTML

Page 29: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Lista de Tag’s

Actualmente la lista de los tag’s de O3 disponibles es la siguiente:

o3:axisChoice.o3:axisLabel. o3:cellSpano3:commando3:dimensionNameo3:expressionStateo3:formo3:o3Export

o3:o3pageo3:selectChartTypeo3:selectDimensiono3:selectDimensionElemento3:selectMeasureo3:selectRoleo3:submito3:viewList

Algunos tags son muy interesantes y valiosos como el o3:viewList pero otros son muy particulares. La documentación de cada uno se encuentra en formato HTML.

Page 30: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Lista de Tag’s

Además de los tags de O3 hay otros disponibles: Chart: para manejar la tabla. Panes: para manejar paneles (ocultar, visualizar, etc). Web: para manejar algunos aspectos web. DnD: para manejar los aspectos del drag & drop.

charttld:chart webtld:repeatRowwebtld:repeatCellwebtld:tabstripwebtld:tabwebtld:tabcontent

dndtld:ddsourcedndtld:acceptdragdndtld:ddtargetdndtld:acceptdropdndtld:ddhandlerdndtld:ddwindowdndtld:imgrendererdndtld:txtrendererdndtld:classrenderer

o3panes:windowo3panes:paneso3panes:paneo3panes:default-pane-renderero3panes:default-panesbar-renderer

Page 31: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Ejemplo Simplificado

Con el fin de dar una alternativa a la hora de reorganizar / reimplementar un portal, esta disponible un ejemplo mas sencillo y utilizando directamente la API.

¿Porque es mas simple?: porque no tiene mucha lógica y permite ver algunos aspectos

mas claramente. porque consta de 6 paginas que hacen la mayoría del trabajo.

index.jsp loginForm.jsp

¿Login?

NO

SI

cubeList.jsperror.jsp

active_view.jsp logout.jsp

Page 32: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Instalación del Ejemplo Simplificado

Simplemente descomprima el zip dentro de la carpeta {o3_install_dir}/jboss/…/o3portal.war

Para acceder http://localhost:8080/o3portal/wclient_example

Page 33: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

O3 Portal API

Definición, Principales Clases

Page 34: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Principales Clases - Conexión

O3PortalSessionFactory: Esta clase permite obtener una instancia de O3PortalSession que representa una sesión en el portal de O3. openServerSession(O3PortalSessionContext): Es el método

que crea la sesión mencionada, recibe como parámetro el contexto.

ClientManagerFactory: Esta clase permite obtener una instancia de ClientManager que es el objeto utilizado para conectar con el servidor. getNewClientManager(String user, String pass): Crea un

objeto ClientManager con un usuario y contraseña indicados.

Page 35: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Principales Clases – Trabajo con Cubo

O3PortalSourceSession: Es el objeto que nos permite interactuar con un cubo (O3PortalSession.openSourceSession(“Demo”)).

Metadata: Representa el acceso a la metadata del cubo (O3PortalSourceSession.getMetadata()). getDimensionsCount(): Cantidad de dimensiones. getDimension(i): Una dimensión en particular.

O3PortalQueryModel: Representa el modelo que nos permitira hacer consultas sobre el cubo (O3PortalSourceSession.getQueryModel()) drillTo(dimension, member) addDimension(axis, level, dimension)

Page 36: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

O3 Portal API

Ejemplo programado en Java

Page 37: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Ejemplo de la O3 API

Se trata de archivos de ejemplo ideados para ver las funcionalidades del API de O3.

Se muestra la secuencia normal de trabajo: conectarse, abrir un cubo, realizar operaciones, etc.

La distribución contiene: O3ApiExample.bat que sirve para ejecutar el ejemplo. O3ApiExample.jar son las clases del ejemplo compiladas en

caso que no desearan compilarse. O3ApiExample_src.zip es un zip con los códigos fuente de las

clases de O3. o3portal.jar son las clases que implementan la O3 API. o3PortalDocs.zip es la documentación estilo Java Doc sobre el

API.

Page 38: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Consideraciones del Ejemplo

El ejemplo muestra código java que podría ser colocado en cualquier aplicación, en particular podría colocarse en un portal ya existente para utilizar O3.

A continuación veremos secciones relevantes del código que precisamente realizan las tareas que mencionábamos anteriormente.

El ejemplo esta compuesto por dos clases: com/ideasoft/o3/portal/impl/test/PortalTest.java com/ideasoft/o3/portal/impl/test/StandaloneSessionContext.java

Page 39: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Abriendo la Sesión

El siguiente código se puede ver en la clase PortalTest para abrir la sesión:

StandaloneSessionContext ctx = new StandaloneSessionContext();O3PortalSessionFactory factory = new

O3PortalSessionFactoryImpl(Context.getIEnv());O3PortalSession session = factory.openServerSession(ctx);

Donde la información de login sale de la clase StandaloneSessionContext y en particular del método getClientManager() donde encontraremos este código:

public ClientManager getClientManager() throws O3PortalException {…

return ClientManagerFactory.getNewClientManager("user", "user");…

}Donde se esta utilizando “user” como usuario con contraseña “user”, como

sabemos cuales son los parámetros lo veremos en la siguiente transparencia.

Page 40: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Información sobre los métodos

Para obtener información sobre los parámetros de los distintos métodos y los métodos que existen, siempre nos referiremos a la documentación incluida en o3PortalDocs.zip. La documentación de las aplicaciones Java se estila distribuir en un formato llamado “JavaDoc”, donde esto es un conjunto de páginas Web que pueden ser navegadas para encontrar la información.

Para el ejemplo anterior:

Page 41: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Una vez conectados…

Podemos imprimir la lista de roles del usuario conectado:

ArrayUtilities.printArray("Roles", session.getRoleNames());

Obtener la lista de cubos y vistas disponibles, como siempre si quisiéramos averiguar mas información sobre lo que nos ofrece cada clase debemos consultar el JavaDoc:

Iterator it = session.getSourcesInfo();while (it.hasNext()) {

System.out.println("\tsource: " + it.next());}

Page 42: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Abriendo el cubo Demo y mostrando dimensiones

O3PortalSourceSession sourceSession = session.openSourceSession("Demo");

int dimsCount = sourceSession.getMetadata().getDimensionsCount();

System.out.println("Cantidad de dimensiones: " + dimsCount);

for (int i = 0; i < dimsCount; i++) {System.out.println("\tDimension: " + sourceSession.getMetadata().getDimension(i).getName());

}

Page 43: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Haciendo consultas

Abro un modelo de consulta para operar:

O3PortalQueryModel queryModel = sourceSession.getQueryModel();

Hago un DrillTo (dimension, member):

queryModel.drillTo(0, queryModel.getMember(0).getChild(0));

Agrego una dimensión a un eje (axis, level, dimension):

queryModel.addDimension(GridModel.Y, 0, 2);

Page 44: O3 Portal Customization. Contenido  Introducción  Introducción  O3 Portal  Tecnología  Instalación  Customización  Customización Básica  Logo,

Instalación de Ejemplo de la O3 API

Se supone que se dispone de instalación de O3 de versión superior o igual a 3.1.200

1. Copiar en {o3_install_dir}/classes el archivo O3ApiExample.jar que contiene el ejemplo, o compilar los fuentes del ejemplo y copiar las classes resultantes en el mismo lugar

2. Copiar en {o3_install_dir}/classes el archivo o3portal.jar3. Copiar en {o3_install_dir}/bat el archivo

O3ApiExample.bat4. Iniciar el servidor de O35. Desde una consola DOS y situado en la carpeta

{o3_install_dir}/bat ejecutar O3ApiExample.bat (pasarle el parámetro -debug para ver mas log si se desea)