Skip to end of metadata
Go to start of metadata

OpenIAM allows you to customize existing reports as well as add new reports to the system.  OpenIAM utilizes JasperReport as the underlying reporting engine.  However, other reporting engines such as Crystal Reports or Actuate may also be used.

The following describes the steps necessary to create a new report and then add it to OpenIAM.  The integration technology described is based on the Spring Framework.

Create a Report Template

First, create a report template for your report. Report templates in JasperReports have a ".jrxml" extension.  These templates can be created using iReports, which is a report designer available from www.jasperforge.org.

The manner in which we create a report is beyond the scope of this document.  Detailed documentation on this topic is available through www.jasperforge.org.

Integrate Report Template

Create a WEBMVC Controller in Spring

To integrate your new report with the webconsole application, you first need to create a controller in Spring.  The code below provides an example.


Update Report Template

Depending on how the report template was created in iReports, you will need to update the report template such that the field names in the report template match the field name in the data that is passed to iReports.  In this example, the field names in the template should match the Role object that is based to the reporting engine.

When making changes to these fields, you should do a search and replace in the template so that all instances of a field are kept in sync.

Controller Configuration

Once we have created a controller, we need to add the following entries to one of the Spring Context files.  In the case of the webconsole application, all report definitions are maintained in the report-servlet.xml file.

First we create a bean entry for the controller that we just created.

Next, an entry needs to be created for the Method name resolver that is being referenced in the above tag.  This entry is necessary because we are using a MultiAction controller.

The following entry defines the view class that Spring should use to render this report.  The multiformat view allows us to render a report in multi-formats. Note the "url" property in this bean definition.  It's used to specify the location of the report template.

Finally, we need to provide an entry for the url mapping which will map the url on the browser to the controller. All the reports in OpenIAM have a ".report" extnsion in the URL.

Menu Integration

For a report to be visible to the end user, it needs to be integrated with the Report menu system.  OpenIAM categorizes all reports in the Identity Manager into the following categories:

Name

Menu Group

User Report

USERREPORT

Audit Report

AUDITREPORT

Password Report

PASSWORDREPORT

Provisioning Report

PROVREPORT

Access Report

ACCESSREPORT

Misc Report

OTHERREPORT

Create an entry for the report in the database.  The report should be linked to one of the categories above:

Labels: