10 Replies Latest reply on Oct 9, 2012 4:01 AM by sakkie6yster

    Birt 3.7

    bussard

      Is it possible configure a Web Application created by Jboss Tools 3.3M2 to use Birt 3.7.

       

      I managed to set up with jsf4birt, but now I wanna use the seam tags only, but it seems a lot more complicated make the configurations by hand.

       

      Could someone help me fulfiil this mission ?

        • 1. Re: Birt 3.7
          snjeza

          The JBoss BIRT Integration doesn't work correctly with JBT 3.3/BIRT 3.7.

          See https://issues.jboss.org/browse/JBIDE-9299

          • 2. Re: Birt 3.7
            bussard

            I was thinking in just use the seam tags to render reports created by Birt Report Designer, not the complete integration.

             

            For now I'm creting test reports with JNDI connection and ANSI SQL to create the datasets and using jsf4birt tags to render. The application was created by Jboss Tools 3.3M2 and I'm wondering if I can use the xmlns:b="http://jboss.com/products/seam/birt" tags.

            • 3. Re: Birt 3.7
              bussard

              I did it !

               

              My steps:

               

              1 - First create a new Seam Web Application with Birt face and make sure its working properly.

              2 - Create a new Seam Web Application and download  Birt runtime 3.7.0 copy birt-runtime-3_7_0/ReportEngine/lib to WebContent/WEB-INF/lib

              3 - copy the following jars from /WebContent/WEB-INF/lib

                jboss-birt-servlet.jar

                jboss-seam-birt.jar

                viewservlets.jar

                axis.jar

                commons-discovery-0.2.jar

              4 - Copy this files to the new WA:

                /WebContent/WEB-INF/tlds

                /WEB-INF/viewer.properties

                /WEB-INF/server-config.wsdd

              5 - Create this pastes:

                documents

                scriptlib

                report

                report/images

                logs

              6 - Add this to the web.xml

               

              I can render my test report created with a separeted report Desing using:

               

              <b:birt designType="embed" designName="AnexoI.rptdesign"

                        embeddable="true">

                        <b:param name="reportTitle" value="Customers Contacts" />

                        <b:param name="Cust" value="543" />

              </b:birt>

               

              I hope there's no more insues :

              • 4. Re: Birt 3.7
                sara.shalaby

                Hi Buss

                 

                I love your steps I was looking for something like this for 2 weeks.

                But for step 6 where is the code to add to web.xml?

                 

                Thanks

                Sarah

                • 5. Re: Birt 3.7
                  sara.shalaby

                  Also I cannot find these jars

                    jboss-birt-servlet.jar

                    jboss-seam-birt.jar

                   

                  in /WebContent/WEB-INF/lib

                   

                  Thanks

                  Sarah

                  • 6. Re: Birt 3.7
                    bussard

                    Oops, I forgot it. It's here now:

                     

                    6 - Add this to the web.xml

                     

                      <description>Deployment Descriptor for BIRT Viewer. Please check and specify the following settings.</description>

                      <context-param>

                        <description>Flag whether the report resources can only be accessed under the working folder. Defaults to false</description>

                        <param-name>WORKING_FOLDER_ACCESS_ONLY</param-name>

                        <param-value>false</param-value>

                      </context-param>

                      <context-param>

                        <description>Temporary document files directory. Defaults to ${Context Root}/documents</description>

                        <param-name>BIRT_VIEWER_DOCUMENT_FOLDER</param-name>

                        <param-value>documents</param-value>

                      </context-param>

                      <context-param>

                        <description>Flag whether to allow server-side printing. Possible values are ON and OFF. Defaults to ON</description>

                        <param-name>BIRT_VIEWER_PRINT_SERVERSIDE</param-name>

                        <param-value>ON</param-value>

                      </context-param>

                      <context-param>

                        <description>Memory size in MB for creating a cube.</description>

                        <param-name>BIRT_VIEWER_CUBE_MEMORY_SIZE</param-name>

                        <param-value></param-value>

                      </context-param>

                      <context-param>

                        <description>Directory where to store all the birt report script libraries (JARs).. Defaults to ${Context Root}/scriptlib</description>

                        <param-name>BIRT_VIEWER_SCRIPTLIB_DIR</param-name>

                        <param-value>scriptlib</param-value>

                      </context-param>

                      <context-param>

                        <description>Temporary images/charts directory. Defaults to ${Context Root}/report/images</description>

                        <param-name>BIRT_VIEWER_IMAGE_DIR</param-name>

                        <param-value>report/images</param-value>

                      </context-param>

                      <context-param>

                        <description>BIRT viewer extended configuration file</description>

                        <param-name>BIRT_VIEWER_CONFIG_FILE</param-name>

                        <param-value>WEB-INF/viewer.properties</param-value>

                      </context-param>

                      <context-param>

                        <description>Preview report rows limit. An empty value means no limit.</description>

                        <param-name>BIRT_VIEWER_MAX_ROWS</param-name>

                        <param-value></param-value>

                      </context-param>

                      <context-param>

                        <description>Max cube fetch rows levels limit for report preview (Only used when previewing a report design file using the preview pattern). Defaults to return all levels</description>

                        <param-name>BIRT_VIEWER_MAX_CUBE_ROWLEVELS</param-name>

                        <param-value></param-value>

                      </context-param>

                      <context-param>

                        <description>Default locale setting</description>

                        <param-name>BIRT_VIEWER_LOCALE</param-name>

                        <param-value>en-US</param-value>

                      </context-param>

                      <context-param>

                        <description>Max cube fetch columns levels limit for report preview (Only used when previewing a report design file using the preview pattern). Defaults to return all levels</description>

                        <param-name>BIRT_VIEWER_MAX_CUBE_COLUMNLEVELS</param-name>

                        <param-value></param-value>

                      </context-param>

                      <context-param>

                        <description>Report resources(design files or document files) directory for preview. Defaults to ${Context Root}</description>

                        <param-name>BIRT_VIEWER_WORKING_FOLDER</param-name>

                        <param-value></param-value>

                      </context-param>

                      <context-param>

                        <description>Report Engine logs directory. Default to ${Context Root}/logs</description>

                        <param-name>BIRT_VIEWER_LOG_DIR</param-name>

                        <param-value>logs</param-value>

                      </context-param>

                      <context-param>

                        <description>Resource location directory (library files, images files or others). Defaults to ${Context Root}</description>

                        <param-name>BIRT_RESOURCE_PATH</param-name>

                        <param-value></param-value>

                      </context-param>

                      <context-param>

                        <description>Flag whether to force browser-optimized HTML output. Defaults to true</description>

                        <param-name>HTML_ENABLE_AGENTSTYLE_ENGINE</param-name>

                        <param-value>true</param-value>

                      </context-param>

                      <context-param>

                        <description>Report engine log level. (ALL|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|OFF)</description>

                        <param-name>BIRT_VIEWER_LOG_LEVEL</param-name>

                        <param-value>WARNING</param-value>

                      </context-param>

                      <listener>

                        <listener-class>org.eclipse.birt.report.listener.ViewerHttpSessionListener</listener-class>

                      </listener>

                     

                      <listener>

                        <listener-class>org.eclipse.birt.report.listener.ViewerServletContextListener</listener-class>

                      </listener>

                     

                     

                      <servlet>

                        <servlet-name>EngineServlet</servlet-name>

                        <servlet-class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>

                        <load-on-startup>1</load-on-startup>

                      </servlet>

                      <servlet>

                        <servlet-name>ViewerServlet</servlet-name>

                        <servlet-class>org.eclipse.birt.report.servlet.ViewerServlet</servlet-class>

                        <load-on-startup>1</load-on-startup>

                      </servlet>

                      <servlet-mapping>

                        <servlet-name>ViewerServlet</servlet-name>

                        <url-pattern>/frameset</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>EngineServlet</servlet-name>

                        <url-pattern>/document</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>EngineServlet</servlet-name>

                        <url-pattern>/download</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>EngineServlet</servlet-name>

                        <url-pattern>/parameter</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>EngineServlet</servlet-name>

                        <url-pattern>/extract</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>ViewerServlet</servlet-name>

                        <url-pattern>/run</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>EngineServlet</servlet-name>

                        <url-pattern>/preview</url-pattern>

                      </servlet-mapping>

                      <servlet-mapping>

                        <servlet-name>EngineServlet</servlet-name>

                        <url-pattern>/output</url-pattern>

                      </servlet-mapping>

                      <filter>

                        <filter-name>ViewerFilter</filter-name>

                        <filter-class>org.eclipse.birt.report.filter.ViewerFilter</filter-class>

                      </filter>

                      <filter-mapping>

                        <filter-name>ViewerFilter</filter-name>

                        <servlet-name>EngineServlet</servlet-name>

                      </filter-mapping>

                      <filter-mapping>

                        <filter-name>ViewerFilter</filter-name>

                        <servlet-name>ViewerServlet</servlet-name>

                      </filter-mapping>

                      <servlet>

                        <servlet-name>JBoss BIRT Servlet</servlet-name>

                        <servlet-class>org.jboss.tools.birt.servlet.JBossBirtServlet</servlet-class>

                      </servlet>

                      <servlet-mapping>

                        <servlet-name>JBoss BIRT Servlet</servlet-name>

                        <url-pattern>/embed</url-pattern>

                      </servlet-mapping>

                    • 7. Re: Birt 3.7
                      bussard

                      You can find these jars from the new Seam Web Application with Birt face created with JBossTools

                      • 8. Re: Birt 3.7
                        singleroot

                        Does the integration between JBTools 3.3 and BIRT 3.7 has been solved?

                         

                        I follow those instructions but it just doesnt seems to work.

                         

                        Thanks in advance if you could help me

                        • 9. Re: Birt 3.7
                          bussard

                          I'm using Jboss 3.3 M2 and this version has a wizar to Birt 3.7, but I in order to work with seam birt tags I had needed to add the jar's and tdl's described here and this to my web.xml:

                           

                          <servlet>

                              <servlet-name>JBoss BIRT Servlet</servlet-name>

                              <servlet-class>org.jboss.tools.birt.servlet.JBossBirtServlet</servlet-class>

                            </servlet>

                            <servlet-mapping>

                              <servlet-name>JBoss BIRT Servlet</servlet-name>

                              <url-pattern>/embed</url-pattern>

                            </servlet-mapping>

                          • 10. Re: Birt 3.7
                            sakkie6yster

                            We are trying to do the same thing (more or less); trying to integrate Birt (4.2.1) with JSF 2.0.

                            I have followed this forum and tried to implement the same structure but unfortunately without any success.

                             

                            In essence I created a web project and included the jboss-birt-servlet.jar in my WEB-INF/lib/ folder.

                            I also copy-pasted all of the jars from the birt runtime (4.2.1) from "birt-runtime-4_2_1\WebViewerExample\WEB-INF\lib"

                            into the WEB-INF/lib/ folder.

                             

                            I don't need the jboss-seam-birt.jar right? As this is not really making use of Seam?

                             

                            I have added the configuration to my web.xml (as directed by Bussard )

                             

                            Furthermore I have my report folder in WebContent/Reports/my_report.rptdesign.

                             

                            And the very basic tag in my facelet:

                             

                            <b:birt designName="Customers.rptdesign" designType="embed" format="html" embedded="true">

                            </b:birt>

                             

                            When I deploy this (to Glassfish 3.1.2.2 - is this ok?) I get the error message:

                             

                            Unable to find config file.  Creating new servlet engine config file: /WEB-INF/server-config.wsdd

                             

                            I must confess that I didn't use the JBoss Tools plugin for Eclipse but rather created the project as a "Dynamic Web Project".

                            Is this a problem?

                             

                            Important to note that after the error message on the Glassfish console, the page is still accessible and I can see my Primefaces components, but the report is never displayed?

                             

                            Am I missing something in my project perhaps?

                            One thing I might be missing; Bussard mentions the following:

                             

                            4 - Copy this files to the new WA:

                              /WebContent/WEB-INF/tlds

                              /WEB-INF/viewer.properties

                              /WEB-INF/server-config.wsdd

                             

                            Where do I find these files and are they important?

                            Any help/suggestions will be appreciated.