A flow element describes a workflow. It always targets a specific data element and status field of that data element.
|Name||a name to identify the ﬂow. As a naming convention, all ﬂow elements start with a capital and carry the same name as the data element on which they operate||Invoice|
|Package name||the package name in which the ﬂow element will be incorporated||be.uantwerpen.ee|
|Target class||the data element on which the ﬂow is operating, structured as [package name].[DataElement]||be.uantwerpen.ee.Invoice|
|Status ﬁeld||ﬁeld of the data element in which the status of the ﬂow is stored, typically called “status”. In case the ﬁeld “Status” is speciﬁed here but not present as a ﬁeld in the concerning data element, a status ﬁeld will automatically be created and set during expansion (cf. infra)||Status|
|Workﬂow name||the name of the ﬂow on the data element, typically structured as DataElementFlow||InvoiceFlow|
|Archive name||only required when using old version of EJB, may be left empty in all other cases||–|
|Description||optional description of the element||–|
Statusis starting with a capital but the automatically generated ﬁeld will be
status, starting with a lower case letter. As several settings are automatically set to the appropriate values in this way, this option is currently recommended. However, in case a status ﬁeld is created manually upfront, the ﬁeld should be a value ﬁeld of the value ﬁeld type String, having two ﬁeld options (one with option type
isExposedFieldand one with option type
isStatusField) deﬁned onto it, and a ﬁndByStatusEq ﬁnder.
Generating TesterTask as an example for a flow
When generating a typical ﬁrst version prototype (in which the tasks themselves are “empty” and having no real implementation), it is advised to let the Prime Radiant generate a “tester task” for each ﬂow (see flowElement:includeTesterTask).
After a ﬂow is deﬁned in this way, one should choose the Perform tasks tab while the respective component is still selected, and click the “Create ﬂow environment” button. This will
- create a status ﬁeld if required
- create an additional data element ([DataElement]TaskStatus)
- create a tester task (DataElementTesterTask) if speciﬁed (see flowElement:includeTesterTask).