Skip to content

Concepts

A workflow routes a document to people for a decision and records what they decided. Docsentry separates the definition - the reusable shape of a process - from the instance, which is one document going through it.

A definition is a named process built from steps and transitions.

A step is a point where something must happen: someone approves, reviews, acknowledges, or publishes. Each step has assignees - the people or groups who may act on it.

A transition connects steps and says which outcome leads where. Approval might move forward to the next step; rejection might end the instance.

Definitions carry a status:

Status Meaning
Draft Being authored. Not available to start.
Active Available to start on documents.
Archived Withdrawn. Running instances continue; no new ones start.

Archiving rather than deleting is deliberate: a completed instance must remain interpretable years later, which requires the definition it ran against to still exist.

Definitions are authored under Workflow definitions in the administration section - see Authoring definitions.

A step expects one of five actions:

Action Meaning
Approve Agreement; typically advances the instance.
Reject Refusal; typically ends the instance.
Acknowledge Confirmation of receipt, without a judgement.
Review A review has been performed.
Publish The document is released.

Starting a workflow on a document creates an instance, which walks the definition and creates a step instance for each step it reaches.

Instance status:

Status Meaning
Running In progress.
Completed Reached a terminal step successfully.
Rejected Ended by a rejection.
Cancelled Stopped deliberately.
Suspended Paused.

Step instance status:

Status Meaning
Pending Created, not yet picked up.
InProgress Assigned and being worked.
Completed Acted upon.
Escalated Overdue and raised - see Inbox and tasks.

Every action taken is written to an append-only history: who acted, what they did, when, and any comment. The application principal can add to that history but cannot rewrite it - see Database deployment.

Manually, from a document, by choosing an active definition. Requires ManageWorkflow on the document.

Automatically, by binding a definition to a folder as its approver workflow. Documents added to that folder start the workflow without anyone remembering to. The outcome then drives the document’s status - an approved document becomes Approved rather than needing someone to set it.

Folder binding is the mechanism worth reaching for. A process that depends on a person remembering to start it is a process that will be skipped.

Workflows:Engine selects the implementation:

Dapper is the default and is built in. It uses the same data-access approach as the rest of the system and needs nothing beyond the standard schema.

Elsa is an alternative engine for organisations already standardised on it. It requires its own deploy script to have been applied.

The engine choice is invisible to users. The screens, the inbox, and the history are the same either way. Unless you have a specific reason to use Elsa, leave the default in place.

A step’s assignees can be individual users or groups. Where a step resolves to several people, it appears in each of their inboxes and the first to act completes it.

Two mechanisms keep assignment from going stale:

  • Escalation raises steps that have been outstanding beyond the configured window.
  • Reconciliation reassigns tasks belonging to a user who has left, rather than leaving them assigned to a departed account where nobody will ever see them.

Both run as background jobs - see Background jobs.