Maintainer: Daniel Hahn This document is incomplete
See also the Functional Specs
Workflow engine specifications
These are the technical details for the implementation of the workflow engine
Source class properties
The SourceRecord? of a Source will contain the following properties:
- workflow - A string indicating the workflow used by this source. This is the class name of the workflow.
- workflow_step - An integer indicating the current step in the workflow. This should correspond to a constant.
Both properties should not be available on the Source object, at least not for writing.
The workflow will be the name of the class that is used to control the Source's workflow. It will be used to create the workflow object when the Source is loaded.
Idea: It would also be possible to remove all workflow-related information from the source_records table and create a new linked table with all workflow information. This could possibly use single table inheritance and/or make use of the ActsAsStatemachine? plugin...
Creating Sources
When a Source is created, a workflow must be selected for it. We need a mechanism to select the workflow
Default Workflow steps
The workflow steps are saved as integers, symbolic names are defined as constants in the WorkflowState class.
Attachments
-
TaliaCoreclasses.png
(25.7 KB) - added by daniel
4 years ago.
UML of core classes

