Reporting service
Introduction to the Reporting service
Universal GUIThe Thinkwise Reporting Service is a solution you can download from the Thinkstore. It facilitates the automatic printing and exporting of reports to a file storage location. It fully integrates with your existing Thinkwise application and makes it easier to manage your reporting needs.
Pre-requisites
Before the Reporting service can create a report, you need to define the following in the Software Factory:
- At least one report
- At least one printer
- Or, if you want to save reports, at least one file storage location. Database storage is not supported.
Architecture
The Reporting service consists of the following:
- A data model with a table called
reporting_service_queue
. It contains all necessary columns to store the information required to generate a report. - A system flow that reads the table for all items with status
new
and processes them. - A subroutine (
add_report_{report_id}_to_queue
) for each report, created automatically by the dynamic model, to add the report along with its parameters to the queue.
The system flow uses the following process actions:
- Generate report - This process action is automatically populated from the queue; no further action is required. You can see the status code in the queue table.
- Print file - The input parameter is retrieved from the queue table, Refer to the documentation for the possible values. You can see the status code in the queue table.
- Write file - The input parameter is retrieved from the queue table, Refer to the documentation for the possible values. You can see the status code in the queue table.
This is the system flow for the Reporting service. It contains a subflow for generating each report, a Write file process action and a Print file process action:
Reporting service system flow
This is the subflow for generating a report with parameters (in the step Decision unpack_json):
Subflow for generating a report with parameters
This is the subflow for generating a report without parameters:
Subflow for generating a report without parameters
Configuration
The system flow in the Reporting sevice contains the parameter max_no_of_multiple_running_instances
with a default value of 5
.
This parameter indicates how many Indicium workers are able to simultaneously pick up queued items.
You can change this value in two ways:
- In the Reporting service base model. See also Base models.
- With a process procedure. See also Use parameters in a process procedure.
How a report is added to the queue
For each report, a subroutine is created: add_report_{report_id}_to_queue
.
- The first parameters for the subroutine are reserved for the report parameters.
- Next, columns are added to the table
reporting_service_queue
. You can adjust these when creating a queue. - The last parameter of the subroutine is
reporting_service_queue_id
. It is marked as an output, so you can use thequeue_id
after adding a queue item. - The folder parameter for the file destination must be a relative path and must exist within file storage location.