Introduction to reports based on SQL

  • Install the iReport tool.
  • Execute the iReport tool.

OpenKM comes with a specific JasperReports Library engine that supports older versions but not newer ones. In the Application version compatibility table you have a correspondence list between OpenKM and JasperReports Library engine versions.

You can set a specific output version in the iReport tool:

  • Click on Tools menu > Options.
  • From iReport > General tab, click on Compatibility tab.
  • Set the Jasper version compatibility.
  • Click on OK button.

Create data source

  • Click on the Report data sources button.

  • Click on the New button.
  • Choose the "Database JDBC connection" option.
  • Click on the Next button.
  • Set the name.
  • Choose the JDBC driver.
  • Click on the Test button to check the connection parameters.
  • Click on the Save button.

  • Check the Set as default checkbox.
  • Click on the Close button.

Testing the SQL sample report

For testing the SQL report sample, you must have OpenKM running.

 

  • Click on the Designer tab.
  • Click on  the Report query button.

From this point you can add your jrxml file and register it in your OpenKM at Administration > Reports.

A closer look at the JRXML file

The iReport tool creates the Jasper report file in XML format for you.

Although the iReport tool does all the work for you in a friendly user interface, it is a good idea to take a look - at least out of curiosity - at the kind of file being created.

Query section

<queryString>
  <![CDATA[select * from OKM_USER;]]>
</queryString>

Fields section

<field name="USR_ID" class="java.lang.String"/>
<field name="USR_NAME" class="java.lang.String"/>
<field name="USR_PASSWORD" class="java.lang.String"/>
<field name="USR_EMAIL" class="java.lang.String"/>
<field name="USR_ACTIVE" class="java.lang.String"/>

Remote image section

<imageExpression><![CDATA[$P{host}+"/logo/report"]]></imageExpression>

Using fields in report

<textField isBlankWhenNull="false">
  <reportElement key="textField" x="329" y="0" width="206" height="18" uuid="5e3e2df8-a99b-4ce2-aab9-9adb97bc4dc9"/>
    <textElement>
      <font fontName="Arial"/>
    </textElement>
  <textFieldExpression><![CDATA[$F{USR_EMAIL}]]></textFieldExpression>
</textField>