Data model

The Sign-Off Module is delivered with a default data model for all the data required to support the approvals workflow. These components share the same foundations but each use different datastore configurations and a separate cube.

Sign-Off Module components

The Sign-Off Module comprises several component databases. The following table lists these databases and provides links to their associated schemas, and datastore definitions, where applicable.

Component Description Database definition Cube schema
Application The Application database comprises the sign-off process definition and instance objects.
This database may be shared with the application.
Sign-Off ProcessDefinition Cube A flexible set of attributes and dimensions (hierarchies, dimensions, levels of the cube structure) is supplied for each of the Sign-off cubes.
See Sign-off dimensions
Sign-off Process Instance Cube
Audit Log The Audit-Log contains a record of all user actions within the Activiti workflows.
The Audit-Log database comprises two tables
* USERRECORD
* PROCESSRECORD
See Audit-Log.
Activiti The Activiti workflow state is maintained in the Activiti database. This includes copies of objects that are waiting for approval before being saved to the Application database. This database is managed by the Activiti process engine.
See the Activiti documentation for more information about this database schema.
https://www.activiti.org/documentation

For details, see the Sign-Off Module Developer Guide.

Database definitions

Application Database

Table name: ADJUSTMENTDEFINITION

A record of an adjustment definition.

Column Type Description
ID BIGINT The database ID for the object version
LIVEFROM TIMESTAMP The beginning of live range for the object version
LIVETO TIMESTAMP The end of live range for object version (null if range has no end)
VALIDFROM DATE Beginning date (inclusive) for which this definition object applies.
VALIDTO DATE Ending date (exclusive) for which this definition object applies (may be null)
COMMENT VARCHAR The comment associated to the definition of the adjustment
DEFINITIONID VARCHAR The definition ID
FILTERS VARCHAR The filters defined for the adjustment
INPUT VARCHAR The input defined for the adjustment
MEASURES VARCHAR The measures defined for the adjustment
PROCESSINSTANCEID VARCHAR The process instance ID linked to the adjustment
REASON VARCHAR The reason defined for the adjustment
SERVERNAME VARCHAR The name of the application server to which the process instance is related. Used to generate the URLs for calls to RESTful services in the application server
STATUS VARCHAR The status of the adjustment execution
TASK VARCHAR The task name associated to the adjustment
TYPE VARCHAR The type of adjustment
USER VARCHAR The ID of the user who created the adjustment

Table name: ADJUSTMENTEXECUTION

A record of an adjustment execution.

Column Type Description
ID BIGINT The database ID for the object version
LIVEFROM TIMESTAMP The beginning of live range for the object version
LIVETO TIMESTAMP The end of live range for object version (null if range has no end)
ASOFDATE DATE The as-of date for the adjustment execution
COMMENT VARCHAR The comment associated to the definition of the adjustment
DEFINITIONID VARCHAR The definition ID
EXECUTIONID VARCHAR The execution ID
FILTERS VARCHAR The filters defined for the adjustment
INPUT VARCHAR The input defined for the adjustment
MEASURES VARCHAR The measures defined for the adjustment
PROCESSINSTANCEID VARCHAR The process instance ID linked to the adjustment
REASON VARCHAR The reason defined for the adjustment
SERVERNAME VARCHAR The name of the application server to which the process instance is related. Used to generate the URLs for calls to RESTful services in the application server
STATUS VARCHAR The status of the adjustment execution
TASK VARCHAR The task name associated to the adjustment
TYPE VARCHAR The type of adjustment
USER VARCHAR The ID of the user who created the adjustment

Table name: PROCESSDEFINITION

A record of a process definition.

Column Type Description
ID BIGINT The database ID for the object version.
LIVEFROM TIMESTAMP The beginning of live range for the object version.
LIVETO TIMESTAMP The end of live range for object version (null if range has no end).
VALIDFROM DATE Beginning date (inclusive) for which this definition object applies.
VALIDTO DATE Ending date (exclusive) for which this definition object applies (may be null).
CATEGORY VARCHAR The category of the sign-off process
DESCRIPTION VARCHAR A free form description of the sign-off process definition.
DOMAIN VARCHAR The cube name associated to the sign-off process definition
FILTERS VARCHAR The list of filters that specify the data being signed-off.
KPIS VARCHAR The KPIs defined in the sign-off process definition
MEASURES VARCHAR The measures defined in the sign-off process definition
NAME VARCHAR The name of the sign-off process definition
SERVERNAME VARCHAR The name of the application server to which the process definition is related. Used to generate the URLs for calls to RESTful services in the application server.
WORKFLOWPROPERTIES VARCHAR The list of configuration properties that can be used in the workflow process. These are available as variables to the process definition. Each property has the format name:value.
WORKFLOWTYPE VARCHAR The alias for the Activiti workflow process definition that is used to manage the sign-off process.

Table name: PROCESSINSTANCE

A record of a process instance.

Column Type Description
ID BIGINT The database ID for the object version.
LIVEFROM TIMESTAMP The beginning of live range for the object version.
LIVETO TIMESTAMP The end of live range for object version (null if range has no end).
ASOFDATE DATE The as-of date for the sign-off process instance.
COMMENT VARCHAR The comment entered by the user
NAME VARCHAR The name of the process instance
EXPORTSTATUSDETAILS VARCHAR The details of the export status, sent by the application server
SERVERNAME VARCHAR The name of the application server to which the process definition is related. Used to generate the URLs for calls to RESTful services in the application server.
STATUS VARCHAR The status of the process instance

Audit-Log

Common fields

These fields are used for each type of audit-log entry

Column Type Description
ID long Database ID for audit log entry
TIMESTAMP timestamp The timestamp of when the action took place
KEY timestamp The key of the object being managed by the Activiti workflow process:
* For sign-off process instance: name::as-of-date
* For sign-off process definition:name::valid-from
STATUS date The new status of the object within the workflow
TYPE date The fully qualified java classname of the object
USER string The user who performed the action
PROCESSINSTANCEID string The Activiti process instance ID
OBJECT string The JSON serialisation of the object
COMMENT string An optional comment the user supplied alongside the action.

Table name: USERRECORD

A record of a user completing a task within the Activiti workflow.

In addition to the columns listed in the common fields above:

Column Type Description
TASKID string The Activiti task ID (within the Activiti process instance)
TASKNAME string The name of the task (within the Activiti process definition)
ACTION string The action taken by the user (e.g. “Approve”, “Reject”)

Table name: PROCESSRECORD

A record of a user starting an Activiti workflow process instance.

In addition to the columns listed in the common fields above:

Column Type Description
PROCESSDEFINITIONNAME string The Activiti process definition name

Table name: ADJUSTMENTDEFINITIONENTITY

Contains the audit information for adjustment definitions.

In addition to the columns listed in the common fields above:

Column Type Description
KEY VARCHAR Key of the record
TIMESTAMP TIMESTAMP Timestamp at which the record was created
COMMENT VARCHAR Comment associated to the adjustment request
OBJECT CLOB JSON representation of the audited object
PROCESSINSTANCEID VARCHAR The process instance id to which the audit record is associated (set to “N/A” in this version of the Sign-Off Module)
STATUS VARCHAR The status of the audited entry
TYPE VARCHAR The String representing the Java class of the audit entry. For this table, the type is: “com.activeviam.signoff.core.model.adjustment.definition.dto.AuditableAdjustmentRequestDTO”
USER VARCHAR The user performing the audited action
DEFINITIONID VARCHAR The definition ID of the associated adjustment definition
TASK VARCHAR The name of the associated sign-off process

Table name: ADJUSTMENTREQUESTENTITY

Contains the audit information for adjustment requests.

In addition to the columns listed in the common fields above:

Column Type Description
KEY VARCHAR Key of the record
TIMESTAMP TIMESTAMP Timestamp at which the record was created
COMMENT VARCHAR Comment associated to the adjustment request
OBJECT CLOB JSON representation of the audited object
PROCESSINSTANCEID VARCHAR The process instance id to which the audit record is associated (set to “N/A” in this version of the Sign-Off Module)
STATUS VARCHAR The status of the audited entry
TYPE VARCHAR The String representing the Java class of the audit entry. For this table, the type is: “com.activeviam.signoff.core.model.adjustment.definition.dto.AuditableAdjustmentRequestDTO”
USER VARCHAR The user performing the audited action
DEFINITIONID VARCHAR The definition ID of the associated adjustment definition
EXECUTIONID VARCHAR The execution ID of the adjustment request. This ID is generated on the application server side.
TASK VARCHAR The name of the associated sign-off process definition
TASKID VARCHAR The ID of the associated sign-off process instance

Activiti

See the Activiti documentation for more information about this database schema.

https://www.activiti.org/documentation