Buscar en el Blog

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.

miércoles, 22 de agosto de 2012

Configuración de Pentaho Administration Console (PAC) para PostgreSQL

En ésta publicación explico el procedimiento para configurar la consola de administración de Pentaho (PAC)

1. Copiar el controlador JDBC Tipo 3 de PostgreSQL (postgresql-X.X-XXX.jdbc3.jar) al directorio c:\pentaho\biserver-ce-X.X.X\administration-console\jdbc

2. Ir al directorio c:\pentaho\biserver-ce-X.X.X\administration-console\resource\config

3. Editar el archivo console.xml y colocar la siguiente configuración:

<?xml version="1.0" encoding="UTF-8"?>
<console> 
  <solution-path>../biserver-ce/pentaho-solutions</solution-path>
  <war-path>../biserver-ce/tomcat/webapps/pentaho</war-path>
  <platform-username>joe</platform-username>  
  <biserver-status-check-period-millis>30000</biserver-status-check-period-millis>  
  <homepage-url>http://www.pentaho.com/console_home</homepage-url>  
  <homepage-timeout-millis>15000</homepage-timeout-millis>  
  <!-- comma separated list of roles (no spaces) -->  
  <default-roles>Authenticated</default-roles>
  <default-server-dir>biserver-ce</default-server-dir>
</console>

Configuración de la contraseña de publicación en Pentaho BI Server

Para poder publicar contenido de BI (metadatos, reportes, cubos OLAP) de las herramientas PME, PRD y PSW al servidor central de BI de Pentaho (biserver-ce) es obligatorio configurar la contraseña de publicación, en ésta publicación explico el procedimiento para hacerlo:

1. Ir al directorio C:\pentaho\biserver-ce-X.X.X\biserver-ce\pentaho-solutions\system

2. Editar el archivo publisher_config.xml y asignar un valor a la etiqueta <publisher-password> como se muestra a continuación:

<?xml version="1.0"?>
<publisher-config>
 <publisher-password>password</publisher-password>
</publisher-config>

Configuración del correo electrónico en Pentaho BI Server para Gmail

En ésta publicación explico el procedimiento para configurar una cuenta de correo electrónico para el servidor de BI de Pentaho (biserver-ce)

1. Ir al directorio c:\pentaho\biserver-ce-X.X.X\biserver-ce\pentaho-solutions\system\smtp-email

2. Renombrar el archivo email_config.xml a email_config_backup.xml

3. Renombrar el archivo email_config_gmail.xml a email_config.xml 

4. Editar el archivo email_config_gmail.xml colocando la cuenta de correo electrónico del curso y la contraseña, como se muestra a continuación:

<email-smtp>

 <properties>
  <!-- This is the address of your SMTP email server for sending email. e.g. smtp.pentaho.org -->
  <mail.smtp.host>smtp.gmail.com</mail.smtp.host>

  <!--  This is the port of your SMTP email server. Usually this is 25. For GMail this is 587 -->
  <mail.smtp.port>587</mail.smtp.port>
  
  <!--  The transport for accessing the email server. Usually this is smtp. For GMail this is smtps -->
  <mail.transport.protocol>smtps</mail.transport.protocol>
  
  <!--  Usually this is 'false'. For GMail it is 'true' -->
  <mail.smtp.starttls.enable>true</mail.smtp.starttls.enable>
  
  <!-- Set to true if the email server requires the sender to authenticate -->
  <mail.smtp.auth>true</mail.smtp.auth>
  
  <!--  This is true if the email server requires an SSL connection. Usally 'false'. For GMail this is 'true' -->
  <mail.smtp.ssl>true</mail.smtp.ssl>

  <!--  Run Email Send Test -->
  <mail.run.send.test>true</mail.run.send.test>
  
    <!-- For GMail this is 'false' -->
    <mail.smtp.quitwait>false</mail.smtp.quitwait>

 </properties>

 <!-- The is the address or your POP3 email server for receiving email. e.g. pop.pentaho.org -->
 <!-- It is currently not used -->
 <mail.pop3></mail.pop3>

 <!-- This is the default 'from' address that emails from the Pentaho BI Platform will appear to come from e.g. joe.pentaho@pentaho.org -->
 <mail.from.default>ingmmurillo.capacitacion@gmail.com</mail.from.default>

 <!-- This is the user id used to connect to the email server for sending email
       It is only required if email-authenticate is set to true
       This is never sent or shown to anyone -->
 <mail.userid>ingmmurillo.capacitacion</mail.userid>
 
 <!-- This is the password used to connect to the email server for sending email 
       It is only required if email-authenticate is set to true
       This is never sent or shown to anyone -->
 <mail.password>........</mail.password>

</email-smtp>