Convier supports several ways to store the reports that are generated in the platform. This guide contains instructions for how to set up and configure a report storage to connect to Convier.
Updated for version: 0.2501.1
Reports generated in Convier can be stored in a database (“internal”), or in an existing system, like Microsoft Dynamics (“external”). Storage and retriveal of externally stored reports are configured using data sources, analytics and actions.
Reports may be stored in Azure Storage Account containers. You may store reports in different containers for different reports actions. While it’s not a requirement, it is recommended that all containers have immutability enabled. It requires that either Managed Identity is available, or that Convier is running with an App Registration from Entra ID.
Environment variables:
AZURE_STORAGE_ACCOUNT_SUBSCRIPTION_IDAZURE_STORAGE_ACCOUNT_RESOURCE_GROUPAZURE_STORAGE_ACCOUNT_NAMEEnvironment variables:
GOOGLE_PROJECT_IDGOOGLE_STORAGE_BUCKET_NAMESInternal storage is enabled by setting the following environment variables:
REPORT_STORAGE_JDBC_CONNECTION_STRINGREPORT_STORAGE_JDBC_USERNAME (Optional)REPORT_STORAGE_JDBC_PASSWORD (Optional)To verify that internal report storage is enabled, check the service log for the following message INFO - Internal report storage: enabled.
If enabled, the required table and columns needed are automatically created. A row is added to the table each time a user clicks “Save” on the report, so there can be multiple versions of the same task/case/report. Each row consists of the following data:
| column | type | example |
|---|---|---|
| project_id | ID of proejct | aml |
| inserted | Epoch ms | 1735813124631 |
| user_id | ID of user saving the report | [email protected] |
| object_id | ID of task/case/report | EDD-1234-001 |
| content | Report JSON | [{"sectionId": "Intro", "content": {...}}, ...] |
| loaded_data | Report data JSON (if enabled) | {"timestamp": ..., "object": {...}, "connected": {...}} |
| loaded_data_simplified | Properties and data model | {"object_types": ..., "field_types": {...}, "data": {...}} |
| section_texts | Report section texts | {"Intro": "Lorem ipsum...", ...} |
| action | Save/Close/Approve/etc. | Save |
While a user is editing a report, a copy of the contents is stored within the user's browser (using IndexedDB). This is to prevent loss of data in case of system, network or power outage, or in the case of events like accidental page refresh.