<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    BPM Console - Reporting
</h3>
<span style="margin-bottom: 10px;">
    modified by <a href="http://community.jboss.org/people/admin">Administrator Administrator</a> in <i>jBPM</i> - <a href="http://community.jboss.org/docs/DOC-13191">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><h1>Project information</h1><ul><li><span>Source repository: </span><a class="jive-link-external-small" href="https://svn.jboss.org/repos/jbpm/projects/report-server/trunk">https://svn.jboss.org/repos/jbpm/projects/report-server/trunk</a><br/>Anonymous access: <a class="jive-link-external-small" href="http://anonsvn.jboss.org/repos/jbpm/projects/report-server/trunk/">http://anonsvn.jboss.org/repos/jbpm/projects/report-server/trunk/</a></li><li>Forum: <a class="jive-link-external-small" href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=219">jBPM Developer Forum</a><span> , <a class="jive-link-external-small" href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=295">JBoss GWT Developer</a></span></li><li>BIRT Homepage: <a class="jive-link-external-small" href="http://www.eclipse.org/birt">http://www.eclipse.org/birt</a></li><li>BIRT version: The report server depends on <strong>BIRT 2.2.2</strong></li></ul><h3>Overview</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong><a href="http://community.jboss.org/servlet/JiveServlet/showImage/102-13191-15-1099/rendering.jpg"><span> http://community.jboss.org/servlet/JiveServlet/downloadImage/102-13191-15-1099/450-351/rendering.jpg </span></a></strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2>Dependency on the BIRT ReportEngine</h2><p>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:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code"> &lt;dependency&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;groupId&gt;org.eclipse.birt&lt;/groupId&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;artifactId&gt;report-engine&lt;/artifactId&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;type&gt;zip&lt;/type&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;version&gt;2.2.2&lt;/version&gt;
 &lt;/dependency&gt;&#160;&#160;&#160; 
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2><strong>JBoss AS integration</strong></h2><p>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 <span style="text-decoration: underline;">BIRT working directory</span> (refered to as $WORK_DIR)<span style="text-decoration: underline;">:</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code">$JBOSS_HOME/server/&lt;config&gt;/data/birt</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3>Working directory layout and contents</h3><pre class="jive-pre"><code class="jive-code">$WORK_DIR/
|_ ReportEngine/&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160; (the BIRT report engine)
|_ output/&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160; (report results, *.html, *.pdf)
|_ *.rptdesign&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160; (report templates)&#160; </code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><strong>NOTE:</strong> 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.</blockquote><h2>Rendering reports</h2><p>The report server offers access to reports through HTTP. The default web context is '<span style="font-family: 'courier new', courier;"><span style="font-weight: normal;">/report-server/</span></span>' and reports can be retrieved using the '<span style="font-family: 'courier new', courier;"><span style="font-weight: normal;">/view/&lt;report_template_name&gt;.rptdesign</span></span>' resource, i.e:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code">GET http://localhost:8080/report-server/rs/view/process_activity.rptdesign</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3>Passing report parameters</h3><p>The '<span style="font-family: 'courier new', courier;">/view'</span> resource accepts an arbitrary list of url encoded HTTP GET parameters, which will be passed to the BIRT runtime upon report generation:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code">GET /report-server/rs/view/definition_report.rptdesign&amp;name=MySampleProcess</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p><strong>NOTE: </strong>A complete list of available resources and options can be seen at<strong> <span style="font-family: 'courier new', courier;"><span style="font-weight: normal;">/report-server/index.html</span></span></strong></p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2>Developing report templates</h2><p>Report templates are developed and customized using the BIRT designer (eclipse tool). For further information see <a class="jive-link-external-small" href="http://www.eclipse.org/birt">BIRT webpage</a>.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Here are some quickstart links:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><ul><li><strong><a class="jive-link-external-small" href="http://www.eclipse.org/birt/phoenix/intro/">BIRT introduction</a></strong><br/></li><li><strong><a class="jive-link-external-small" href="http://download.eclipse.org/birt/downloads/examples/reports/2.1/tutorial/tutorial.html">Tutorial (Flash movie)</a></strong><br/></li><li><strong><a class="jive-link-external-small" href="http://www.eclipse.org/birt/phoenix/build/">Installation of the BIRT tools</a></strong><br/></li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3>Customizing the default reports</h3><p>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:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code">&lt;dependency&gt;

&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;groupId&gt;org.jbpm.jbpm3&lt;/groupId&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;artifactId&gt;gwt-console-server&lt;/artifactId&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;classifier&gt;report&lt;/classifier&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;version&gt;1.0.0-SNAPSHOT&lt;/version&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;type&gt;zip&lt;/type&gt;
&lt;/dependency&gt;

</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h2><strong>FAQ</strong></h2><h4>How do I change the datasource configuration?</h4><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>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.</p><p>(Taken from <a class="jive-link-external-small" href="http://wiki.eclipse.org/index.php/BIRT/FAQ/Data_Access#Q:_What_data_sources_does_BIRT_support.3F">BIRT FAQ</a>)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h4>How to replace the default report templates?</h4><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><div class="envelope" id="UHAK9GYU842"><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message"><a class="jive-link-external-small" href="https://www.jboss.org/community/docs/DOC-13191">https://www.jboss.org/community/docs/DOC-13191</a></span></div><div class="envelope" id="EQWQ2OYU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">you need to install the report server</span></div><div class="envelope" id="RCJ8GRYU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">it's a war</span></div><div class="envelope" id="FTLXKAZU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">and put the birt runtime under server/default/data/birt</span></div><div class="envelope" id="H44ZGJZU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">WORK_DIR/</span></div><div class="envelope" id="B3DQHJZU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">|_ ReportEngine/&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; (the BIRT report engine)</span></div><div class="envelope" id="BINXHJZU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">|_ output/&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; (report results, *.html, *.pdf)</span></div><div class="envelope" id="B3UAIJZU842"><span class="timestamp hidden">[</span><span class="timestamp">11:23am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">|_ *.rptdesign&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; (report templates) </span></div><div class="envelope" id="IS6CA20V842"><span class="timestamp hidden">[</span><span class="timestamp">11:24am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">whereas WORK_DIR is server/default/data/birt</span></div><div class="envelope" id="ZA3LHL1V842"><span class="timestamp hidden">[</span><span class="timestamp">11:24am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">once you've created your own report templates, either stick to the naming convention or configure it in Application.html</span></div><div class="envelope" id="UGKP7N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&lt;!-- BPM console configuration --&gt;</span></div><div class="envelope" id="XA4Z7N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160; &lt;script type="text/javascript"&gt;</span></div><div class="envelope" id="WIC78N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160; var consoleConfig = {</span></div><div class="envelope" id="O12G8N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160;&#160;&#160; consoleServerUrl: "<a class="jive-link-external-small" href="http://localhost:8080/gwt-console-server">http://localhost:8080/gwt-console-server</a>",</span></div><div class="envelope" id="RZ7U8N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160;&#160;&#160; reportServerUrl: "<a class="jive-link-external-small" href="http://localhost:8080/report-server">http://localhost:8080/report-server</a>",</span></div><div class="envelope" id="FC879N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160;&#160;&#160; overviewReportFile:"process_activity.rptdesign",</span></div><div class="envelope" id="EMME9N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160;&#160;&#160; definitionReportFile:"definition_report.rptdesign",</span></div><div class="envelope" id="CN0S9N2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160;&#160;&#160; instanceReportFile:"instance_report.rptdesign"</span></div><div class="envelope" id="GXR5AN2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160;&#160;&#160;&#160;&#160; };</span></div><div class="envelope" id="RKSDAN2V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160; &lt;/script&gt;</span></div><div class="envelope" id="QGAT823V842"><span class="timestamp hidden">[</span><span class="timestamp">11:25am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">See? It contains the report template file names</span></div><div class="envelope" id="KB8RDR3V842"><span class="timestamp hidden">[</span><span class="timestamp">11:26am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">krisv</a><span class="hidden">:</span><span class="message">cool, that was the info I was looking for, thx, I'll give it a try and let you know <span class="emoticon wink"></span></span></div><div class="envelope" id="Y9NC494V842"><span class="timestamp hidden">[</span><span class="timestamp">11:26am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">you can start with the templates and the report server alone</span></div><div class="envelope" id="U2IHAW4V842"><span class="timestamp hidden">[</span><span class="timestamp">11:26am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">check the index.html it contains the resources Url's to render reports</span></div><div class="envelope" id="DEX996V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">i.e.</span></div><div class="envelope" id="ZE4OE96V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&lt;tr&gt;</span></div><div class="envelope" id="PYFXE96V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160; &lt;td&gt;GET&lt;/td&gt;</span></div><div class="envelope" id="ELSBF96V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160; &lt;td&gt;/rs/report/view/{reportName}&lt;/td&gt;</span></div><div class="envelope" id="FT8PF96V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160; &lt;td&gt;View a HTML report from template 'reportName' &lt;/td&gt;</span></div><div class="envelope" id="KO1XF96V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&#160; &lt;td&gt;text/html&lt;/td&gt;</span></div><div class="envelope" id="KPOAG96V842"><span class="timestamp hidden">[</span><span class="timestamp">11:27am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">&lt;/tr&gt;</span></div><div class="envelope" id="OA1KJG7V842"><span class="timestamp hidden">[</span><span class="timestamp">11:28am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">once that is running succcessfully you can move on to the console</span></div><div class="envelope" id="ASUHIX7V842"><span class="timestamp hidden">[</span><span class="timestamp">11:28am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">it basically just pulls that resources into an iframe</span></div><div class="envelope" id="O1HN4C8V842"><span class="timestamp hidden">[</span><span class="timestamp">11:29am</span><span class="timestamp hidden">]</span><a class="jive-link-external-small" href="#">hbraun</a><span class="hidden">:</span><span class="message">based on the configured template names</span></div><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></blockquote></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-13191">going to Community</a></p>

        <p style="margin: 0;">Create a new document in jBPM at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>