- 21 Aug 2024
- 5 Minutes to read
- Print
- DarkLight
Assignment Database Tables
- Updated on 21 Aug 2024
- 5 Minutes to read
- Print
- DarkLight
Overview
Due to the complex nature of Assignments, Decisions stores and maintains all of a user's Assignment Data within a series of four Database Tables:
- entity_assignment
- flow_state_storage
- assignment_handler_data
- flow_data_delta_storage
Each table works in conjunction with one another to provide Decisions the necessary data to properly execute and track Assignments. The following document provides insight to how these tables interact with one another, as well as charts providing information on the columns within each database table.
Database Diagram Relationship
The following diagram provides a relational data model that demonstrates how each of the four tables connect and interact with one another.
entity_assignment
The entity_assignment table holds most of the user configured data, such as the Assignment Name or Escalation configurations. When a user makes a change in the Assignment Setup Properties in the Flow Designer, it gets recorded in this table.
When a Flow needs to start after an Assignment has been completed, the information in this table is used to continue the Flow from the point where it left off.
entity_assignment | |
assignment_id | This is the primary key field of the database table |
warn_date | A user configured date that will run the user configured warn date flow send a notification to the Assignee when this date is reached |
late_date | A user configured date that will run the user configured late date Flow |
escalate_date | A user configured date that will send the Assignment to a different assignee when this date is reached |
start_date | A user configured date when the Assignment set to the current State |
priority | A user configured String field that is configured through the Assignment Setup Properties in the Flow Designer |
handler_data | Serialized Data about the Handler such as the Form Assignment Handler or Custom Handler |
escalation_handler_wrap_data | Serialized data about how Escalations should be handled |
notes | Notes |
valid_only_in_folder_state | For conditional actions where they can be assigned when the Folder is in the correct State |
completed | A Boolean value that is set to true once the Assignee works the Task |
is_assigned | A Boolean value that is set to true if the Assignment has an Assignee |
is_current | A Boolean value set to true if the Assignment is active but not completed |
hidden | The Property that controls whether the Assignment can be visible or invisible |
administrator_view_only | A Boolean value set to true if the Assignment is Admin view only |
entity_folder_id | The Id of the Folder where the Assignment is stored |
entity_name | Is the name of the Assignment that will be displayed in a user's Inbox |
entity_description | A String field for writing a description about the Assignment |
created_on_date | The date the Assignment was created |
modified_date | The date that the Assignment was modified |
state | This field indicates the condition the Assignment is in |
archived | A Boolean used to indicate if the Assignment has been Archived |
archived_date | The date the Assignment will be Archived and permanently deleted |
all_assignments | Stores details of all the Users/Groups that have been assigned this Assignment |
deleted | A Boolean value set to true if the Assignment is deleted |
assignment_handler_id | Id of the Assignment Handler |
assignment_handler_id_type | Stores an Id of the Handler type |
state_changed_date | The date the Assignment State was changed |
next_check_time | The time when the Scheduled Job will check the assignment for any changes |
next_check_type | What type of check is done i.e. Current, Warn, Late, Expired, or Escalated |
next_check_id | Id of the Check |
show_at_login | A Boolean value that if true will show the Assignment at the user's login |
assignment_type | Stores the Form Assignment Type value |
has_state_changed | A Boolean value that indicates if an Assignment State has changed |
assignment_start_flow_id | The id of the Assignment Start Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
assignment_warn_flow_id | The id of the Assignment Warn Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
assignment_late_flow_id | The id of the Assignment Late Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
assignment_escalte_flow_id | The id of the Escalate Late Flow that a user can configure in the Assignment Setup Properties in the Flow Designer |
flow_tracking_id | Foreign Key from the flow_state_storage_data |
step_tracking_id | Id of the step that created the Assignment |
primary_flow_id | The Id of the Primary Flow |
primary_flow_name | Name of the default base Flow |
flow_id | The Id of the current Flow |
flow_name | Name of the parent Flow |
step_id | Foreign Key from the flow_data_delta_storage |
step_name | Name of the step that created the Assignment |
assignment_interaction_started | Time stamp of the interaction time |
assignment_started | A Boolean value indicating if the Assignment is current |
completed_date_time | The date the Assignment was completed |
completed_result | Is the Assignment Forms outcome path |
completed_by | Records the user who completed the Assignment |
completed_notes | A String field used for storing notes about a completed Assignment |
url_tokens | URL token for the Assignment URL |
notification_subject | The Assignment Notification String subject that will display when the Assignment gets created |
notification_message | The Assignment Notification String message that will display when the Assignment gets created |
do_not_send_default_notification | Boolean value that if set to true would cause default Notification to not trigger |
assignment_time_in_seconds | The amount of time the Assignment has been active |
assignment_interaction_time_in_seconds | The user interaction time with the Assignment |
reference_id | The user provided Id that stored when an Assignment is configured |
history_folder_id | A common field created for Decisions Entities that stores Version History |
all_tags_data | Stores all tags that have been attached to the Assignment |
deleted_by | Records the user who deleted the Assignment |
deleted_on | Records the date the Assignment was deleted |
extension_id | The Id of the extension object that is tied to the Assignment |
extension_id_type | Stores the Extension Type |
folder_state | The State the Folder is currently in |
flow_state_storage_data
This database table is responsible for storing the Flow's Header Data. When a Flow comes to a Task step, Decisions takes a snapshot of that Flow and stores a record in the flow_state_storage_data table.
This table allows Decisions to pause the Flow until an action has occurred. Once the expected action is received, the Flow continues to the next step in the process.
flow_state_storage_data | |
flow_tracking_id | The Primary Key field of the table |
archived | A Boolean indicating if the Flow has been set to an Archived status |
archived_by | The user who set the Archived status |
deleted | A Boolean indicating if the Flow has been set to a Deleted status |
deleted_by | The user who set the Deleted status |
ended_in_exception | A Boolean indicating if the Flow encountered an Exception |
exception_details | The Log Error Message details |
primary_flow_name | Stores the name of the Primary Flow |
primary_flow_id | The Id of the Primary Flow |
primary_flow_name | Name of the default base Flow |
current_flow_id | Id of the running Flow |
current_step_name | Name of the current step |
current_step_id | Id of the current step |
current_tracking_id | Stores the current Flow Tracking Id |
current_step_tracking_id | Stores the current Step Tracking Id |
percent_completed | Flow completion percentage |
start_date | The date when the Flow was started |
last_update_date | The date when the Flow was last edited |
last_update_by | The user who last edited the Flow |
created_on_date | The date when the Flow was created |
created_by | The user who created the Flow |
flow_date_storage | Foreign Key of the flow_data_delta_storage table |
auto_restore_result_data | Stores the Result Data that needs to be sent for the Auto Restart of the step |
auto_restart | A Boolean value that indicates if a Flow is set to Auto Restart |
auto_restart_date_time | Date when the Flow was Auto Restarted |
auto_restart_failed | A Boolean value that indicates if a Flow failed to Auto Restart |
store_generation | Number used to determine if the stored Flow Data is up-to-date |
completed | A Boolean indicating if the Flow completed |
completed_date_time | The date when the Flow completed |
completed_by | The user who completed the Flow |
last_active_server | Server on which the Flow Data was used |
last_active_date_time | The last recorded data time the Flow Data was used |
archived_date | The date when the Flow will be set to an Archived status |
deleted_on | The date when the Flow was deleted |
entity_folder_id | Id of the Designer Folder that stores the Flow |
state | The current state of the Flow |
auto_expire_on | A Boolean value that indicates if the Flow is set to expire |
assignment_handler_data
This table that stores data of the Assignments' Escalation, Form, and Handler data for custom Form Assignments.
assignment_handler_data | |
Id | This is the primary key of the table |
handler_data | Serialized Flow Handler data |
escalation_handler_data | Serialized data about handling Escalations |
form_view_data | Stores the serialized data for the completed Form |
flow_data_delta_storage
This table stores differential data instead of the complete Flow Data to minimize storage needs.
flow_data_delta_storage | |
primary_flow_tracking_id | The Main Flow tracking Id |
delta_data | Serialized Delta Data from the Flow |
delta_time_stamp | Date Time of when the Delta Data was capture |
current_flow_id | Current Flow Id |
current_step_id | Current Step Id |
current_flow_name | Current Flow Name |
current_step_name | Current Step Name |
current_step_tracking_id | Tracking Id of the current step |
current_flow_tracking_id | Tracking Id of the current Flow |
is_tracking_data | Boolean used to track if the data is complete or partial |