Version 15

    Project information

    Overview

     

    The report server is a small integration layer for the BIRT runtime. The project is used to embed BIRT reports in the jBPM GWT console, but could used with other projects as well.

     

    rendering.jpg

     

    Dependency on the BIRT ReportEngine

    The report server is actually just a thin integration layer. It depends on the BIRT ReportEngine, which has to be installed along with the server. The report engine can either be picked from the BIRT website or retrieved as a maven artifact from the JBoss repository:

     

     <dependency>
            <groupId>org.eclipse.birt</groupId>
            <artifactId>report-engine</artifactId>
            <type>zip</type>
            <version>2.2.2</version>
     </dependency>    
    

     

    JBoss AS integration

    The main server module (report-server.war) can just be dropped into the AS deploy folder. Report templates, the ReportEngine and other resources go into the BIRT working directory (refered to as $WORK_DIR):

     

    $JBOSS_HOME/server/<config>/data/birt

     

    Working directory layout and contents

    $WORK_DIR/
    |_ ReportEngine/          (the BIRT report engine)
    |_ output/                    (report results, *.html, *.pdf)
    |_ *.rptdesign               (report templates)  

     

    NOTE: Since jBPM 3.3.1.GA the report server, including templates and the report engine is setup through the jBPM installer. In previous version you may need to do that manually.

    Rendering reports

    The report server offers access to reports through HTTP. The default web context is '/report-server/' and reports can be retrieved using the '/view/<report_template_name>.rptdesign' resource, i.e:

     

     

    GET http://localhost:8080/report-server/rs/view/process_activity.rptdesign

     

     

    Passing report parameters

    The '/view' resource accepts an arbitrary list of url encoded HTTP GET parameters, which will be passed to the BIRT runtime upon report generation:

     

     

    GET /report-server/rs/view/definition_report.rptdesign&name=MySampleProcess

     

    NOTE: A complete list of available resources and options can be seen at /report-server/index.html

     

    Developing report templates

    Report templates are developed and customized using the BIRT designer (eclipse tool). For further information see BIRT webpage.

     

    Here are some quickstart links:

     

     

    Customizing the default reports

    The default report templates that are used with the GWT console reside with the GWT console server module. If you want to extend or customize the default reports that ship with jBPM you could as well retrieve them from the JBoss maven repository:

     

    <dependency>
    
            <groupId>org.jbpm.jbpm3</groupId>
            <artifactId>gwt-console-server</artifactId>
            <classifier>report</classifier>
            <version>1.0.0-SNAPSHOT</version>
            <type>zip</type>
    </dependency>
    
    

     

    FAQ

    How do I change the datasource configuration?

     

    If your report design contains a JDBC data source defined with both JDBC Driver URL and JNDI name, then JNDI service will be used first and JDBC driver will be used as fallback. The username and password properties, if specified, are used in both cases. When you need to ensure that JNDI service is really used, increase logging level of BIRT engine; in case of JDBC fallback you will see JNDI lookup errors in the logs.

    (Taken from BIRT FAQ)

     

    How to replace the default report templates?

     

     

     

    11:23amhbraunyou need to install the report server
    11:23amhbraunit's a war
    11:23amhbraunand put the birt runtime under server/default/data/birt
    11:23amhbraunWORK_DIR/
    11:23amhbraun|_ ReportEngine/          (the BIRT report engine)
    11:23amhbraun|_ output/                    (report results, *.html, *.pdf)
    11:23amhbraun|_ *.rptdesign              (report templates)
    11:24amhbraunwhereas WORK_DIR is server/default/data/birt
    11:24amhbraunonce you've created your own report templates, either stick to the naming convention or configure it in Application.html
    11:25amhbraun<!-- BPM console configuration -->
    11:25amhbraun  <script type="text/javascript">
    11:25amhbraun      var consoleConfig = {
    11:25amhbraun        consoleServerUrl: "http://localhost:8080/gwt-console-server",
    11:25amhbraun        reportServerUrl: "http://localhost:8080/report-server",
    11:25amhbraun        overviewReportFile:"process_activity.rptdesign",
    11:25amhbraun        definitionReportFile:"definition_report.rptdesign",
    11:25amhbraun        instanceReportFile:"instance_report.rptdesign"
    11:25amhbraun      };
    11:25amhbraun  </script>
    11:25amhbraunSee? It contains the report template file names
    11:26amkrisvcool, that was the info I was looking for, thx, I'll give it a try and let you know
    11:26amhbraunyou can start with the templates and the report server alone
    11:26amhbrauncheck the index.html it contains the resources Url's to render reports
    11:27amhbrauni.e.
    11:27amhbraun<tr>
    11:27amhbraun  <td>GET</td>
    11:27amhbraun  <td>/rs/report/view/{reportName}</td>
    11:27amhbraun  <td>View a HTML report from template 'reportName' </td>
    11:27amhbraun  <td>text/html</td>
    11:27amhbraun</tr>
    11:28amhbraunonce that is running succcessfully you can move on to the console
    11:28amhbraunit basically just pulls that resources into an iframe
    11:29amhbraunbased on the configured template names