Dart KnowledgeWorker™ Workflow Designer User Manual
1. What is a workflow?
A workflow is a process-map, which intelligently routes a work package between groups of users, individuals or application programs. A work package consists of electronic business forms with associated documentation and attachments that are required to complete a business process.
In order to turn a business process into a KnowledgeWorker workflow map, you must create a workflow map using the KnowledgeWorker Workflow Designer application. The Workflow Designer is a browser application, which allows a user to map each of the tasks or stages of a process into a workflow map by ‘dragging and dropping’ the processes onto a workflow diagram.
The Workflow Designer provides a set of tools that can be dragged onto a palette to represent each stage of a business process. For each stage/point in the process, you are able to define the specific details to be displayed on an electronic form, and control what fields a user is required to complete or amend. In addition, the workflow participants are able to add attachments to the process that may be completed work documents, forms or comments.
Some of the advantages of creating a workflow map to automate a business process are:
- Provides graphic visibility of exactly where a process currently is, and how long it has to go before completion
- The workflow engine automatically routes work packages to the correct individuals or groups of people depending upon decisions made or the contents of entered data.
- An audit trail is maintained for each workflow instance, to allow performance measuring, accountability and traceability.
- The workflow process will always ensure that best practices are followed for each business process.
- Using workflows ensures that all the information for any given task/process is always accessible, in one place and easily retrieved using the search engine.
- The workflow engine provides email notifications to task recipients to notify them that a task is available to be processed.
- Workflow ensures that no task ever goes missing or is forgotten, and that the right person does the right thing at the right time.
- Tasks and processes can be assigned priorities, so that your business always processes the most important tasks first.
- Allows remote users or home workers to participate in business processes as if they were in the office.
- The workflow engine automatically notifies workflow participants of any comments entered by other users, as tasks are being completed or updated, thus providing an automated task collaboration feature.
- The workflow engine is able to pass and receive information to/from external computer systems or applications using a programmable interface.
The starting point for all workflows is to define the information or data fields that need to be completed at each task point, and enter these into a KnowledgeWorker workflow category.
To create a category
Login to KnowledgeWorker™ then click the Admin button from the navigation bar. The Administration page is displayed.
Click the button to expand the System Administration menu.
Click the List Categories link. The categories page is displayed.
Select Add Category from the context sensitive menu by clicking on the icon.
The New Category page is displayed as shown below.
Enter a title for the category into the Category Name field.
From the Scope field, select the appropriate checkboxes for the desired scope.
Scope Field Explained
Files – Select this checkbox if the category is to be applied to files located in the Library (to allow meta-data to be associated with any file).
Workflows – Select this checkbox if the category is to be applied to workflows (for use in the Workflow Designer).
Media – Select this checkbox if the category is to be associated with files located in the Media Library (used for the Media Asset Library).
System – Select this checkbox to make the category a system category (used by application developers).
Data Only – Select this checkbox if the category is to be used for storing data, for example a list of project codes or an asset register (for creating databases within KnowledgeWorker).
Media Entities – Select this checkbox if the category is to be used to represent a client, supplier or other contact entity (used for the Media Asset system).
User Only – Select this checkbox if the category is to be used for storing additional data against KnowledgeWorker user profiles (for example to store personnel details like employee number or reporting manager).
(Optional) - Enter some text into the Description field.
Note – Any text entered into this box will only be visible from the information page for the category.
Click the Add Category button.
The Categories (Active) page is displayed, listing all active categories including the category you have just created.
To create an attribute
On the categories page click the Edit link located next to the category. The Category Information page is displayed.
Select Add New Attribute from the context sensitive menu be clicking on the icon.
The New Attribute page is displayed.
New Attribute page definition
Category Name – This displays the name of the category you are currently editing.
Attribute Name – KnowledgeWorker requires that you enter a name for the attribute. This name is used by KnowledgeWorker as the column name in the database, and therefore should not have any spaces. Note – You may use the underscore ( _ ) character to split words if required.
Display Name – The name entered into this field, is the name that will be visible to the user on the workflow form.
Input Type – Select the input type for the field from the dropdown. This determines how the form will display the field. Listed below are the input types available. More detailed information is available in the System Administrators Guide.
Entry Field – This is an entry field and can be configured to accept certain Data Types (See Data Type). Examples of use are "Name" or "Monetary Value".
Multi-Line Text Box – Allows multiple lines of text to be entered into a single field. Examples of use are “Address” or “Item Description”.
Checkboxes – These are used if the user is to select more than one item. Example of use is “Check all that Apply”.
Option Buttons – Otherwise known as Radio Buttons these are used if the user is to select a single item from several options. Examples of use are “Male or Female” or “Select which Colour”.
Drop Down – These allow you to create drop down menus from which an Item is selected. Examples of use are “Department” or “Salesman”.
Multiple Select List – As Drop Down above but allows multiple items to be selected.
Date List – This field type allows a date to be selected from a calendar.
Date Time List – As Date List above but allows Date and Time to be selected.
Time List – This field type allows a Time to be selected.
Category Field Look-Up (Multiple Check Boxes) – This field operates as Checkboxes above; accept that the options are read from an existing data category.
Category Field Look-Up (Drop Down) – This field operates as Drop Down above; accept that the options are read from an existing data category.
Category Field Look-Up (Multiple Select List) – This field operates as Multiple Select List above; accept that the options are read from an existing data category.
Category Multi-Select List with Other Entries – This field operates as Multiple Select List above; accept that the options are read from an existing data category. This type will also allow a new entry to be entered which is not in the list if the user selects the “Other” option.
External Table Look-Up (Multiple Check Boxes) – This field operates as Checkboxes above; accept that the options are read using ODBC from an existing external database table.
External Table Look-Up (Drop Down) – This field operates as Drop Down above; accept that the options are read using ODBC from an existing external database table.
External Table Look-Up (Multiple Select List) – This field operates as Multiple Select List above; accept that the options are read using ODBC from an existing external database table.
User List – This field type allows a User to be selected from a list off all registered KnowledgeWorker® users.
User Multi Select List – This field type allows multiple Users to be selected from a list off all registered KnowledgeWorker® users.
Users and Groups List – This field type allows a User and Group to be selected from a list off all registered KnowledgeWorker® Users and Groups.
Users and Groups Multi Select List – This field type allows multiple Users and Groups to be selected from a list off all registered KnowledgeWorker® Users and Groups.
Project Groups Multi Select List – This field type allows multiple Project Groups to be selected from a list off all KnowledgeWorker® Projects Groups.
Sub Category List – This field type is used for advanced parent/child relationship data handling.
Sub Category Reference – This field type is used for advanced parent/child relationship data handling.
Library Item Reference – This field type allows an item from the library (node) to be selected.
Node Table Folder List – This field type generates a list of child nodes for a specified parent node and allows the user to select one of the nodes.
Thumbnail Reference – This field type allows Thumbnail to be selected.
Data Type – This field requires that you select the type of data that will be entered into the field. This field also reflects how the information entered into this field will be stored into the database.
Format Notation – This field indicates how to fill in the ‘Format Values’ field for the selected ‘Input Type’. The format notation instructions will change depending on the ‘Input Type’ selected.
Default Values – Enter into this field the default values for the field. For example if you select the ‘Input Type’ as an ‘Entry Field’, then enter into the ‘Default Values’ field the text ‘Enter some text here’, when you view the category, the text ‘Enter some text here’ will appear in the ‘Entry Field’ field by default.
Click the Add Attribute button.
The Category Information page is displayed, and the new attribute is amended to the category.
For ease of editing multiple attributes at the same time, it is possible to display the screen below by checking the box labelled Update Attributes. This also allows attributes to be re-ordered quickly by simply clicking on the appropriate up or down arrows beside each attribute.
The Display Name, Data Type and Input Types can be changed for all displayed attributes where required.
After all the edits have been completed click on the Update button to save them.
2. The Workflow Designer
The Workflow Designer is a browser application which can be invoked from the Workflow menu system by clicking on the Workflow button in the main navigation menu.
The main navigation menu will change to display the following options:
The Workflow Designer application can be started by clicking on the Start Workflow Designer icon in the main navigation bar or by clicking on the sign at the top of the page and selecting the same option from the context sensitive menu.
The browser screen is redrawn to display the Workflow Designer application.
The Toolbar
New – Click on this icon to create a new workflow map. Alternatively click on File > New from the menu.
Open – Click on this icon to open an existing workflow map file (XML) which resides on a file system. A standard file browse dialogue box will allow your file system to be navigated to find the file. Alternatively, click on File > Open from the menu.
Save - Click on this menu to save a workflow map which you have designed. Alternatively click on File > Save or File > Save As from the menu.
Properties – Click on this icon to display the properties for a selected object on the designer palette. Alternatively click on Workflow > Workflow Properties from the menu.
Copy Step – Click on this icon to copy a selected workflow step or object. Alternatively click on Workflow > Copy Step from the menu.
Delete Step – Click on this item to delete the selected step or task. Alternatively click on Workflow > Delete Task from the menu.
User Task - A task object is used to represent a step in a business process that requires execution by an individual user or group of users. When setting up this object, you are able to define which fields the user may see, amend or enter; define any decisions that need to be made, and any attachments the user can see. Click on the button with the mouse and drag onto the palette to create a new task. Alternatively click on Workflow > Newtasks > User Task from the menu.
Decision - A decision step object is used to determine the branching of a process based upon decisions made by users or the content of data entered on the workflow form, which may be evaluated to intelligently determine the next step to be executed. This object allows you to define the business logic required to define the branching process. Click on the button and drag onto the palette to create a new Decision Step. Alternatively click on Workflow > Newtasks > Condition from the menu.
Script - A script step object is used to execute a server-side compiled Visual Basic script at a determined point in the business process. This is for advanced users only, who can program in VB. Click on the button and drag onto the palette to create a new Script. Alternatively click on Workflow > Newtasks > Custom Step from the menu.
Sub-Workflow - A Sub-Workflow step object is used to initiate another workflow from the current workflow map. This allows other business processes that have already been defined as workflow maps to be fired from the source map. This means that repetitive processes do not have to be redefined in each map, and allows the use of existing workflows to be used as building blocks for other business processes. Click on the button and drag onto the palette to create a new Sub-Workflow. Alternatively click on Workflow > Newtasks > Sub Workflow from the menu.
Milestone – This object is used for creating reporting milestones within a workflow. Click on the button and drag onto the palette to create a new Milestone. Alternatively click on Workflow > Newtasks > Milestone from the menu.
Object Move Keys – These buttons are used to move the position of objects on the workflow palette. Although any object can be moved by selecting and dragging with the mouse, these keys are useful for micro-adjustment and alignment operations. Simply select the object to be moved with the mouse and click on the arrow keys to move the object in the required direction. The arrow keys on the keyboard will also perform the same operation.
Start Step - This object is the same as the Task object, except that it is always the first object on the workflow map, and is always the first step to be processed by the workflow initiator.
Other options which are available on the menu system but are not on the toolbar are as follows:
File > Synchronise – This option is only used when a workflow category and workflow map have been imported from another KnowledgeWorker instance. Running this option will synchronise the contents of the current workflow with the newly imported category and will update the workflow map with any new information which may have been added to the workflow category since the map was last edited.
File > Recent Files – This option will display a list of recently created or edited maps which can be opened for editing.
File > Exit – This option will close the workflow designer and return the user to the workflow home page. If the workflow has not been saved when the Exit function is used, the system will prompt the user to save the file before exiting.
View > Toolbar – This option will toggle the main toolbar to display or not.
View > StatusBar – This option will toggle the display of the status bar at the bottom of the workflow designer screen.
Workflow > Tidy-Up Map – This option will tidy up the map by straightening out task links and object placements to ensure the map has a more 'finished’ look.
For example, this is a map before the Tidy-Up function:
And here is the same map after the Tidy-Up function has been run:
Workflow > Alias Step – This option will create a link or alias to an existing step. This is used to re-direct control of a workflow to a previous step. For example, in the workflow below the steps Approval Process Alias and Pay Invoice Alias are exactly the same steps as the Approval Process and Pay Invoice tasks respectively. This is also known as a process ‘loopback’.
To create an Alias
1. Select the user task that you wish to return to in the workflow designer.
2. Select Workflow from the Java Applet menu of the workflow designer and select the menu item Alias Step.
3. This will create an Alias for the task and all you need to do is move it to the appropriate place in the workflow pane.
4. Take a connection from the condition task to the Alias task to create the connection.
5. Define the rule in the condition task to define when to go to the Alias task..
NOTE: When using the Alias function, there are certain restrictions in its use:
- The alias function cannot be used on the start step (first step) task of a workflow map.
- The alias can be created to return to any previous user task in the workflow, it cannot be used to jump forwards in the workflow.
- The alias function does not return the task to the group performer defined in the workflow map but only to the user who previously performed the task.
To Save a Workflow
Click File > Save from the menu or click on the button on the toolbar.
A ‘Save’ dialog box is opened. Select a location to save the workflow.
Click the Save button.
The workflow is saved to the hard disk, ready to be inserted into KnowledgeWorker®. Notice that the file is stored as an XML file.
3. Building a workflow
This next section shows you how to build a workflow map. By way of demonstration, we are going to build a workflow to process an Annual Leave Request. This is only a simple example of a workflow, and does not cover all the functions of the Workflow Designer. Further details are contained in other sections of this manual.
1. Start the Workflow Designer as described in Chapter 2 above.
2. Set-up the Workflow properties page
Firstly you need to title the workflow and select a workflow category from the database. This is achieved from the Workflow Properties page. Click on the icon select Workflow > Workflow Properties from the menu.
The following dialogue box is displayed.
3. On the General tab, enter the title for the workflow into the Workflow Title field.
For the example we will call this workflow Annual Leave.
4. (Optional) Enter a description for the workflow into the Description text box.
5. Workflow Tag Field - This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks. Leave blank.
6. Click the Attributes tab. The Attributes tab is opened and the category field states that there is no category selected for the workflow.
At this point you need to select the category that is to be applied to the workflow.
7. Click the Category drop down and select the category (form) you want to apply to the workflow.
The Category field is updated, and the Attributes field is populated with the attributes contained within the selected category.
8. Click the OK button.
The entered details are saved, and the Workflow Properties dialog box is closed. Now you have named the workflow and selected the category, you now need to build the structure of the workflow by means of a drag and drop method.
9. Drag and Drop 4 tasks onto the workflow map. Four new tasks are created.
10. Drag and Drop a Condition onto the workflow map. A new decision point object is created.
Now drag and drop the items onto each other to link them up. The workflow path has now been routed.
11. Tidy up the workflow by selecting Tidy-Up Map from the Workflow menu. Note – This function is optional and only aids with the presentation of the workflow.
Configuring the Start Step
12. Double-click the Start Step item. The Task Properties dialog box is opened for the selected task. Click on the General tab.
13. Enter the title for this step into the Title field.
14. Enter a description for this step into the Description field (Optional).
15. Enter some instructions into the Instructions field (Optional).
Note -The text entered into this field will appear in the instructions field on the form.
16. Workflow Tag: This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks.
17. Specify the duration of the step by selecting either the Hours or Days radio buttons, and then entering the amount into the numeric field.
18. Task Start Date: Only enter a date in this field if a specific start date is required for this task. Please note, that this will mean that the workflow can only be used once, and will need to be amended if it is required to be used again with a different date.
19. Click the Attributes tab. When opened the attributes for the selected category are displayed.
At this point you need to define the attribute permissions for this step in the workflow. You can select 1 of 6 permissions for each attribute, these:
Not Visible to this Task – The attribute will not be visible to the user.
Calculation Only – This is for advanced programmer use only, see the Programmers Guide for more information.
Program Entry – This is for advanced programmer use only, see the Programmers Guide for more information.
Read Only – The attribute will be visible to the user, but will not be able to edit.
Editable – The user will be able to edit the attribute.
Entry Required by Task User – The attribute is mandatory and will require the users input. In some cases, default values may be defined in the category so that the user only needs to modify the entry if it is incorrect.
To update multiple attributes simultaneously you can hold the shift key down and select with the arrow keys or mouse.
20. Click the Performer tab.
21. Select the Task Performer radio button. Select 1 of 4 options for the ‘Task Performer’ field:
Workflow Initiator – This is the user that initiates the workflow.
This user – Allows you to assign this task to a specific user.
A member of this Group – Assigns the task to a member of a selected group. The task will be sent to all users of the group, however the task will be assigned only to a single user, depending upon who actions it first.
User Selects Performer at Initiation – When the task is ready to be initiated, the user can select.
Note - If you are viewing the task properties for the ‘Start Step’, then you will only be able to select Workflow Initiator from the Performer tab.
22. Select the permissions from the Allow Performer To: field
Not Visible/No Addition – Previous user comments are not visible on the form and the user cannot add any comments.
Not Visible/Addition Permitted – Previous user comments are not visible on the form however the user can add their own comments.
Visible/No Addition – Previous user comments are visible on the form but the user cannot add any new comments.
Visible/Addition Permitted – Previous user comments are visible on the form and the user can add their own comments.
Delegate This Task – Checking this will give the user the option to assign the task to another selected user.
Send This Task For Review – Checking this option will allow the user to send the task to another user for them to review and comment on before returning to the designated user for completion.
23. Click the OK button. The Task Properties are saved and the Task Properties dialog box closes.
Configuring User Task 2
24. Double-click the User Task 2 item. The Task Properties dialog box for the User Task 2 item is opened.
25. On the General tab, enter a title for the task into the Title field. For the example ‘Check Holiday’ has been entered into the field.
26. Enter a description for this step into the Description field (Optional).
27. Enter some instructions into the Instructions field. Note -The text entered into this field will appear in the instructions field on the form.
28. Tag: This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks.
29. Specify the duration of the step by selecting either the Hours or Days radio buttons, and then entering the amount into the numeric field.
30. Task Start Date: Only enter a date in this field if a specific start date is required for this task. Please note, this will mean that the workflow can only be used once, and will need to be amended if it required to be used again with a different date.
31. Click on the Test Actions tab.
32. Select the checkbox An explicit Action is Required. When this task is received, the user will now have to select either the Approve or Reject button.
33. Click the Attributes tab. Attributes for the selected category are displayed.
34. Define the permissions for the task user.
As you can see from the screen above, the user has the following permissions:
35. Click the Performer tab.
36. Select the This User radio button. A Selected Performer box opens.
37. Click the Select button. A Select User or Group search box opens.
38. Click the Search button. A list of users or groups, depending on which search criteria was selected from the drop down, will be displayed in the Results window.
39. Select the user for this step.
40. Click the OK button. The Select User or Group dialog box closes and the Selected Performer field is populated with the selected user.
41.The properties for this task are now complete. Click the OK button and the Task Properties dialog box closes.
Configuring User Task 3
42. Double-Click the User Task 3 item. The Task Properties dialog box for the User Task 3 item is opened.
43. On the General tab, enter a title for the task into the Title field. For the example ‘Annual Leave Request’ has been entered into the field.
44. Enter a description for this step into the Description field (Optional).
45. Enter some instructions into the Instructions field (Optional). Note -The text entered into this field will appear in the instructions field on the form.
46. Tag - This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific
47. Specify the duration of the step by selecting either the Hours or Days radio buttons, and then entering the amount into the numeric field.
48. Task Start Date - Only enter a date in this field if a specific start date is required for this task. Note - this will mean that the workflow can only be used once, and will need to be amended if it required to be used again with a different date.
49. Click the Task Actions tab.
50. Select the An Explicit Action is Required checkbox. When the task is received the user will now be required to select either one of the options defined in the ‘Actions’ window. Note – By default, the actions ‘Approve’ and ‘Reject’ are already created. For more details on configuring Actions see Task Actions below.
51. Click the Attributes tab. When open, the attributes for the selected category are displayed.
52. Define the permissions for the task user. As you can see from screen above the user has the following permissions:
53. Perform Steps 34 – 40 as described above. Select a performer for this step.
Configuring User Task 4
54. Double-Click the User Task 4 item. The Task Properties dialog box for the User Task 4 item is opened.
55. On the General tab, enter a title for the task into the Title field. For the example ‘Annual Leave – Approved’ has been entered into the field.
56. Enter a description for this step into the Description field (Optional).
57. Enter some instructions into the Instructions field (Optional). Note -The text entered into this field will appear in the instructions field on the form.
58. Tag: This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks.
59. Specify the duration of the step by selecting either the Hours or Days radio buttons, and then entering the amount into the numeric field.
60. Task Start Date: Only enter a date in this field if a specific start date is required for this task.
61. Click the Attributes tab. Attributes for the selected category are displayed.
62. Set all attributes with the Read Only permission.
63. Click the Performer tab. At this point the performer for this task should be the user that initiated the workflow. Leave the Task Performer as Workflow Initiator.
64. Click the OK button. The Task Properties dialog box closes.
Configuring User Task 5
65. Double-Click the User Task 5 item. The Task Properties dialog box for the User Task 5 item is opened.
66. On the General tab, enter a title for the task into the Title field. For the example ‘Annual Leave – Rejected’ has been entered into the field.
67. Enter a description for this step into the Description field (Optional).
68. Enter some instructions into the Instructions field (Optional). Note -The text entered into this field will appear in the instructions field on the form.
69. Tag: This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks.
70. Specify the duration of the step by selecting either the Hours or Days radio buttons, and then entering the amount into the numeric field.
71. Task Start Date: Only enter a date in this field if a specific start date is required for this task.
72. Click the Attributes tab. Attributes for the selected category are displayed.
73. Set all attributes with the Read Only permission.
74. Click the Performer tab. At this point the performer for this task should be the user that initiated the workflow. Leave the Task Performer as Workflow Initiator.
75. Click the OK button. The Task Properties dialog box closes.
Configuring the Condition (Business Rules)
76. Double-Click the Condition item. The Conditional Task Properties dialog box for the condition item is opened.
77. Enter a title for this condition into the Title field. For the example the title ‘Approved or Rejected’ has been entered into the field. This title is appropriate for this task, since it is the business rules in this condition that decides as to whether the Annual Leave Request is Approved or Rejected.
Expression Builder
All of the tasks for this workflow have been configured and linked up; now the logic (business rules) for the workflow needs to be constructed. This is achieved by means of the Expression Builder.
The workflow needs to be directed to the appropriate task depending on the decision made at the Approved or Rejected condition item.
First, configure the logic for an approved Annual Leave Request.
78. On the Conditional Task Properties dialog box, select Annual Leave – Approved from the Goto drop down. This is telling the expression builder to pass the workflow to this task.
Now we need to tell the expression builder to pass the workflow to the specified task if the following condition is met.
79. From the When: field, select Annual Leave Request.Action. Note – If this selection does not appear in the drop down, make sure that an action is required by the user at the previous task (See Step 50).
80. Select from the drop down.
81. Select Approve from the drop down.
82. Click the button. The logic is applied and is visible in the window.
When an ‘Annual Leave Request’ workflow is approved, the following piece of logic is used:
Pass this workflow to the ‘Annual Leave – Approved’ task,
When
the ‘Annual Leave Request.Action’ (Action selected from the previous task)
is equal to (=)
‘Approved’.
Now the logic needs to be declared for a rejected ‘Annual Leave Request’.
83. Select Annual Leave – Rejected from the Goto drop down.
84. Select Annual Leave Request.Action from the first drop down.
85. Select from the second drop down.
86. Select Reject from the third drop down.
87. Click the button. The logic is applied and is visible in the window.
When an ‘Annual Leave Request’ workflow is rejected, the following piece of logic is used:
Pass this workflow to the ‘Annual Leave – Rejected’ task,
When
the ‘Annual Leave Request.Action’ (Action selected from the previous task)
is equal to (=)
‘Reject’.
'Annual Leave’ is complete. Now you need to insert the workflow into KnowledgeWorker®. To add workflows into KnowledgeWorker® go to Chapter 8.
4. Workflow Properties explained
This section will explain in detail the tabs and their contained functions, for the ‘Workflow properties’ dialog box. It is from here that the workflow is titled and the category is selected. Also, all attachments that are to be used for the workflow are applied at this point under the ‘Attachments’ tab.
General Tab - Contains the general information for the workflow.
Title – Enter into this field the title for the workflow. This will be used to name the workflow instance unless the Rule Based Instance Name field has been set to True.
Description – Enter a description for the workflow.
Tag – This field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks.
Workflow Calendar – If multiple calendars have been defined within the system, the appropriate calendar for the workflow can be selected from this drop down. Typically calendars will define weekends and public holidays for each country. Calendars are defined by the system administrator, and are described in the Administrator Guide.
Rule Based Instance Name – If the name of the workflow is required to be constructed from fields within the workflow each time it is initiated, then this field should be set to True. The default is False.
In the False state, the workflow name will only be what is contained in the field Title followed by the instance number. In the True state, the workflow name will be constructed according to the rules defined in the field Instance Name.
Instance Name – This field allows the name of the workflow to be dynamically generated using a mixture of Text, Workflow Category Attributes and System Attributes. The method for building the rules is described in section 5 below.
Workflow Community Tab
The Community tab is where you are able to define what users/groups are to become workflow managers for the selected workflow. You can also select the permissions for each of the selected users/groups.
See Detailed Status – Allows the user to see the status of running instances of this workflow from the Action and Workflow Instances option on the Admin page within KnowledgeWorker.
Suspend and Stop Workflow – Allows the user to suspend or stop the execution of a running instance of this workflow.
Change Workflow Instance – Allows the user to modify workflow form data during execution.
Delete Workflow – Allows the user to delete a running instance of this workflow.
Add a User or Group
To add a user or group to the community which will use or manage the workflow, click on the button. The User/Group selection screen will display.
Select the user or group required, tick the permissions required and click the OK button.
The user or group will be added to the community list.
To modify the permissions of a user or group in the workflow community, select the user or group required and click on the Modify button. The Permissions Modification window will display.
Check the permissions required and click on the OK button.
To remove a user or group from the user community, select the user or group to be deleted and click the button on the Workflow Properties window.
Attributes Tab
From here you select a workflow category to be applied to the workflow. The Category drop down will be populated with the categories contained within the database that you are connected to.
Attachments Tab
Attachments allows you to select a file(s) from KnowledgeWorker® and attach the file(s) to the workflow form. For example you may want to attach a document that contains instructions on how to fill out the form.
Note – All attachments that are to be used in the workflow should be selected at this point. The permissions for the attachments are selected on the Task Properties-Attachments (below).
There are two types of attachment:
Referenced Attachment - A Referenced attachment is an attachment to the workflow which is used for reference purposes only. It cannot be modified by the task recipient, it can only be viewed. The attachment is a link to an item in the Library. An example of use for this type of attachment could be an Instruction Manual, Workflow Completion Guide or Guidance Notes.
Template Attachment - A Template attachment is an attachment to the workflow which is used capture information and to save a version of the modified document to the workflow. The document can be modified by the task recipient. The attachment is a copy of an item in the Library which is used as a standard template for the user input. When saved, the document becomes a unique document (new node), the original template is not modified. An example of use for this type of attachment could be an Expense Claim Form, Customer Correspondence or Data Capture Form.
To add an attachment:
1. Click the button for the type of attachment required. A Library Browser dialog box appears, allowing you to browse the currently connected database.
2. Select the file you want to attach, and then click the Select button. The Library Browser box closes, and the attachment field is populated with the selected file. Repeat this process to add more attachments if required.
Attachments and Parent Workflows
If the workflow being created is a sub-workflow, i.e. the workflow is itself initiated by another workflow (parent workflow), it is possible to pass any attachments from the child workflow to the parent workflow on completion.
To enable this function, set the attribute property Pass attached items to parent workflow at completion to True by selecting the option from the dropdown.
Archive Tab
The Archive tab is used to define the archiving options for the workflow form information and any attachments when the workflow has completed. These options allow the workflow information to become a searchable object in the library using the Normal Content and Advanced Search engines.
Archive Mode
There are four different archive modes which can be selected from the Archive Mode dropdown, these are: -
- Attachments only, using Folder - only archive the attachments on the workflow on completion to the selected folder.
- Data and Attachments in a single Folder - archives all attachments and the form data (information entered into the workflow category) in the workflow on completion to the selected folder.
- Data and Attachments in separate Folders - archives all attachments and the form data (information entered into the workflow category) in the workflow on completion to the selected folders. The data and the attachments will be placed in separate folders.
- Data Only, using Folder - only archive the form data (information entered into the workflow category) in the workflow on completion to the selected folder.
- Read Data From - allows the archive settings to be read from a workflow map that has already been defined with the archive options set. The workflow can be selected from the dropdown menu.
- Folder for Attachments - allows the folder to be used for storing the workflow attachments to be selected. By clicking on the button, the Library Browser window will be invoked to allow the folder to be selected.
- Folder for Data - allows the folder to be used for storing the workflow form data (category information) to be selected. By clicking on the button, the Library Browser window will be invoked to allow the folder to be selected.
-
Item Type - this field is used to define how the workflow form data will be stored. There are three options available.
- File - the workflow form data will be written to a plain text file and stored in the selected library folder.
- Note - the workflow form data will be written to a Note node type and stored in the selected library folder.
- Record - the workflow form data will be written to a Record node type and stored in the selected library folder.
Record Category
If the Record option is selected in the field Item Type above, then this field is used to select the category to which the data will be written. The category selected will normally be the same category used in the workflow, as the field names must be identical.
Events Tab
In order to facilitate the integration to external systems, the workflow engine has the ability to execute server-side compiled Visual Basic scripts at pre-determined points in the workflow process. This is for advanced users only, who can program in VB.
- Workflow Is Initiated – enter the name of the script/program to be executed when the workflow is initiated.
- Workflow Is Completed - enter the name of the script/program to be executed when the workflow is completed.
- Workflow Is Suspended - enter the name of the script/program to be executed when a user suspends the workflow during execution.
- Workflow Is Resumed - enter the name of the script/program to be executed when the workflow is resumed after having been suspended.
- Workflow Is Stopped - enter the name of the script/program to be executed when the workflow is stopped from further processing by a user.
- Workflow Is Deleted - enter the name of the script/program to be executed when the workflow is deleted after having been stopped from executing.
Presentation Tab
The presentation tab allows various attributes on the Task form to be controlled.
- Icon - this field allows the placement of an icon to be displayed in the top right hand corner of the Task form during workflow execution. By clicking on the button, the Library Browser window will be invoked to allow the icon to be selected.
- Width of Display Name - the width (no of characters) to be allowed on the form for displaying the display name of workflow category fields.
- Width of Data Fields - the width (no of characters) to be allowed on the task form for displaying the workflow category data entry fields.
- Location of Comments - if workflow comments have been enabled for tasks, then these can be displayed on the Top or Bottom of the task form. These options can be selected from the dropdown menu.
- Location of Instructions - if workflow Instructions have been set for any tasks, then these can be disabled (None) or displayed on the Top or Bottom of the task form. These options can be selected from the dropdown menu.
- Additional Action Buttons - additional Action buttons can be enabled or disabled by selecting the True or False options from the dropdown menu.
5. Task Properties Explained
This section will explain in detail the tabs and their contained functions, for the Task Properties dialog box. It is from here that the selected task is titled and the permissions for the category attributes are defined.
General Tab
- Title – enter the title for this task. The title entered here is the text that will appear for the title of the task in the users inbox.
- Description – enter a description for this task (Optional).
- Instructions – enter some instructions for this task. The instructions will appear on the form page, under the Instructions field (Optional).
- Workflow Tag - this field is used for information purposes only, and may be used by advanced users with access to the database to report on specific tasks (Optional).
- Task Duration - specify the duration of the step by selecting either the Hours or Days radio buttons, and then entering the amount into the numeric field.
- Task Start Date – only enter a date in this field if a specific start date is required for this task. Note - that this will mean that the workflow can only be used once, and will need to be amended if it required to be used again with a different date.
Task Actions Tab
When users are required to make decisions at a step within the workflow, these are performed by defining buttons, which will automatically appear on the bottom of the screen with the descriptions defined within this dialogue box.
When the user clicks one of the buttons, the workflow moves to the next step, and the decision state is set. This decision state can be used at any time by a decision object to control the branching of the workflow process.
To add an action:
Click the Add button. The Add Task Action dialog box is opened.
Click the Add button. The Add Task Action dialog box closes, and the new action is amended to the task.
To remove an item, select the item required and press the Remove button.
Attributes Tab
The Attributes tab allows you to declare the permissions for each individual attribute. For example you may want the user at the selected step to not see attribute (Approval Status), to be able to read attribute (No. Days Required), give the user permission to edit attribute (Department), and require the user to enter the attribute (No. Days Remaining).
To set the attributes, select the field required and then check the appropriate box on the right hand pane. The permissions for each attribute can be defined as follows: -
Not Visible to this Task – The attribute will not be visible to the user at this task step.
Calculation Only – The attribute will be hidden from the user, but will be available on the form for Custom Form developers.
Program Entry – The attribute will be hidden from the user, but will be available on the form for Custom Form developers.
Read Only – The attribute will be visible to the user, but will not be editable. This option is best suited to an attribute that has been filled in from a previous step.
Editable – The attribute will be visible to the user, and will be editable. This option is best suited to an attribute that has been filled in from a previous step.
Entry Required by Task User – The attribute is visible to the user, and requires a mandatory entry.
Attachments Tab
The attachments tab contains the attachments that were defined to the workflow from the workflow properties Attachments tab.
For each task, it is possible to define which Reference attachments and which Template attachments can be viewed and accessed by the user by checking the options required.
Performer Tab
For each step defined within the workflow, you can specify an individual user or group of users to perform the step according to a number of criteria.
- Workflow Initiator – By selecting this option, the workflow engine will pass this task to the workflow initiator (the person who initiated this instance of the workflow) for processing.
- This User – Allows you to specify a specific user to perform this task. Press the Select button to bring up the Select Users and Groups window.
- A Member of this Group – Allows you to specify a group of people to perform this task. The task will be placed in each user’s Task Box who is a member of the selected group
In addition, it is possible to set the behaviour for group tasks if the task has to be re-visited (from an Alias Task). There are two options: -
- By One User / Same User on Revisit - This option will ensure that the same member of the group who performed the task the first time round will be given the task to perform the next time. Other group members will not see the task in their in-box.
- By One User / Any User on Revisit - This option will place the task in the in-box for all the members of the group so that anybody can perform the task regardless of who processed it the first time round.
- User Selects Performer at Initiation - Allows the workflow initiator to specify the user or group to perform this task at the time of initiation of a workflow instance. The user is presented with a screen which lists the tasks that have this attribute set. Each task has to be assigned a user or group before the first task form can be displayed.
- Relationship to initiator – You may now specify that the performer of a workflow task is to be determined from a user’s relationship to the initiator of the workflow. For example, this allows a user to initiate a workflow and for one of the subsequent tasks to be performed by that users manager. This functionality is implemented by applying a user category to the initiating user profile. In general, most installations when using the user category feature will apply such a category to all users in the community. However, in order to use the relationship to initiator feature it is only necessary to have the user category applied to the initiators profile. In the workflow designer when selecting this function, the system will access the initiators profile and provide a drop-down list of users referred to in that profile.
Example:-
In the example that follows we are using two performers: -
HR User One - a user within the HR department.
HR Manager - the HR department manager.
We are using the user category User Information, the User Information category contains two attributes: -
Manager -This is a standard User list attribute
Misc. Notes -This is a simple 1024 Varchar entry field
1. In the HR User One user profile the User Information category is applied and the user’s manager is set to HR Manager as shown below.
2. In the Workflow Designer task properties click the Performer tab and set the performer as Relationship to initiator.
3. In setting the relationship we need to supply the following information: -
• The category to use that defines the relationship.
• The attribute within that category.
• The default user if a user Id cannot be resolved at run-time.
Executing the workflow
The workflow is initiated by HR User One.
The HR Manager is set as the performer of the second task as defined in this example.
- Previous Task Performer - Allows the workflow designer to specify the user or group to perform this task to be the same user that performed a previous task. The designer is presented with a dropdown list which contains the available for selection. When selected, the user that actually performs the selected task will be then determine the user for this task.
- Role - Allows the workflow designer to specify the user or users to perform this task based upon their assigned Role. Each user with the assigned role will receive the task in their inbox. This will be implemented in a future release.
Events Tab
In order to facilitate the integration to external systems, the workflow engine has the ability to execute server-side compiled Visual Basic scripts at pre-determined points in the workflow process. This is for advanced users only, who can program in Visual Basic.
- Workflow is Initiated – Enter the name of the script/program to be executed when the workflow is initiated.
- Task is Ready – Enter the name of the script/program to be executed when the task is ready to be processed.
- Task is Opened – Enter the name of the script/program to be executed when the task is opened by the user to start performing the task.
- Task is Done – Enter the name of the script/program to be executed when the task is completed and the user either clicks on the “Send On” or decision buttons to move the workflow to the next step.
- Task is By-Passed – Enter the name of the script/program to be executed when the task is by-passed because the branching of the workflow is directed down a different path, which means that this task will not be executed.
- Workflow is Completed – Enter the name of the script/program to be executed when the workflow instance is completed.
- Task is Delegated – Enter the name of the script/program to be executed when the task is delegated to another user for completion.
- Task is Sent For Review – Enter the name of the script/program to be executed when the task is sent to another user for review before being sent back to the original user for completion.
- Task is Overdue – Enter the name of the script/program to be executed when the task completion date is overdue.
Custom Items Tab
Custom Form Name
At each step in the workflow, the workflow engine will automatically generate a form to display the selected attributes to the task recipient. The workflow engine generates the form by displaying the fields sequentially down the page.
However, in many cases, the workflow designer may want to generate the form differently, and may want to add additional graphics (for presentation purposes), rearrange the fields (for usability or presentation purposes), or add additional validation rules or some other feature.
In such cases, where there is a requirement to customise the form, the workflow designer can create their own form (using VB script, HTML or Java Script), and put the name of the new form into the Custom Form Name field. KnowledgeWorker® will automatically replace the standard form with the new customised user form.
The custom form is generated from a template function, which is shipped with the KnowledgeWorker® system.
Custom Handler Name
When advanced workflow customisations are required, it is sometimes necessary to use a Custom Workflow Handler, so that the page can be handled in a unique way. This feature is designed for use by advanced workflow developers.
More information on using and creating Custom Workflow Handlers is described in the KnowledgeWorker® Programmers Guide.
Generate Letter
It is often necessary to generate a letter or some other correspondence at a workflow task step. KnowledgeWorker® has advanced functionality which allows the automatic creation of a letter using Microsoft Word™ template documents and bookmarks.
The Generate Letter function presents a button on the task screen during workflow execution, which when pressed allows the operator to select a word template from which to create the required document. When the template is selected, KnowledgeWorker® automatically populates any bookmarks in the template with corresponding information contained in the workflow form.
The list of templates is presented to the user by associating a category with the templates in the library and setting the property in the workflow designer.
To use this facility, the first thing that needs to be done is to create a category for the document templates. An example could be as follows: -
The attribute names can be defined as required, but the field types should be defined as below: -
The first attribute (Document Name) is the name of the template that will be displayed to the user. The second attribute (Bookmark Mappings) is a multi-line text box which is used to hold the attribute to Word bookmark mappings.
Note - as many other attributes as are required can also be used, this is just an example.
For example, the screenshot below shows a list of templates held in the library:-
If you view the category details for any of the template documents, it should look similar to the following:-
The bookmarks are mapped as follows: -
<Word Template Bookmark Name>:<Workflow Category Attribute Name>
The bookmarks above were mapped from the following workflow category: -
To set the properties in the workflow task, the following fields need to be completed: -
The example above shows how the fields should be completed.
- Category – Enter the name of the category which has been assigned to the template documents in the KnowledgeWorker® Library.
- Attribute - This should be set to the attribute which holds the template name or some other attribute which is used for the selection of templates which will be displayed to the user.
- Operator – Use the appropriate operator which will allow you to select the required templates for display.
- Value - Enter the value required for the selection criteria. Where the attribute is a Option Button, Dropdown, checkbox or multi value attribute, then the button will display the options available for selection.
In the example above, when the user clicks on the “Generate Letter” button on the workflow task form; all documents which satisfy the following criteria will be displayed for selection: -
Category = Template Documents and the contents of the Attribute “sd_doc_name” Begins with “HCI”.
When the user selects the template, KnowledgeWorker® automatically invokes MS Word™ and fills in all the bookmarks in the template according to the mappings defined in the category. An example might look like this: -
The user is able to edit the document as required, and on completion the document can be saved onto the workflow. This is done by using the KnowledgeWorker® tool bar within the MS Office Suite.
The toolbar has three buttons. The first button Publish to KnowledgeWorker brings up the Office integration Dialogue box which allows the document to be stored within the Library, Projects or Tasks by navigating to the area required.
However, there is a faster way to save the document directly to the current workflow task using a single click.
The Save Letter and Version Letter buttons, will automatically save the current document onto the current workflow task. The Save Letter function is used to save a new document for the first time. The Version Letter button will save another version of the same document.
Escalate
The Escalate button is used to define the rules to be followed when the task needs to be escalated. Escalation is triggered when a task becomes overdue.
The first field Escalation Type allows the designer to define the type of escalation required. These are as follows: -
- Email Escalation – When the task becomes overdue, KnowledgeWorker® will send an email.
- Task Escalation - When the task becomes overdue, KnowledgeWorker® will re-direct to another user.
-
Task Completion - When the task becomes overdue, KnowledgeWorker® will process the task as completed.
When the field Email Escalation is selected, the Email Notification dialogue box is displayed as shown above.
- Email Title – This field is used to display the title of the email.
- Email recipient Type – There are three options available: -
- Active Performer / User – The email will be sent to the user assigned to the current task.
- A Defined User – The designer can specify a specific user for the email to be sent to.
- A Defined Group – The designer can specify the Group to which the email will be sent. All members of the group will receive the email.
- Recipient – If the Defined User or Defined Group options are selected, the button becomes active. When pressed, the Select user or Groups dialogue is invoked to enable the appropriate user or group to be selected.
-
Email Sender Type - There are two options available: -
- Active Performer / User – The email will be sent from the user assigned to the current task.
- A Defined User - The designer can specify a specific user for the email to be sent from.
- Sender - If the Defined User option is selected, then the button becomes active. When pressed, the Select User or Groups dialogue is invoked to enable the appropriate user to be selected.
- Email Subject – The subject field can be created dynamically using the Workflow and Email Name builder. See chapter 8 below.
- Email Body – The email body content can be created dynamically using the Workflow Name and Email Content Builder. See chapter 8 below.
When the field Task Redirection is selected, the Task Redirection dialogue box is displayed as shown below.
-
Performer Type – There are two options available: -
- User – The designer can select which user the task is assigned to.
- Group – The designer can select which group the task will be assigned to. All members of the group will receive the task.
- Performer – When the button is pressed, the Select User or Groups dialogue is invoked to enable the appropriate user or group to be selected.
When the field Task Completion is selected, then no further information needs to be entered. When the task becomes overdue, the task status will automatically be set to Completed.
Email Notification
It is often a requirement to generate an email at a workflow task step. KnowledgeWorker® has advanced functionality which allows the automatic creation of emails by defining an email template within the workflow designer.
The Email Notification feature is triggered automatically during Workflow execution once it has been defined within the designer.
-
Notification Event(s) – There are nine possible events which can be used to trigger the Notification Email. These are: -
- Workflow Initiated – A Notification Email will be sent when the workflow is initiated.
- Workflow Completed – A Notification Email will be sent when the workflow is completed.
- Ready – A Notification Email will be sent when the workflow task is Ready.
- Opened – A Notification Email will be sent when the workflow task is Opened.
- Done – A Notification Email will be sent when the workflow task is done (completed).
- Bypassed – A Notification Email will be sent if the workflow task is bypassed (not performed).
- Delegated – A Notification Email will be sent if the workflow task is delegated to another user.
- Sent For Review – A Notification Email will be sent if the workflow task is sent for review to another user.
- Overdue – A Notification Email will be sent if the workflow task is overdue for completion.
All other fields are as defined under Escalation above.
6. The Expression Builder (Condition Step)
The condition step allows the branching of workflow steps to be dependant upon a set of business rules or conditions.
The Expression Builder is the tool within the Condition Step which allows the definition of the business rules or conditions.
When the properties for a condition step are displayed, the screen looks similar to the screenshot below.
- Title – This is the title assigned to the condition step. The designer can override the default name assigned by the designer tool.
- Tag – This is an optional field used to identify the condition statement for reporting purposes. It has no effect in the workflow execution.
- Goto – This is a dropdown window which contains each of the possible exit tasks from the condition statement.
- Label – This is an optional field used to identify the label required to be displayed for each of the possible exit tasks. This field will be available in a future release.
- Label – This is a button which is used to set the label for the required exit task. This field will be available in a future release.
- When – This is a series of four field which are used to define the conditional branching rules or logic.
- Field 1- Boolean Operators – The AND, OR and NOT operators are available with additional brackets to allow predicate lists to be created.
In Condition Tasks, it is important to understand that when building complex expressions it is not necessary to surround the whole condition with brackets and logical operators between statements should include the open bracket for the next expression. Illustrated below is incorrect and correct syntax for a complex condition.
- Field 2- Category & Workflow Attributes – This is a dropdown list which allows the workflow designer to select the field to which a condition will be applied.
- Field 3- Logical Operator – This is a dropdown list which allows the workflow designer to select the logical operator be applied to the field.
- Field 4- Field Value – This is the field where the evaluation variable is set. For certain fields such as Dropdowns, Option Buttons and Check Boxes the pre-set values can be viewed and selected by clicking on the button beside the field as in the example shown below.
Once the expression has been built the Add button can be used to add the rule to the expression builder.
Fields can be removed by simply highlighting the expression required and clicking on the button.
7. Workflow Name and Email Content Builder
The Instance Name Generator (on the Workflow Properties General Tab) and the Email Text Generator (Workflow Task Escalate and Email Notification Tabs) dialogue boxes work identically.
The Instance Name Generator is used to automatically define a workflow instance name based upon any of the workflow category fields and certain predefined system variables. These can be mixed with standard text entered by the designer to create meaningful workflow instance names “on the fly”.
The Email Text Generator works exactly like the Instance Name Generator except that the dialogue is used to generate the Email Subject and Email Body for Email Escalation and Notification.
The example below shows the Email Text Generator.
- Rule – This is field which displays the rules for assembling the Email Body as it is defined.
- Data Field – This is a dropdown which contains all the workflow category fields and certain other standard workflow fields.
- - This button adds the selected rule.
- - This button removes the selected rule.
- - This button saves and closes the dialogue box.
- - This button cancels and closes the dialogue box.
Adding Text
Simply click in the rule box and add the text required.
Adding a Variable
Select a field from the Data Field Dropdown and press the Add button.
Simply repeat this process as many times as required to create the exact content required.
8. Adding a Workflow
Click on the Workflow link from the navigation bar.
Select Add Workflow from the menu drop down.
Select None from the category drop down. Click the Browse button from the File Name field. A ‘Choose File’ dialog box appears.
Locate and select the Workflow file. Note -You can only insert Workflow Map files that have the .xml extension.
Click the Open button. The Choose File dialog box closes, and the ‘File Name’ field is populated with the location of the Workflow Map.
Enter a title for the workflow map into the Title field (Optional). Note - If this field is left empty, then the workflow map title will default to the name of the file. In this case the title for the workflow would be ‘Annual Leave.xml’.
Enter some text into the Description field (Optional). Note - The text entered into this field will only be visible from the ‘Workflow Map Information’ page.
In the Category field, select None from the category drop down. The category field displays as ‘None’ and several associated fields are removed.
Click the Add File button. The Workflow Map is uploaded, and the Workflow page is displayed, listing the new Workflow Map.
9. How to initiate a workflow
Click Workflow from the navigation bar or select the workflow from your home page. Select the title of the workflow to be initiated. The Initiate Workflow page is displayed. Note - A workflow can be initiated from either the Home page, or Workflow main pages.
Complete all the form fields. An error message will display unless all mandatory fields are entered. Mandatory fields have an asterisks (*) symbol by the field name.
Click on the Initiate button to start the workflow process.
10. How to Check the status of a workflow
From the Home Page: Locate the workflow in the Workflows I Have Initiated bar on the Home page and click on the title to display the workflow map.
From the Admin Page: Select Workflow and Action Instances.
Select the status of workflows to be viewed from the drop down menu by clicking the button.
11. How to Delegate a Task
Click on the Delegate button at the bottom of the task page. Note - this button will only appear if you are allowed to delegate the task. The delegate task screen will display.
Click on the Select button to display the select user dialogue screen.
Select the user in the normal way.
Complete the Delegation comments box and click the OK button. The task has now been assigned to the selected user or group.
12. How to Send a Task for Review
Click on the Send for Review button at the bottom of the task page. Note - this button will only appear if you are allowed to send the task for review.
Click on the Select button to display the select user dialogue screen. Select the user as described in section 8 above. Select the date by clicking on the button to display the calendar function.
Complete the review instruction box and click the OK button. The task will be sent to the user for review. When the reviewer completes their review, the task will automatically return to you for completion.