Buscar en el Blog

Mostrando las entradas con la etiqueta BI Server. Mostrar todas las entradas
Mostrando las entradas con la etiqueta BI Server. Mostrar todas las entradas

jueves, 9 de marzo de 2017

Como configurar Pentaho Server para importar y exportar archivos .saiku/.pivot4j 

En ésta publicación explico el procedimiento para configurar Pentaho Server para que sea posible exportar e importar los archivos generados por Saiku Analytics que poseen la extensión .saiku. y archivos generados por el visor Pivot4J  que poseen la extensión .pivot4j.

Ir al directorio: \pentaho-server\pentaho-solutions\system

Archivo importExport.xml

Editar el archivo importExport.xml y ubicar el bean con id IRepositoryContentConverterHandler, agregar una entrada para saiku y para pivot4j como se muestra a continuación:
<bean id="IRepositoryContentConverterHandler"
 class="org.pentaho.platform.plugin.services.importer.DefaultRepositoryContentConverterHandler" scope="singleton">
 <constructor-arg>
  <util:map id="convertersMap">
   <entry key="mondrian.xml" value-ref="streamConverter"/>
   <entry key="jpeg" value-ref="streamConverter"/>
   <entry key="saiku" value-ref="streamConverter"/>
   <entry key="pivot4j" value-ref="streamConverter"/>
  </util:map>
 </constructor-arg>
</bean>
Ubicar el bean con id DefaultExportHandler e incluir el valor para la extensión .saiku  y para .pivot4j como se muestra a continuación:
<bean id="DefaultExportHandler"
 class="org.pentaho.platform.plugin.services.importexport.DefaultExportHandler">
 <property name="repository" ref="unifiedRepository" />
 <property name="localeExportList">
  <list>
   <value>.xanalyzer</value>
   <value>.prpti</value>
   <value>.prpt</value>
   <value>.xaction</value>
   <value>.xdash</value>
   <value>.url</value>
   <value>.xanalyzer</value>
   <value>.xjpivot</value>
   <value>.xcdf</value>
   <value>.saiku</value>
   <value>.pivot4j</value>
  </list>
 </property>
</bean>
Archivo ImportHandlerMimeTypeDefinitions.xml

Editar el archivo ImportHandlerMimeTypeDefinitions.xml y en la sección MimeTypeDefinition mimeType="text/xml" agregar la extension saiku y para pivot4j como se muestra a continuación:
<MimeTypeDefinition mimeType="text/xml">
 <extension>cda</extension>
 <extension>cdfde</extension>
 <extension>cfg.xml</extension>
 <extension>jrxml</extension>
 <extension>kcs</extension>
 <extension>kdb</extension>
 <extension>kjb</extension>
 <extension>kps</extension>
 <extension>ksl</extension>
 <extension>report</extension>
 <extension>rptdesign</extension>
 <extension>wcdf</extension>
 <extension>xcdf</extension>
 <extension>xjpivot</extension>
 <extension>xml</extension>
 <extension>xreportspec</extension>
 <extension>saiku</extension>
 <extension>pivot4j</extension>
</MimeTypeDefinition> 
Finalmente, reiniciar Pentaho Server.

jueves, 5 de noviembre de 2015

Como acceder directamente a reportes creados con PRD usando el API de REST de Pentaho Server

En ésta publicación explico el procedimiento para invocar a Pentaho Report Viewer a través del API de REST. Esto es muy útil cuando se desea acceder directamente a reportes creados con Pentaho Report Designer (PRD) y publicados en Pentaho Server sin necesidad de navegar por la perspectiva Browse Files.

Suponiendo que se tiene la siguiente organización de la solución y se desea visualizar el ReportePentaho.prpt:

├── home
│   └── cursobi
│       └── reportes
│           └── ReportePentaho.prpt


El API de REST para invocar a ReportViewer provee el siguiente URL:
http://localhost:8080/pentaho/api/repos/<path>/viewer

En dónde <path> hace referencia a la ubicación del reporte usando :
:home:cursobi:reportes:ReportePentaho.prpt

URL simple para visualizar un reporte
http://localhost:8080/pentaho/api/repos/:home:cursobi:reportes:ReportePentaho.prpt/viewer

URL para visualizar un reporte enviando los valores de los parámetros

http://localhost:8080/pentaho/api/repos/:home:cursobi:reportes:ReportePentaho.prpt/viewer?param1=A&param2=X&param2=Y&param2=N

NOTA: para parámetros de selección múltiple se envía N veces el parámetro con los valores. Ej. param2=X&param2=Y&param2=N

URL para visualizar un reporte en formato PDF y ocultar la selección de parámetros
http://localhost:8080/pentaho/api/repos/:home:cursobi:reportes:ReportePentaho.prpt/viewer?param1=A&param2=X&param2=Y&paramN=N&output-target=pageable/pdf&showParameters=false

miércoles, 14 de octubre de 2015

Configuración de Conexión JNDI en Pentaho BI Server v5.x para MySQL

En ésta publicación explico el procedimiento para configurar una conexión JNDI (Java Naming and Directory Interface) en Pentaho BI Server v5.x hacia un servidor de base de datos MySQL.

1. Ir al directorio tomcat/conf y editar el archivo context.xml

2. Dentro de la etiqueta <Context> colocar lo siguiente:
<Context>
...
<Resource name="jdbc/dwh"
    auth="Container" type="javax.sql.DataSource"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    maxActive="20"
    maxIdle="5"
    maxWait="10000"
    username="usuario"
    password="password"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/dwh"/>
...
<Context>
NOTA: el nombre jdbc/dwh es muy importante y es sensible a mayúsculas y minúsculas. Es importante recordarlo para configurarlo en las herramientas de BI de Pentaho que se usen. El atributo driverClassName hace referencia al driver JDBC de MySQL y el atributo url a la cadena de conexión hacia el Data Warehouse.

3. Ir al directorio /tomcat/webapps/pentaho/WEB-INF y editar el archivo web.xml

4. Ubicar el comentario <!-- insert additional resource-refs --> y colocar la referencia al recurso JNDI creado en el paso 2.
  <!-- insert additional resource-refs -->
  <resource-ref>
    <description>DWH</description>
    <res-ref-name>jdbc/dwh</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
5. Iniciar Pentaho BI Server y acceder a PUC como Administrador

6. Ir a la perspectiva Home > Manage Data Sources > New Connection en JNDI Name colocar dwh

Configuración de Pentaho BI Server v5.4 para MySQL Server

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentahohibernate, quartz jackrabbit en la base de datos MySQL

Por defecto,  biserver usa la base de datos HSQLDB, ésta base de datos no es recomendada para instalaciones en producción por lo que es conveniente instalarlo en un motor de base de datos más robusto, biserver viene con los scripts para MySQL, Oracle, PostgreSQL y SQL Server

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.7 o superior, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  MySQL v5.5 o superior
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \biserver-ce-5.4
  • Haber descargado el controlador JDBC para  MySQL
Configuración paso a paso.-

1. Ir al directorio \biserver-ce-5.4\data aquí se encuentran los scripts para MySQL, Oracle, PostgreSQL y SQL Server

2. Abrir el directorio mysql5 y ejecutar los scripts: create_repository_mysql.sqlcreate_quartz_mysql.sql y create_jcr_mysql.sql

Se puede ejecutar los scripts SQL desde la línea de comandos, de la siguiente forma:

mysql -u root -ppassword < /path/to/create_repository_mysql.sql
mysql -u root -ppassword < /path/to/create_quartz_mysql.sql
mysql -u root -ppassword < /path/to/create_jcr_mysql.sql

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate,  pentaho_user del repositorio quartz, y jcr_user del repositorio jackrabbit


Configuración de Tomcat

3. Copiar el driver JDBC de MySQL (mysql-connector-java-5.X.X-bin.jar) al directorio \biserver-ce-5.4\tomcat\lib. NOTA: sí existe un driver JDBC para MySQL en el directorio, de preferencia reemplazarlo por uno más reciente.

4. Editar el archivo context.xml ubicado en el directorio: \biserver-ce-5.4\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a MySQL

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="hibuser" password="password"
  driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate"
  validationQuery="select 1;" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="pentaho_user" password="password"
  driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"
  validationQuery="select 1;"/>
</Context>


5. Editar el archivo web.xml en el directorio \biserver-ce-5.4\tomcat\webapps\pentaho\WEB-INF. En la línea 76 colocar lo siguiente para que únicamente se inicie la base de datos de ejemplo de HSQLDB:

<!-- [BEGIN HSQLDB DATABASES] -->
  <context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata</param-value>
  </context-param>
  <!-- [END HSQLDB DATABASES] -->

Configuración en BI Server

Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (biserver-ce) se encuentran en el directorio: \biserver-ce-5.4\pentaho-solutions\system

El resto de configuraciones se realizarán en éste directorio.

6. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file> al valor: system/hibernate/mysql5.hibernate.cfg.xml como se muestra a continuación:

<?xml version='1.0' encoding='utf-8'?>
<settings>
 <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
</settings>

NOTA: no olvidar de editar el archivo mysql5.hibernate.cfg.xml sí la base de datos está en otro servidor

7. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a MySQL como se muestra a continuación:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQLDialect

8. Editar el archivo quartz.properties en el directorio \biserver-ce-X.X.X\pentaho-solutions\system\quartz ubicar la propiedad org.quartz.jobStore.driverDelegateClass (línea 300) y colocar el siguiente valor:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

9. Editar el archivo repository.xml de Jackrabbit en el directorio \biserver-ce-5.4\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para que Jackrabbit apunte al repositorio de base de datos creado en MySQL:

  • Configuración del FileSystem: descomentar de la línea 44 a la 51. Comentar de la línea 79 a la 83
  • Configuración del DataStore: descomentar de la línea 97 a la 108. Comentar la línea 151
  • Configuración del Workspace: descomentar de la línea 219 a la 226. Comentar de la línea 255 a la 259. Descomentar de la línea 274 a la 281. Comentar de la línea 312 a la 317
  • Configuración del Versionamiento: descomentar de la línea 367 a la 374. Comentar de la línea 402 a la 406. Descomentar de la línea 422 a la 429. Comentar de la línea 459 a la 464

10. Reiniciar el servidor de BI de Pentaho

miércoles, 25 de febrero de 2015

Cómo cambiar BI Server al encoding UTF-8

En ésta publicación explico el procedimiento para colocar el encoding UTF-8 a Pentaho BI Server v5.x/6.x/7.x

1. Ir al directorio de BI Server \biserver-ce

2. Editar el archivo start-pentaho y colocar los siguientes argumentos de JVM -Dsun.jnu.encoding y -Dfile.encoding

En Windows
...
CATALINA_OPTS=-Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -Xms...
...

En Mac OS X
...
CATALINA_OPTS="-Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -Xms...
...

NOTA: ésta configuración tiene que ser realizada con biserver detenido.

martes, 17 de febrero de 2015

Configuración de Conexión JNDI en Pentaho Server para PostgreSQL

En ésta publicación explico el procedimiento para configurar una conexión JNDI (Java Naming and Directory Interface) en Pentaho Server v5.x a v8.x hacia un servidor de base de datos PostgreSQL.

1. Ir al directorio tomcat/conf y editar el archivo context.xml

2. Dentro de la etiqueta <Context> colocar lo siguiente:
<Resource name="jdbc/dwh_bus"
    auth="Container" type="javax.sql.DataSource"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory"
    maxActive="20"
    maxIdle="5"
    maxWait="10000"
    username="postgres"
    password="postgres"
    driverClassName="org.postgresql.Driver"
    url="jdbc:postgresql://127.0.0.1:5432/dwh_bus"/>
NOTA: el nombre jdbc/dwh_bus es muy importante y es sensible a mayúsculas y minúsculas. Es importante recordarlo para configurarlo en las herramientas de BI de Pentaho que se usen. El atributo driverClassName hace referencia al driver JDBC de PostgreSQL y el atributo url a la cadena de conexión hacia el Data Warehouse.

3. Ir al directorio /tomcat/webapps/pentaho/WEB-INF y editar el archivo web.xml

4. Ubicar el comentario <!-- insert additional resource-refs --> y colocar la referencia al recurso JNDI creado en el paso 2.
  <!-- insert additional resource-refs -->
  <resource-ref>
    <description>Conexion al DWH_BUS</description>
    <res-ref-name>jdbc/dwh_bus</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
5. Iniciar Pentaho Server y acceder a PUC como Administrador

6. Ir a la perspectiva Home > Manage Data Sources > New Connection en JNDI Name colocar dwh_bus como se muestra a continuación:



martes, 23 de diciembre de 2014

Cómo ocultar el Login as an Evaluator en Pentaho Server v5.x a v7.x

En ésta publicación explico el procedimiento para ocultar la opción de ingresar como evaluador (Login as an Evaluator) en Pentaho User Console (PUC) de Pentaho Server v5.x a v7.x

1. Ir al directorio:
pentaho-solutions/system/
2. Editar el archivo pentaho.xml y ubicar la etiqueta login-show-sample-users-hint. Cambiar el valor a false
<login-show-sample-users-hint>false</login-show-sample-users-hint>
3. Reiniciar BI Server

viernes, 14 de noviembre de 2014

Cómo activar el log de Mondrian en Pentaho BI Server para visualizar consultas MDX y SQL

En la siguiente publicación explico el procedimiento para habilitar el log de Mondrian en Pentaho BI Server poder visualizar los logs de las consultas MDX y SQL que se realizan. Esto es muy útil cuando queremos optimizar las consultas SQL.

1. Ir al directorio de configuración de Mondrian
cd biserver-ce/pentaho-solutions/system/mondrian

2. Abir el archivo mondrian.properties para editarlo

3. Ubicar las propiedades mondrian.trace.level y mondrian.rolap.generate.formatted.sql  y asignar los siguientes valores
mondrian.trace.level=1
mondrian.rolap.generate.formatted.sql=true

4. Ir al directorio de aplicaciones web de Tomcat y editar el archivo log4.xml
cd biserver-ce/tomcat/webapps/pentaho/WEB-INF/classes

5. Descomentar los appenders MDXLOG y SQLLOG como se muestra a continuación:
 <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender">
     <param name="File" value="../logs/mondrian_mdx.log"/>
     <param name="Append" value="false"/>
     <param name="MaxFileSize" value="500KB"/>
     <param name="MaxBackupIndex" value="1"/>
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
     </layout>
   </appender>

   <category name="mondrian.mdx">
      <priority value="DEBUG"/>
      <appender-ref ref="MDXLOG"/>
   </category>

   <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender">
     <param name="File" value="../logs/mondrian_sql.log"/>
     <param name="Append" value="false"/>
     <param name="MaxFileSize" value="500KB"/>
     <param name="MaxBackupIndex" value="1"/>
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
     </layout>
   </appender>

   <category name="mondrian.sql">
      <priority value="DEBUG"/>
      <appender-ref ref="SQLLOG"/>
   </category>
6. Finalmente, reiniciar Pentaho BI Server

viernes, 17 de octubre de 2014

Configuración de Pentaho BI Server 5.x para PostgreSQL

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentahohibernate, quartz jackrabbit en la base de datos PostgreSQL v9.3

Por defecto, el biserver de Pentaho usa la base de datos HSQLDB, ésta base de datos no es recomendada para instalaciones en producción por lo que es conveniente instalarlo en un motor de base de datos más robusto. El biserver viene con los scripts para MS SQL Server, MySQL, Oracle y PostgreSQL.

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.7, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  PostgreSQL v9.3
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \biserver-ce-5.x
  • Haber descargado el controlador JDBC para  PostgreSQL
Configuración paso a paso.-

1. Ir al directorio \biserver-ce-5.x\data aquí se encuentran los scripts para MS SQL Server, MySQL, Oracle y PostgreSQL

2. Abrir el directorio postgresql y ejecutar los scripts: create_repository_postgresql.sqlcreate_quartz_postgresql.sql y create_jcr_postgresql.sql

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate,  pentaho_user del repositorio quartz, y jcr_user del repositorio jackrabbit

Configuración de Tomcat

3. Copiar el driver JDBC Tipo 4 de PostgreSQL (postgresql-9.3-x.jdbc4.jar) al directorio \biserver-ce-5.x\tomcat\lib.

4. Editar el archivo context.xml ubicado en el directorio: \biserver-ce-5.x\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a PostgreSQL
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="hibuser" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/hibernate"
  validationQuery="select version();" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="pentaho_user" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/quartz"
  validationQuery="select version();"/>
</Context>

5. Eliminar el archivo pentaho.xml del directorio: \biserver-ce-5.x\tomcat\conf\Catalina\localhost

6. Editar el archivo web.xml en el directorio \biserver-ce-5.x\tomcat\webapps\pentaho\WEB-INF. En la línea 76 colocar lo siguiente para que únicamente se inicie la base de datos de ejemplo de HSQLDB:
<!-- [BEGIN HSQLDB DATABASES] -->
  <context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata</param-value>
  </context-param>
  <!-- [END HSQLDB DATABASES] -->

Configuración en BI Server

Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (biserver-ce) se encuentran en el directorio: \biserver-ce-5.x\pentaho-solutions\system

El resto de configuraciones se realizarán en éste directorio.

7. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file> al valor: system/hibernate/system/hibernate/postgresql.hibernate.cfg.xml como se muestra a continuación:
...
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
...

NOTA: no olvidar de editar el archivo postgresql.hibernate.cfg.xml sí la base de datos está en otro servidor

8. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a PostgreSQL como se muestra a continuación:
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://127.0.0.1:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

9. En la base de datos quartz crear la siguiente tabla:
CREATE TABLE "QRTZ"
(
NAME VARCHAR(200) NOT NULL,
PRIMARY KEY (NAME)
);

ALTER TABLE "QRTZ" OWNER TO pentaho_user;

10. Editar el archivo repository.xml de Jackrabbit en el directorio \biserver-ce-5.x\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en PostgreSQL:

  • Configuración del FileSystem: descomentar de la línea 61 a la 68. Comentar de la línea 71 a la 73
  • Configuración del DataStore: descomentar de la línea 114 a la 125. Comentar la línea 129
  • Configuración del Workspace: descomentar de la línea 214 a la 221. Comentar de la línea 225 a la 227. Descomentar de la línea 262 a la 269. Comentar de la línea 273 a la 276
  • Configuración del Versionamiento: descomentar de la línea 344 a la 351. Comentar de la línea 354 a la 356. Descomentar de la línea 392 a la 399. Comentar de la línea 402 a la 405

11. Reiniciar el servidor de BI de Pentaho

Consideraciones Importantes

En sistemas operativos Windows, sí se ejecutó biserver antes de realizar ésta configuración usando la base de datos por defecto HSQLDB, es conveniente eliminar el contenido de los siguientes directorios para evitar comportamientos inesperados:

  • \biserver-ce-5.x\tomcat\work\Catalina\*
  • \biserver-ce-5.x\tomcat\temp\*
  • \biserver-ce-5.x\pentaho-solutions\system\osgi\cache\*
  • \biserver-ce-5.x\pentaho-solutions\system\jackrabbit\repository

NOTA: de preferencia igual limpiar el cache del navegador web con el que se esté trabajando.


viernes, 29 de agosto de 2014

Configuración de Pentaho BI Server 5.1 para Oracle

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentaho: hibernate, quartz y jackrabbit en la base de datos Oracle

Por defecto, el biserver de Pentaho usa la base de datos HSQLDB, ésta base de datos no es recomendada para instalaciones en producción por lo que es conveniente instalarlo en un motor de base de datos más robusto. El biserver viene con los scripts para MySQL, Oracle y PostgreSQL.

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.7 en la siguiente publicación se explica el procedimiento. JDK v1.8 no está totalmente probado, por lo que sugiero no usarlo con biserver
  • Tener instalado la base de datos  Oracle v10g o superior. Para esta publicación he usado Oracle Express Edition 11g
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \biserver-ce-5.1
  • Haber descargado el controlador JDBC para  Oracle
Configuración paso a paso.-

1. Ir al directorio \biserver-ce-5.1\data aquí se encuentran los scripts para MySQL, Oracle y PostgreSQL

2. Abrir el directorio oracle10g y ejecutar los scripts: create_repository_ora.sqlcreate_quartz_ora.sqlcreate_jcr_ora.sql

NOTAS: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate,  quartz del repositorio quartz, y jcr_user del repositorio jackrabbit. Sugiero usar sqlplus para ejecutar los scripts.

Configuración de Tomcat

3. Copiar el driver JDBC de Oracle (ojdbc6.jar) al directorio \biserver-ce-5.1\tomcat\lib.

4. Editar el archivo context.xml ubicado en el directorio: \biserver-ce-5.1\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a Oracle

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="hibuser" password="password"
  driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521/XE"
  validationQuery="select 1 from dual" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="quartz" password="password"
  driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521/XE"
  validationQuery="select 1 from dual"/>
</Context>

5. Eliminar el archivo pentaho.xml del directorio: \biserver-ce-5.1\tomcat\conf\Catalina\localhost

6. Editar el archivo web.xml en el directorio \biserver-ce-5.1\tomcat\webapps\pentaho\WEB-INF. En la línea 73 colocar lo siguiente para que únicamente se inicie la base de datos de ejemplo de HSQLDB:

<!-- [BEGIN HSQLDB DATABASES] -->
  <context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata</param-value>
  </context-param>
  <!-- [END HSQLDB DATABASES] -->

Configuración en BI Server

Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (biserver-ce) se encuentran en el directorio: \biserver-ce-X.X.X\pentaho-solutions\system

El resto de configuraciones se realizarán en éste directorio.

7. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file> al valor: system/hibernate/oracle10g.hibernate.cfg.xml como se muestra a continuación:

<?xml version='1.0' encoding='utf-8'?>
<settings>  
    <!--config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file-->
 <config-file>system/hibernate/oracle10g.hibernate.cfg.xml</config-file>
</settings>

NOTA: no olvidar de editar el archivo oracle10g.hibernate.cfg.xml sí la base de datos está en otro servidor

8. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a Oracle como se muestra a continuación:

jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521/XE
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

9. Editar el archivo quartz.properties en el directorio \biserver-ce-X.X.X\pentaho-solutions\system\quartz ubicar la propiedad org.quartz.jobStore.driverDelegateClass (línea 300) y colocar el siguiente valor:

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate

10. Editar el archivo repository.xml de Jackrabbit en el directorio \biserver-ce-X.X.X\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en Oracle:

  • Configuración del FileSystem: descomentar de la línea 53 a la 59. Comentar de la línea 71 a la 73
  • Configuración del DataStore: descomentar de la línea 101 a la 112. Comentar la línea 129
  • Configuración del Workspace: descomentar de la línea 206 a la 212. Comentar de la línea 225 a la 227. Descomentar de la línea 252 a la 260. Comentar de la línea 273 a la 276
  • Configuración del Versionamiento: descomentar de la línea 336 a la 342. Comentar de la línea 354 a la 356. Descomentar de la línea 382 a la 390. Comentar de la línea 402 a la 405

NOTA: no olvidar colocar el valor de PENTAHO_TABLESPACE en el parámetro tablespace para todas las conexiones.

...
<param name="tablespace" value="PENTAHO_TABLESPACE"/>
...

11. Reiniciar el servidor de BI de Pentaho

jueves, 3 de julio de 2014

Configuración de Pentaho BI Server 5.0.1 para MySQL

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentaho: hibernate, quartz y jackrabbit en la base de datos MySQL

Por defecto, el biserver de Pentaho usa la base de datos HSQLDB, ésta base de datos no es recomendada para instalaciones en producción por lo que es conveniente instalarlo en un motor de base de datos más robusto. El biserver viene con los scripts para MySQL, Oracle y PostgreSQL.

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.7 o superior, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  MySQL v5.5 o superior
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: \biserver-ce-5.0.1
  • Haber descargado el controlador JDBC para  MySQL
Configuración paso a paso.-

1. Ir al directorio \biserver-ce-5.0.1\data aquí se encuentran los scripts para MySQL, Oracle y PostgreSQL

2. Abrir el directorio mysql5 y ejecutar los scripts: create_repository_mysql.sqlcreate_quartz_mysql.sqlcreate_jcr_mysql.sql

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate,  pentaho_user del repositorio quartz, y jcr_user del repositorio jackrabbit

Configuración de Tomcat

3. Copiar el driver JDBC de MySQL (mysql-connector-java-5.X.X-bin.jar) al directorio \biserver-ce-5.0.1\tomcat\lib.

4. Editar el archivo context.xml ubicado en el directorio: \biserver-ce-5.0.1\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a MySQL

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="hibuser" password="password"
  driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate"
  validationQuery="select 1;" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="pentaho_user" password="password"
  driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"
  validationQuery="select 1;"/>
</Context>

5. Eliminar el archivo pentaho.xml del directorio: \biserver-ce-5.0.1\tomcat\conf\Catalina\localhost

6. Editar el archivo web.xml en el directorio \biserver-ce-5.0.1\tomcat\webapps\pentaho\WEB-INF. En la línea 73 colocar lo siguiente para que únicamente se inicie la base de datos de ejemplo de HSQLDB:

<!-- [BEGIN HSQLDB DATABASES] -->
  <context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata</param-value>
  </context-param>
  <!-- [END HSQLDB DATABASES] -->

Configuración en BI Server

Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (biserver-ce) se encuentran en el directorio: \biserver-ce-X.X.X\pentaho-solutions\system

El resto de configuraciones se realizarán en éste directorio.

7. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file> al valor: system/hibernate/mysql5.hibernate.cfg.xml como se muestra a continuación:

<?xml version='1.0' encoding='utf-8'?>
<settings>  
    <!--config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file-->
 <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
</settings>

NOTA: no olvidar de editar el archivo mysql5.hibernate.cfg.xml sí la base de datos está en otro servidor

8. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a MySQL como se muestra a continuación:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQLDialect

9. Editar el archivo quartz.properties en el directorio \biserver-ce-X.X.X\pentaho-solutions\system\quartz ubicar la propiedad org.quartz.jobStore.driverDelegateClass (línea 300) y colocar el siguiente valor:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

10. Editar el archivo repository.xml de Jackrabbit en el directorio \biserver-ce-X.X.X\pentaho-solutions\system\jackrabbit. Realizar los siguientes pasos para apuntar Jackrabbit al repositorio de base de datos creado en MySQL:

  • Configuración del FileSystem: descomentar de la línea 44 a la 51. Comentar de la línea 72 a la 74
  • Configuración del DataStore: descomentar de la línea 89 a la 100. Comentar la línea 130
  • Configuración del Workspace: descomentar de la línea 198 a la 205. Comentar de la línea 226 a la 228. Descomentar de la línea 244 a la 250. Comentar de la línea 273 a la 276
  • Configuración del Versionamiento: descomentar de la línea 327 a la 334. Comentar de la línea 354 a la 356. Descomentar de la línea 373 a la 379. Comentar de la línea 401 a la 404

11. Reiniciar el servidor de BI de Pentaho

domingo, 9 de marzo de 2014

Cómo corregir la visualización en PDF de reportes publicados desde PRD en BI Server

En ésta publicación explico el procedimiento para corregir la visualización de reportes en PDF desde Pentaho User Console (PUC) de caracteres especiales como ñ,á,é,í, etc. cuando se trata de visualizar un reporte publicado desde Pentaho Report Designer (PRD) en formato PDF.

1. En PRD ir a File > Configuration > output-pageable-pdf

2. Seleccionar la opción ~.Encoding y colocar el valor ISO-8859-1

3. Guardar el reporte y publicar a Pentaho Server

Cómo instalar Saiku Reporting en Pentaho BI Server

En ésta publicación explico el procedimiento para instalar Saiku Reporting en Pentaho BI Server.

1. Asegurarse que Pentaho BI Server esté detenido

2. Descargar Community Data Access (CDA) del siguiente link: http://www.webdetails.pt/ctools/cda.html

3. Ejecutar el instalador cda-installer-latest.jar, hacer clic en Next hasta llegar al paso en que el instalador solicita Solution Folder, colocar la ruta de pentaho-solutions de Pentaho BI Server. Por ejemplo: c:/pentaho/biserver-ce-X.X.X/biserver-ce/pentaho-solutions/

4. Descargar Saiku Reporting del siguiente link: http://mgiepz.github.io/saiku-reporting/

5. Descomprimir el archivo saiku-adhoc-plugin-1.0-GA.zip y copiar el directorio saiku-adhoc a c:/pentaho/biserver-ce-X.X.X/biserver-ce/pentaho-solutions/system

6. Iniciar Pentaho BI Server y en la barra de herramientas de PUC debe aparecer el siguiente ícono: 

miércoles, 26 de febrero de 2014

Cómo configurar un pool de conexiones C3P0 en Pentaho BI Server CE para MySQL

En ésta publicación explico el procedimiento para configurar un pool de conexiones hacia MySQL en el servidor de Pentaho (BI SERVER).

1. Descargar c3p0 del siguiente link: http://sourceforge.net/projects/c3p0/files/c3p0-bin/

2. Copiar los archivos c3p0-x.x.x.x.jar y mchange-commons-java-X.X.X.X.jar al directorio /biserver-ce/tomcat/lib

3. Ir al directorio /biserver-ce/pentaho-solutions/system/hibernate

4. Editar el archivo mysql5.hibernate.cfg.xml y colocar las siguientes propiedades después de la etiqueta <session-factory>


<property name="hibernate.c3p0.acquire_increment">3</property>
<property name="hibernate.c3p0.idle_test_period">14400</property>
<property name="hibernate.c3p0.max_size">75</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name="hibernate.c3p0.timeout">25200</property>
<property name="hibernate.c3p0.preferredTestQuery">select 1</property> 
<property name="hibernate.c3p0.testConnectionOnCheckout">true</property>
   
5. Guardar el archivo y volver a iniciar Pentaho BI Server

Cómo eliminar un cubo OLAP publicado en Pentaho BI Server

En ésta publicación explico el procedimiento para eliminar un cubo publicado con PSW en Pentaho BI Server.

1. Ir al directorio /biserver-ce-X.X.X/biserver-ce/pentaho-solutions/system/olap

2. Editar el archivo datasources.xml y eliminar la etiqueta <Catalog> del cubo que deseamos eliminar

3. En la consola de usuario de Pentaho (PUC), ir a Herramientas > Actualizar > Vaciar el cache de esquemas de Mondrian

miércoles, 4 de diciembre de 2013

Cómo instalar CTools en Pentaho BI Server

En ésta publicación explico el procedimiento para instalar CTools sobre Pentaho BI Server CE en un sistema operativo Windows o Linux.
En Windows.-
  • Como se puede observar el instalador es un ejecutable de Linux. Pero no hay problema, se puede ejecutarlo desde Windows instalando la herramienta Cygwin, en la siguiente publicación explico el procedimiento (Cómo instalar y configurar Cygwin). Asegurarse que se instalen las herramientas wget, unzip
  • Abrir Cygwin Terminal y ubicar el archivo ctools-installer.sh descargado. En esa ubicación ejecutar el comando:
bash ctools-installer.sh -s /cygdrive/c/pentaho/biserver-ce-X.X.X/biserver-ce/pentaho-solutions -w /cygdrive/c/pentaho/biserver-ce-X.X.X/biserver-ce/tomcat/webapps/pentaho

NOTA: en Cygwin las unidades de disco duro se representan como /cygdrive/letraUnidad, por ejemplo para el comando anterior /cygdrive/c/... hace referencia a c:\...

En Linux.-
  • Ubicar el archivo ctools-installer.sh descargado
  • En una consola de comandos ejecutar el siguiente comando:
bash ctools-installer.sh -s /usr/pentaho/biserver-ce-X.X.X/biserver-ce/pentaho-solutions -w /usr/pentaho/biserver-ce-X.X.X/biserver-ce/tomcat/webapps/pentaho

Los argumentos -s y -w indican lo siguiente:

-s   Indica la ruta en dónde se encuentran las soluciones de pentaho (pentaho-solutions) de biserver-ce
-w  Indica la ruta en dónde se encuentra la aplicación web de pentaho


miércoles, 28 de noviembre de 2012

Cómo corregir la exportación a Excel en JPivot de BISERVER 4.5.0

En ésta publicación explico el procedimiento para corregir el error que se da en JPivot de Pentaho BI Server 4.5 cuando se quiere exportar los resultados de un cubo a Excel.

El error que se presenta es el siguiente:
java.lang.NoClassDefFoundError: org/apache/fop/configuration/Configuration
 com.tonbeller.jpivot.print.PrintServlet.init(PrintServlet.java:71)
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
 org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
 org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
 java.lang.Thread.run(Thread.java:662)

Para corregir se tiene que realizar lo siguiente:

1. Descargar la librería Apache FOP v0.20.5 del siguiente link: http://archive.apache.org/dist/xmlgraphics/fop/binaries/fop-0.20.5-bin.zip

2. Descomprir el archivo, ir al directorio build y copiar el archivo fop.jar

3. Ir al directorio de instalación de BI SERVERC:\pentaho\biserver-ce-4.5.0\biserver-ce\tomcat\webapps\pentaho\WEB-INF\lib y copiar en éste directorio la librería fop.jar del paso 2

4. Reiniciar Pentaho BI Server y probar.

NOTA: usar esta corrección con precaución ya que podría influir negativamente en el comportamiento de otros componentes de BI SERVER






lunes, 10 de septiembre de 2012

Error al publicar un reporte con gráficos desde Pentaho Report Designer

El día de hoy en clase nos encontramos con el error de que no pudimos ejecutar en la consola de usuario de Pentaho (PUC) un reporte publicado desde Pentaho Report Designer (PRD) v3.8.2 que contenía gráficos.

Éste error se da por una incompatibilidad entre la versión del servidor de BI biserver-ce v3.8.0 y PRD v3.8.2

Para solucionar este error se tiene que proceder la siguiente forma:

1. Revisar el log de Pentaho ubicado en: C:\pentaho\biserver-ce-3.8.0\biserver-ce\tomcat\bin\pentaho.log

2. Revisando el log se puede observar lo siguiente:

org.pentaho.reporting.libraries.resourceloader.ResourceCreationException: Unable to parse the document: ResourceKey{schema=org.pentaho.reporting.libraries.docbundle.bundleloader.ZipResourceBundleLoader, identifier=layout.xml, factoryParameters={org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=repository}=org.pentaho.reporting.libraries.repository.zipreader.ZipReadRepository@1c1d051, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=::Include-parser}=true, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=::Report}=org.pentaho.reporting.engine.classic.core.MasterReport={name="Graficos", type="master-report"}, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=repository-loader}=org.pentaho.reporting.libraries.docbundle.bundleloader.ZipResourceBundleLoader@1f864b, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=property-expansion}=false}, parent=ResourceKey{schema=pentaho, identifier=curso-bi-pentaho/ReporteGraficos.prpt, factoryParameters={}, parent=null}}

Este error aparece al querer ejecutar el reporte desde la consola de usuario (PUC) y es ocasionado por lo siguiente:

org.pentaho.reporting.libraries.xmlns.parser.ParseException: Unable to assign property 'categoricalAxisMessageFormat' to expression 'null' [Location: Line=56 Column=73]

Es decir, PRD v3.8.0 genera esa propiedad con valor nulo pero biserver-ce v3.8.0 no la soporta, es por eso que se genera el error de incompatibilidad. La solución a éste inconveniente es comentar esa propiedad en el archivo layout.xml del reporte que contiene gráficos, como se indica a continuación.

3. Abrir WinRAR o WinZIP e ir al directorio de la solución en dónde se publico el reporte. Por ejemplo: C:\pentaho\biserver-ce-3.8.0\biserver-ce\pentaho-solutions\curso-bi-pentaho\reportes

4. Abrir el reporte que contiene gráficos y ubicar el archivo layout.xml. Dar doble clic para editar el archivo, y ubicar la propiedad categoricalAxisMessageFormat

5. Comentar esa propiedad como se muestra a continuación:

<!-- ... -->
<property name="chartWidth">0</property>
<!--property name="categoricalAxisMessageFormat">{0}</property-->
<property name="rangeMaximum">1.0</property>
<!-- ... -->

6. Guardar el cambio y actualizar el cambio en WinRAR

7. Finalmente, el reporte ya podrá ser visualizado en PUC.

jueves, 30 de agosto de 2012

Cómo quitar las alertas para WAQR y JPivot en Pentaho BI Server 4.5 Community Edition

Cuando instalamos biserver-ce v4.5.0, para las herramientas WAQR y JPivot aparecen los siguientes mensajes de advertencia:

En WAQR aparece:

Web Ad Hoc Query and Reporting has been replaced by the new Interactive Reporting client.
It is provided as a convenience but will no longer be enhanced or offically supported by Pentaho.

En JPivot aparece:

JPivot has been replaced by Pentaho Analyzer.
It is provided as a convenience but will no longer be enhanced or offically supported by Pentaho.

En ésta publicación explico el procedimiento para eliminar éstos mensajes. Antes que nada tiene que estar abajo el servidor  biserver-ce.

Para WAQR:

1. Ir al directorio c:\pentaho\biserver-ce-4.5.0\biserver-ce\tomcat\webapps\pentaho\adhoc

2. Editar el archivo waqr.html

3. Comentar el contenido desde la linea 433 hasta 445 como se muestra a continuación:

<!--<td valign="middle" id="waqrDeprecatedAlert" style="padding-right: 5px">
        <table width="580px" style="background-color: #fffdd5; border-style: solid; border-color: #dcb114; border-width= 1px; font: normal .85em Tahoma, 'Trebuchet MS', Arial">
          <tr>
            <td>
              <img src="images/warning.png"/>
            </td>
            <td>
            Web Ad Hoc Query and Reporting has been replaced by the new Interactive Reporting client.<br/>
            It is provided as a convenience but will no longer be enhanced or offically supported by Pentaho.
            </td>
          </tr>
        </table>
      </td>-->

En BI Server v5.x realizar lo siguiente:

1. Ir al directorio \biserver-ce-5.x\pentaho-solutions\system\waqr\resources

2. Editar el archivo waqr.html

3. Comentar el contenido desde la linea 448 hasta 460

Para JPivot:

1. Ir al directorio c:\pentaho\biserver-ce-4.5.0\biserver-ce\tomcat\webapps\pentaho\jsp

2. Editar el archivo Pivot.jsp

3. Comentar el contenido desde la línea 1481 hasta 1493 como se muestra a continuación:

<!--<div id="deprecatedWarning" style="margin: auto; width: 100%">
  <table width="580px" align="center" style="background-color: #fffdd5; border-style: solid; border-color: #dcb114; border-width= 1px; font: normal .85em Tahoma, 'Trebuchet MS', Arial">
    <tr>
      <td>
        <img src="./jpivot/navi/warning.png"/>
      </td>
      <td>
        JPivot has been replaced by Pentaho Analyzer.<br/>
        It is provided as a convenience but will no longer be enhanced or offically supported by Pentaho.
      </td>
    </tr>
  </table>
</div>-->

4. Finalmente, iniciar  biserver-ce y ya no aparecerán los mensajes de advertencia.

En BI Server v5.x realizar lo siguiente:

1. Ir al directorio \biserver-ce-5.x\pentaho-solutions\system\pentaho-jpivot-plugin\jpivot\table

2. Editar el archivo mdxtable.css

3. Al final del archivo colocar lo siguiente:
#deprecatedWarning {
display: none;
}

NOTA: para aplicar éstas configuraciones se tiene que detener biserver-ce e iniciar nuevamente para ver los cambios.

domingo, 19 de agosto de 2012

Configuración de Pentaho BI Server para PostgreSQL

En ésta publicación explico el procedimiento para configurar los repositorios de metadatos de Pentaho: hibernate y quartz en la base de datos PostgreSQL

Por defecto, el biserver de Pentaho usa la base de datos HSQLDB, ésta base de datos no es recomendada para instalaciones en producción por lo que es conveniente instalarlo en un motor de base de datos más robusto. El biserver viene con los scripts para MySQL, Oracle y PostgreSQL.

Pre-requisitos.-
  • Tener instalado y configurado el JDK v1.6 o superior, en la siguiente publicación se explica el procedimiento
  • Tener instalado la base de datos  PostgreSQL v8.4 o superior
  • Haber descargado la aplicación biserver-ce de Pentaho y haberla copiado y descomprimido en el directorio: C:\pentaho\biserver-ce-X.X.X
  • Haber descargado el controlador JDBC Tipo 3 para  PostgreSQL
Configuración paso a paso.-

1. Ir al directorio C:\pentaho\biserver-ce-X.X.X\biserver-ce\data aquí se encuentran los scripts para MySQL, Oracle y PostgreSQL

2. Abrir el directorio postgresql y copiar los scripts: create_repository_postgresql.sql, create_quartz_postgresql.sql y create_sample_datasource_postgresql.sql al directorio C:\Program Files\PostgreSQL\8.4\scripts

3. Ejecutar el programa runpsql.bat y acceder con el usuario postgres



4. Ejecutar la siguiente secuencia de comandos

\i create_repository_postgresql.sql
password
\i create_sample_datasource_postgresql.sql
\connect postgres postgres
sa
\i create_quartz_postgresql.sql
password

NOTA: password es la contraseña por defecto para los usuarios hibuser del repositorio hibernate y pentaho_user del repositorio quartz, sa es la contraseña del usuario postgres.

Configuración de Tomcat

5. Copiar el driver JDBC Tipo 3 de PostgreSQL (postgresql-X.X-XXX.jdbc3.jar) al directorio C:\pentaho\biserver-ce-X.X.X\biserver-ce\tomcat\lib.

6. Editar el archivo context.xml ubicado en el directorio: C:\pentaho\biserver-ce-X.X.X\biserver-ce\tomcat\webapps\pentaho\META-INF. Colocar la siguiente configuración para cambiar la conexión a PostgreSQL

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
 <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="hibuser" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/hibernate"
  validationQuery="select version();" />
  
 <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
  maxWait="10000" username="pentaho_user" password="password"
  driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/quartz"
  validationQuery="select version();"/>
</Context>

Configuración del BI Server

Todos los archivos de configuración del servidor central de BI de Pentaho Community Edition (biserver-ce) se encuentran en el directorio: C:\pentaho\biserver-ce-X.X.X\biserver-ce\pentaho-solutions\system

El resto de configuraciones se realizarán en éste directorio.

7. Ir al subdirectorio /hibernate y editar el archivo hibernate-settings.xml, cambiar la etiqueta <config-file> al valor: system/hibernate/postgresql.hibernate.cfg.xml como se muestra a continuación:

<?xml version='1.0' encoding='utf-8'?>
<settings>  
    <!--config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file-->
 <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
    <managed>false</managed>
</settings>

8. Editar el archivo applicationContext-spring-security-jdbc.xml y cambiar la configuración de conexión del Bean dataSource a PostgreSQL como se muestra a continuación:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springsource.org/dtd/spring-beans.dtd">
<beans> 
 <!--...-->
 <bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="org.postgresql.Driver" />
  <property name="url"
   value="jdbc:postgresql://127.0.0.1:5432/hibernate" />
  <property name="username" value="hibuser" />
  <property name="password" value="password" />
 </bean>
 <!--...-->
</beans>

9. Editar el archivo applicationContext-spring-security-hibernate.properties y cambiar la configuración de conexión a PostgreSQL como se muestra a continuación:

jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://127.0.0.1:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

10. Reiniciar el servidor de BI de Pentaho (biserver-ce)