The Workflow meta model and feature can provide users with guidance through a work process consisting of activities and procedures. The feature can show process activities and steps (describe what to do and how to do it), and guide users to the right context and the proper view(s) to use.
It's ideal to use for domains, such as Cybersecurity Management, Adaptive Autosar, or for any other use case as our Workflow meta model is generic. The process can also include descriptions of procedures done in tools outside of SystemWeaver. The feature includes support for:
- Multiple workflow processes
- Shortcuts to specific item and view(s) for a given procedure
- Activation by user on as needed basis
This article provides the Workflow meta model, and describes how to configure the Workflow feature.
Prerequisites
- Familiar with the SystemWeaver meta model building blocks (e.g., Items, Parts and Attributes)
- Familiar with the SystemWeaver Explorer Interface and common operations
- An installation of the SystemWeaver Explorer client (swExplorer)
- Knowledge of XML (A good resource is w3schools' XML tutorials)
- Assignment of the SW Architect role in the server
- SystemWeaver version Bagaregården (R42) or later
Required Meta Model
The Workflow process relies on the below meta model.
Example Workflow Process
Configuration
There are, potentially, two parts to the configuration:
- Feature configuration
- Procedure configuration (optional)
Feature Configuration
The feature configuration is required, and is done in Configure the explorer.
- Go to File > Configure the explorer.
- On the Features tab, select Workflow.
- Click View example XML and copy the script as a starting point for your configuration.
- Click Edit configuration and paste the configuration in the Edit XML window.
- Modify the configuration to meet the needs of the use case(s). (See the explanation of available elements below.)
- Once you save your configuration, the Workflow option will be available to users.
Example Feature Configuration
<WorkflowConfigs> <WorkflowConfig id="1"> <ViewSettings> <Caption>WorkflowItemView Config 1</Caption> <RibbonGroup>Extensions</RibbonGroup> <Description>An extension.</Description> <Image guiImage="31"/> </ViewSettings> <ProcessItem id="x04000000000050A6" topItemSids="MYSID;I"/> </WorkflowConfig> <WorkflowConfig id="2"> <ViewSettings> <Caption>WorkflowItemView Config 2</Caption> <RibbonGroup>Extensions</RibbonGroup> <Description>An extension.</Description> <Image guiImage="31"/> </ViewSettings> <ProcessItem id="x040000000001BEDB"/> <ProcessGraph configItem="ABC123:Process"/> </WorkflowConfig> </WorkflowConfigs>
Explanation of the Configuration Elements
The <WorkflowConfigs> and <WorkflowConfig> elements build the structure of the multiple configurations and the individual configurations. The id attribute in <WorkflowConfig> identifies the specific configuration, and should be a unique string value when multiple configurations exist in <WorkflowConfigs>.
<ViewSettings> enables you to set a custom view label, hover-tip, icon, etc. See How to Configure Item View Menu Button Settings.
<ProcessItem> has two attributes.
- id is required, and provides the xID of the Process item containing the entire Process structure to display. Example id=x04000000000050A6:
- topItemSids is optional, and can be used to specify, by SID, which item type(s) the Workflow Process will apply to at the top of the tree structure. Multiple values should be delimited by semi-colons. If topItemSids is not included, Workflow will display for all item structures. Example topItemSids=3PTA:
<ProcessGraph> is optional, and can be used to enable users to redirect to the process item and load a graphical representation of the process. It has one required attribute called configItem which should be the valid xID or Ref id of the configured graph.
Procedure Configuration
Procedure configuration is optional, and enables you to provide a shortcut button that will redirect users to the specific item and view(s) that should be used to perform the procedure.
An example Procedure (in Tool) configuration for "Work with security grid":
The procedure configuration would provide users with shortcuts buttons to the configured view(s) with the context in the selected structure, as illustrated below:
The configuration consists of entering values in Attributes belonging to the specific Procedure (in Tool) for the shortcut.
Workflow Activation SID: The item type SID of the item type on which the procedure is done. In the above example, the procedure is to be performed on items of type SI0167. The Path Query Language is supported, e.g., SI0219/SP0167*.
For improved performance, the feature can be run directly on the TopItem instead of looking for all items.
To do this, add TopItem to the Workflow Activation SID attribute. Options are:
- TopItem/PartSID
- TopItem.Handle
PrimaryView: The attribute must include the name of the view to be loaded according to the Name column seen on the Item views tab of the Configure the explorer dialog. The format is name="". In the above example, the Grid view is to be loaded. For configurable views, you must also include a configItem value. The format is configItem="". There are two possible values that can be entered.
- A SystemWeaver Config Item ID, used for views configured by Config Items.
Example: name="Grid" configItem="x34000000000877C5".
Note that if a new version is made of the config item, the attribute must be updated to include the new ID. - The SID of the configured type along with the defined id for the config item. This option will automatically point to the latest version of the config item. Example: A report is configured for items of type CNDE. The report's defined id is ConsistRpt. Together, they create the Ref id "CNDE:ConsistRpt". When a new version of the report is made, the Ref id value remains constant (unless the id is manually changed to another valid id value).
Example PrimaryView: name="Grid" configItem="SI0220:AssetCatalogueGrid"
SecondaryView: This attribute is set in the same way as the PrimaryView. The difference is that this view will load in the Secondary view position.
Example Procedure Configuration
ShowValidityCheck: Is optional and defines if the feature should display (true) or not. Default is False. This feature is not fully developed yet in the current version but the architect can prepare for it for the future releases.