Reporting Service Description and Assumptions

Description

Unknown macro: {multi-excerpt} The Reporting service allows the user to invoke a report defined in an external authoring tool, to be executed in a specific context. The results (output) of the report are returned as the service invocation response.

We have integrated the jasperreports runtime (which is LGPL licensed), so that we can run reports defined and installed in the system. We still need to work out the details of installing additional reports.

Assumptions

  • We defer the authoring experience to the iReport tool from Jasper. This is a GPL-licensed, free software application. We do not ship this with our installation, although we do ship the (LGPL-licensed) libraries required to invoke the reports from our services.
  • Reports can be directed to a variety of output types, including PDFs, plain text, (Open)Office document types, etc. The set of output types depends upon (i.e., is defined by) Jasper Reports functionality.
  • We will invoke reports in a given context. The context will an item or items, of a specific record type (cataloging, media, intakes, etc.). The contexts we envision at this point include:
    • A single record item.
    • A list of results, with some items selected.
    • A list of results, for all results in the list (including those not shown, due to pagination).
    • All items (of a given type) associated to a group.
  • We will probably invoke exports in a similar, if not the same, manner. The main distinction (for users) between reports and exports is the form of the output, and who actually consumes the output. Reports are generally output to publishing forms that people will consume and interpret, whereas exports generally output to data-friendly forms that are intended for some further processing or machine interpretation (data files, XML, etc.).
  • We are currently integrating with the Talend Open Studio for ETL workflows that support export use-cases. This tool maps from our data model, allows manipulations of the data, and can then map resulting field values to an XML model, CSV files, and a few other formats. The tool can read in xsd or xml files to easily define the output format.

Key Concepts

  • The Authoring tool is where people map from the data model to some output format.
  • The runtime allows the services to invoke the report (or export) and return the output.
  • The runtime must allow sufficient parameterization for us to specify a particular record, list of records, or query upon which to run the report.

Dependencies

  • Depends upon the Jasper Reports tools
  • Depends upon the Talend Open Studio tools

Background Documentation