Reporting Server/Report Server Artifacts
The complete reporting solution consists of different components. The reporting database/data-warehouse, the load scripts and also the reporting artifacts within the reports server itself. This document discusses this last component of the solution. The reporting artifacts are created and stored within the jasper repository.
There is documentation available on the net on how to create domains, ad-hoc reports, dashboards and other Jasper report server components within the reports server.
This document therefore focuses on managing these components within the modularity concepts of Openbravo and how to manage them within the modules in the Openbravo development project.
When working on artifacts in the reports server you also need an Openbravo development project. Reports, domains etc. can be downloaded from the reports server into the development project. From the development project the downloaded reports can be stored in a repository and managed there. The tools also support uploading reports and other artifacts from the Openbravo development project into the report server.
Reports, domains etc. within the Modules folder
When creating these report artifacts it is important to create them in a specific folder within the /public/Modules folder. Also take care that all dependent objects are in the same module folder or in another module folder. For example if your adhoc-report uses a domain then the domain needs to be in the same module folder as the adhoc-report or in a module folder of an ancestor in the module dependency tree.
The module folder needs to have a specific name: [DBPREFIX]_[NAME_OF_MODULE]. In the name of the folder all the spaces should be replaced by an underscore.
Downloading modules from the reports server into the development project
At any point in time you can download the content of the modules folders into your development project modules. To do the reporting.properties should be set. Then execute the following ant command with the javapackage of the module set in the module parameter. For example, to download the reports provided by the reporting sales module do the following:
ant download.module.files.from.jasper -Dmodule=org.openbravo.reporting.tools.sales
The download will create a folder in the corresponding module with a files.zip file and a reportingFileList file. The zip file contains the artifacts of the reports server, the reportingFileList file is information only listing the files which are included in the download. The idea is to push these files to your code repository. So that you can work share your work with other developers and for the deployment to the reports server.
Uploading modules from the development project into the reports server
To upload the reports, ad-hoc views and domains from your module into the reports server you can execute the following ant step (make sure the reporting.properties are set correctly):
For example, to upload the reports provided by the reporting sales module do the following:
ant upload.module.files.to.jasper -Dmodule=org.openbravo.reporting.tools.sales
Note: if you have multiple modules with report artifacts then the upload step should be done in the order of the dependencies of the modules.