BIRT Reports

Introduction
The example BIRT (Business Intelligence Reporting Tools) reports were created using the BIRT plug-in for the Eclipse IDE. They are intended to provide an example of how Perforce's P4toDB database replication for SQL databases can be utilized.

These reports were created as counterparts to the reports provided with the P4Report application.

Find the BIRT Reports here

Support Status
The BIRT examples for P4toDB are unsupported. The source code is provided in the hope that it will be useful to Perforce customers.

User contributed content on the Perforce Public Depot is not supported by Perforce, although it may be supported by its author. This applies to all contributions even those submitted by Perforce employees.

If you have any comments or need any help with the content of this project, please contact jkovisto@perforce.com, and I will try to help.

Compatibility
The BIRT examples for P4toDB require:

* A Perforce server at version 2009.2 or higher as required by P4toDB * A P4toDB supported target SQL database * A JDBC version 4 driver for your supported SQL database * A user account on the SQL database with select access to the P4toDB tables * A BIRT Viewer installed on a J2EE container

Supporting Documentation
BIRT is an open source report builder for Eclipse. Learn more about BIRT by visiting its home page.

http://www.eclipse.org/birt/phoenix/

Obtain Eclipse with the BIRT plug-in from the eclipse.org website. The All-in-one package is the easiest to get working.

http://download.eclipse.org/birt/downloads/

If you wish to use the reports as-is, you can learn more about installing the BIRT viewer on a J2EE application server (e.g. Tomcat, JBoss) here.

http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php

P4toDB Download

http://www.perforce.com/perforce/loadsupp.html#tools

Required Modifications to Reports
The Data Source information in each report will need to be updated for your JDBC driver and database environment.

Find the following lines in each .rptdesign file:

JDBC_DRIVER jdbc:uri user cGFzc3dvcmQ=

Replace with values appropriate for your database environment. The JDBC driver and URL format can be obtained from your database provider. An example configuration (MySQL):

com.mysql.jdbc.Driver jdbc:mysql://dbhost:3306/p4todb rpt_user cGFzc3dvcmQ=

Notice that the database user's password is encrypted. The default value is for "password". You can obtain the base64 encrypted value for your password from this site:

http://www.motobit.com/util/base64-decoder-encoder.asp

Note: you should confirm that the query (xml-property name="queryText") will work in your environment. If your database is named something other than "perforce" or your tables have a prefix, they will need to be modified. Replace question marks with appropriate values in your testing.

Updating Reports from Eclipse
If you want the reports to be under Perforce control, be sure to place them in a location somewhere off of the root of your client workspace. Then, from within Eclipse follow these steps. File->New->Project Choose Business Intelligence and Reporting Tools->Report Project Choose Next Enter a Project name Uncheck "Use default location" and browse for the folder containing the BIRT reports. You will now have a new Report Project with your .rptdesign files.

Placing Your Project Under Perforce Control
These instructions assume that you have P4WSAD, the Perforce Plug-in for Eclipse, already installed and configured. Learn more about P4WSAD from its product page.

http://www.perforce.com/perforce/products/p4wsad.html

Share the Project by right clicking on the project in the Navigator window and choosing Team->Share Project. Choose Perforce as your repository type, and click Next. Choose your Perforce server connection, or create a new one. Once the project is under Perforce control, right click on the project in the Navigator window again and choose Team->Mark for Add. Red plus sign icons will appear on the report files. Right click on the project again and click Team->Submit to submit the reports to the Perforce server.