This provides for multi-step editing of Biskits where each step is a page with Next and Previous buttons. The procedure can also have other buttons (Help, Reset, Exit) . There can be defined a standard flow from one Step to another, or use Workflows to control which Step follows on, depending on what was done in the previous Step.
Overview of how to set up a Process.
1.In the Bakery create a BiskitDef and populate with the required Properties.
2.Create a layout(s) in the Layout Editor.
3.Create a Process Definition to define how to handle your BiskitDef.
a.Create a number of Steps, within each define which layout is going to be used and additional information such as which buttons will be shown, and who can edit this Step.
4.Create any Workflows required to manage moving between Steps that is not handled by the Process Definition.
Create the BiskitDef in the Bakery, make sure it is using its own table, populate with the required properties. There can be a property of Type Biskit, Name currentStep, and Bisket Def of Step, Biskit Property Type To One. If such a property is defined then whenever a Process is re edited the editing will start at the step that was last used. If no such property exists re editing the Process will always start at the first step.
This can be:
1.A single layout defining all the tabs to be required,
2.Multiple layouts one for each Step, with the properties not required on a Step put in a Property Group that is then defined as hidden.
3.Either of the previous two with some additional layouts defining special combinations of properties that would be required in addition to the defining layout.
Each Step has access to two layouts, which will be combined to be a single layout for that Step. Any properties found in both layouts will be displayed once using the information from the primary layout.
Creating the Process Definition
Using a Search page create Process Definition Biskit for the Process.
Give the Process Definition a name and select the Process BiskitDef. The Initial Step will be set up once the Steps have been created. Once the Initial Step is set up then the Run New Process will hold a link to create a new Process Biskit of type Process BiskitDef.
Add the steps required using the Add Step button.
Information |
Description |
Name |
The name of the step. |
Enabled |
Whether this step is enabled for use. |
Writeability |
Writable or ReadOnly. If ReadOnly then nothing is editable. |
Target Path |
Normally refers to the current Biskit, but can be used to point to Biskits that are referenced from this one. |
Layout |
The Layout or sub part thereof to be used for this Step. |
Secondary Layout |
The Layout or sub part thereof to be used as a subsidiary layout for this Step. |
Sort Order |
The order the Steps will be listed in the left pane. |
For each Step there are a number tabs which provide additional functionality for that Step.
Define for each button, what label will be used, whether the button can be seen, and whether it can be pressed or is greyed out. Finally specify which Step will be the default if the button is pressed.
Define where the buttons will be displayed.
The Conditions define whether or not you can go to the Next Step. If the Conditions are considered not to be met then the user will not be allowed to move to the Next Step.
Define the text that will appear when the Help button is pressed.
Use the add button to specify the users that are allowed to edit this step, or leave empty to allow anybody to do so.
Define the text that will be shown to anybody who tries to view this Step that is not deemed to be a valid editor.
This view shows who created or updated this Step and when.
Each Workflow will need to start with a Process Workflow Event.
•Set the target type to your BiskitDef (so this event is triggered only by changes to BiskitDef)
•Choose whether you want to be triggered by clicking next, previous etc.
Workflow creation advice:
•If a Process Event is defined to handle the next button, and inside that there is a BiskitUpdate Action to go from Step 1 to Step 2, and a sibling that goes from Step 2 to Step 3, then on pressing Next from Step 1, this will jump straight to Step 3.
•That's because it will run Step 1 to Step 2 Action first, then look for the next Action.
•If the next Action then has a condition to check if the current Step is 2, it will fire because the current Step has just been changed to be 2.
•In order to stop this have one event for each change. That is, one Process Event that contains everything to move from Step 1 to Step 2. Then configure each Event to ignore events caused by "This Workflow".