Saturday, July 31, 2010

BIRT reporting system for PHP web applications

BIRT is an Eclipse-based open source reporting system for web applications, especially those based on Java and J2EE. BIRT has two main components: a report designer based on Eclipse, and a runtime component (Birt Viewer) that you can add to your app server. [ref: http://www.eclipse.org/birt/phoenix/intro/]

Although BIRT is designed to be integrated into a J2EE web application, you can use it in any other development environment such as PHP. A brief description about how it works is given below.

To design the reports, BIRT designer should be installed. There are few ways to do that, and those are described in - http://www.eclipse.org/birt/phoenix/build/#introduction . Designing reports is extremely easy, and tools are there to bind data with database tables/fields, build queries etc..

The next thing is, there should be a instance of BIRT report viewer installed in a web server like tomcat. How to install BIRT viewer in tomcat is described here - http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php#install_jdbc (BIRT viewer is the tool that you used to view the reports). After installing the viewer, report design files can be hosted there.


Now you can request the report . Given below is a very basic example, which passes only one parameter to the Report Viewer. How PHP applications can use BIRT is described here - http://www.eclipse.org/birt/phoenix/deploy/usingPHP.php#dynamic .

     /*
     * @param sfWebRequest $request
     */
    public function executeTestReport(sfWebRequest $request){

        $repName = "new_report.rptdesign";
        // Redirect browser
        $dest = "http://localhost:8080/birt-viewer/frameset?__report={$repName}";
        header("Location: $dest" );
        die();
    }

http://www.eclipse.org/birt/phoenix/tutorial/ - This Basic Tutorial walks you though the steps to build a basic listing report and introduces the basic BIRT concepts.

1 comments:

  1. Nice post. Here’s a tool to use to create and publish your report online in minutes, without coding. You can create different graphs and layouts http://www.caspio.com/online-database/features/reports.aspx

    ReplyDelete