10.4. Human Task Persistence
10.4.1. Human Task Persistence
The model below is an entity relationship diagram (ERD) that shows the persistent entities used by the Human Task service.
Figure 10.1. Human Task Service Data Model
The data model above is organized around 2 groups of entities:
- The
task
entity which represents the main information for a task. (See the right-hand side of the ERD above.) - The
deadline
,escalation
, andnotification
entities represent deadlines and escalations for tasks and notifications associated with those deadlines. (See the left-hand side of the ERD above.)
Two other important entities in the data model are the
i18ntext
and organizationalentity
.
- The
i18ntext
entity is used to store text which may be language related, such as names or descriptions entered by users. - The
organizationalentity
entity represents a user.
The foreign key column in the tables in Section 10.4.2, “Task Related Entities” indicate whether or not a column in a database table has a foreign key constraint on it. The null column describes whether or not the database table column being describe can be null.
Please note, that if an entry is described as not allowing a null value and there is no associated entry, the column will contain the value
-1
or 0
.
10.4.2. Task Related Entities
The
task
entity contains the information for describing a task.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key of the task identity | ||
priority | The priority of the task | ||
allowedtodelegate | The group this task may be delegated to | ||
status | The status of the task | ||
previousstatus | The previous status of the task | ||
actualowner_id | The ID of the organizational entity who owns the task | ||
createdby_id | The ID of the organizational entity who created the task | ||
createdon | The timestamp describing when this task was created | ||
activationtime | The timestamp describing when this task was activated | ||
expirationtime | The timestamp describing when this task will expire | ||
skipable | Whether or not this task may be skipped | ||
workitemid | The ID of the work item associated with this task (see jBPM core schema) | ||
processinstanceid | The ID of the process instance associated with this task (see jBPM core schema) | ||
documentaccesstype | How a document associated with the task can be accessed | ||
documenttype | The type of data in the document | ||
documentcontentid | The ID of the content entity containing the document data | ||
outputaccesstype | How the output document associated with the task can be accessed | ||
outputtype | The type of data in the output document | ||
outputcontentid | The ID of the content entity containing the output document data | ||
faultname | The name of the fault generated, if a fault occurs | ||
faultaccesstype | How the document associated with the fault can be accessed | ||
faulttype | The type of data in the fault document | ||
faultcontentid | The ID of the content entity containing the fault document data | ||
parentid | This is the ID of the parent task | ||
processid | The name (ID) of the associated process | ||
processsessionid | The ID of the associated (knowledge) session | ||
taskinitiator_id | The ID of the organizational entity who created the task |
The
subtasksstrategy
entity is used to save the strategy that describes how parent and sub-tasks should react when either parent or sub-tasks are ended.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
dtype | A discriminator column | ||
name | The name of the strategy | ||
task_id | The primary key of the associated task |
The
organizationalentity
entity is extended to represent the different people assignments that are part of the task.
Field | Description | Null |
---|---|---|
id | The primary key | |
dtype | The discriminator column |
The
attachment
entity describes attachments that have been added to the task.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
name | The (file) name of the attachment | ||
accesstype | How the attachment can be accessed | ||
attachedat | When the attachment was attached to the task | ||
attachment_size | The size (in bytes) of the attachment | ||
attachmentcontentid | The ID of the content entity storing the raw data of the attachment | ||
contenttype | The MIME type of the attachment data | ||
attachedby_id | The ID of the organizationalentity entity that attached the attachment | ||
taskdata_attachments_id | The ID of the task entity to which this attachment belongs |
The
task_comment
entity describes comments added to tasks.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
addedat | The timestamp of when the comment was added to the task | ||
text | The text of the comment | ||
addedby_id | The primary key of the associated organizationalentity entity | ||
taskdata_comments_id | The primary key of the associated task entity |
The
delegation_delegates
table is a join table for relationships between the task
entity and the organizationalentity
.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated task | ||
entity_id | The primary key of the associated organizationalentity |
The
peopleassignments_stakeholders
table is a join table that describes which organizationalentity
entities are task stakeholders of a particular task.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated task entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
peopleassignments_potowners
table is a join table that describes which organizationalentity
entities are potential owners of a particular task.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated task entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
peopleassignments_exclowners
table is a join table that describes which organizationalentity
entities are the excluded owners of a particular task.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated task entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
peopleassignments_bas
table is a join table that describes which organizationalentity
entities are business administrators of a particular task.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated task entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
peopleassignments_recipients
table is a join table that describes which organizationalentity
entities are notification recipients for a particular task.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated task entity | ||
entity_id | The primary key of the associated organizationalentity entity |
10.4.3. Deadline, Escalation, and Notification Related Entities
The following paragraphs and tables describe the group of entities having to do with deadline, escalation, and notification information.
The
deadline
entity represents a deadline for a task.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
deadline_date | The deadline date | ||
escalated | Whether or not the deadline has been escalated | ||
deadlines_startdeadline_id | The ID of the associated task entity which uses this deadline as its start deadline. | ||
deadlines_enddeadline_id | The ID of the associated task entity which uses this deadline as its end deadline. |
The
escalation
entity describes an escalation action that should be taken for a particular deadline.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
name | The name of the escalation event | ||
deadline_escalation_id | The ID of the associated deadline entity |
The
booleanexpression
entity represents an expression that evaluates to a boolean. These expressions are used to determine if a constraint should be applied.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
expression | The expression text | ||
type | The type of expression | ||
escalation_constraints_id | The ID of the escalation constraint used on the expression |
The
notification
entity describes a notification generated by an escalation action.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
dtype | The discriminator column | ||
priority | The priority of the notification | ||
escalation_notifications_id | The ID of the associated escalation entity |
The
email_header
entity describes an email that will be sent as part of a notification.
Field | Description | Null |
---|---|---|
id | The primary key | |
fromaddress | The email address the e-mail is sent from | |
replytoaddress | The reply-to address used in the e-mail | |
language | The language the email is written in | |
subject | The subject of the email | |
body | The body of the email |
The
notification_email_header
table is a join table that describes and qualifies which email_header
entities are part of a notification.
Field | Description | Null | Foreign Key |
---|---|---|---|
notification_id | Together with the mapkey , this field is part of the primary key. This field refers to the notification entity that the email_header is associated with | ||
mapkey | Together with the mapkey , this field is part of the primary key. This field describes what the type is of the associated email_header | ||
emailheaders_id | The ID of the associated email_header entity |
The
reassignment
entity describes reassignments associated with escalations.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
escalation_reassignments_id | The ID of the associated escalation entity |
The
reassignments_potentialowners
table is a join table that describes which organizationalentity
entities are potential owners if a reassignment happens as part of an escalation.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated reassignment entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
notification_bas
table is a join table that describes which business administrators will be notified by a notification
.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated notification entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
notification_recipients
table is a join table that describes which recipients
entities will be received a notification
.
Field | Description | Null | Foreign Key |
---|---|---|---|
task_id | The primary key of the associated notification entity | ||
entity_id | The primary key of the associated organizationalentity entity |
The
content
entity represents the content of a document, output document, fault or other object.
Field | Description | Null |
---|---|---|
id | The primary key | |
content | The content data |
The
i18ntext
entity is used by a number of other entities to store text fields. The deadline
, notification
, reassignment
, and task
entities use this entity to store descriptions, subjects, names, and other documentation.
Foreign keys can not be set to null, and any foreign key that is not being used will be set to 0.
Field | Description | Null | Foreign Key |
---|---|---|---|
id | The primary key | ||
language | The language of the text | ||
text | The text | ||
task_subjects_id | The ID of the task entity that this subject refers to | ||
task_names_id | The ID of the task entity this name refers to | ||
task_descriptions_id | The ID of the task entity this description refers to | ||
reassignment_documentation_id | The ID of the reassignment entity this documentation refers to | ||
notification_subjects_id | The ID of the notification entity this subject refers to | ||
notification_names_id | The ID of the notification entity this name refers to | ||
notification_documentation_id | The ID of the notification entity this documentation refers to | ||
notification_descriptions_id | The ID of the notification entity this description refers to | ||
deadline_documentation_id | The ID of the deadline entity this documentation refers to |