Difference between revisions of "DemoProcesses"
doc>Natkinnat |
m (1 revision imported) |
Latest revision as of 06:37, 23 November 2020
Demo processes description
RunaWFE Free Workflow System (BPMS) Version 4.5.0
© 2003 - 2015, Consulting Group Runa
© 2015 - 2024, "Process Technologies" Ltd, this document is available under GNU FDL license. RunaWFE Free is an open source system distributed under a LGPL license (http://www.gnu.org/licenses/lgpl.html).
Login to Demo Application
- Surf to http://wfdemo.runa.ru/wfe/
- Enter login and password
A list of accounts (logins are case sensitive ): |
Login | Name |
julius | Gaius Julius Caesar |
nero | Nero Claudius Caesar |
cleopatra | Cleopatra VII The Daughter of the Pharaoh |
octavia | Octavia Minor |
caligula | Gaius Iulius Germanicus |
tiberius | Tiberius Claudius Drusus |
marcus | Marcus Aurelius Antoninus |
gaiua | Gaiua Flavius Valerius Constantinus |
attila | Attila the King of Huns |
All logins password is 123
A list of demo groups and group members: |
Group | Members |
manager |
|
human resource |
|
bookkeeper |
|
staff |
|
all | all groups and all users |
Menu items:
- Tasks – allows to work with actors tasks
- Start process – allows to start business process, view permissions on business process definition, view the business process graph
- Started processes - allows to view process instance states and variables
- System – allows to manage system permissions (Not visible if permission denied)
- Executors – allows to manage executor permissions, manage executor properties
A list of demo processes:
- Hello World
- Overtime Work
- vacation
- Business Trip
- File Upload
- Report
- Text File Creation
- Timer
- MainProcesses with SubProcess
- MultiInstanceProcess with MultiInstanceSubProcess
Notes:
Only managers (julius, nero) have the rights to start processes “Overtime Work ” and “Business Trip ”.
All actors can start the process “vacation”.
The boss of gaiua is julius, the boss of marcus and attila is nero. Organization function determines boss of the employee. This function is used in “vacation” process.
An example of login screen:
Demo Processes
# Over time work
Description:
Manager asks the employee for overtime work. The employee accepts or declines the proposal. After that the manager receives a notification of acceptance or rejection.
The business process graph:
How to play the business process:
- Log in as member of manager group (e.g. Julius)
- Click menu item “Start process”
- Click “Overtime Work” to start the process
Start form will appear.
- Choose an employee, which will receive a proposal for an overtime work (e.g. Gaiua)
- Enter the time interval for the overtime work (e.g. 20.12.2005 22:30 - 20.12.2005 23:30)
- Fill the fields «reason» and «comment»
An example of a filled form:
- Click “Start”
The new instance of “Overtime Work” business process will be created and the employee (Gaiua) will receive task.
- Click “Logout” in the right upper conner of the screen
- Log in as employee, selected on the start form (Gaiua).
- After login the task list will open. Click the “make a decision” task.
- Choose “accept” or “decline” (e.g. “accept”), fill the «comment» field and click «Task is done».
- Logout
- Log in as the actor, which started the process (Julius)
- In the task list you'll see either "Notify of rejection" or "Notify of acceptance" depending on you previous choice as Gaiua. In this example you see “Notify of acceptance”, click on it.
- By clicking “Task is done” you’ll finish the process.
Note. To monitor process click on “Started processes” menu item
and then click on instance
# Vacation
Description:
An employee requests for vacation. The boss accepts or declines the request. If the request is rejected, the employee receives notification and business process ends. If the request is approved, a human resource inspectors receives task “check rules and technologies”. Human resource inspector checks business process data. If check result is negative, the business process returns to the “evaluate a request” state (the loop example). Boss accepts or declines the request. If the check result is positive, the business process sends task for hardcopy request submission and official order issuing. Employee receives task “submit the written request for a vacation to the human resource department”, the human resource inspector receives task “receive a written request from employee” concurrently. Upon completion the task the human resource inspector receives next task “make an official order”. After all these tasks are done, the business process ends.
Note. Organization function determines boss for every actor. Actors with login names starting with “g” have boss julius, the others – nero.
The business process graph:
How to play the business process:
- Log in as member of staff group (e.g. Marcus)
- Click on the menu item “Start process”
- Click “Start” for “Vacation”
- Start form will appeared. In this form:
- Enter the time interval for the vacation
- Fill the fields «reason» and «comment»
- Click “Start”
The new instance of “Vacation” business process will start and boss will receive the “evaluate a request” task. The boss of Marcus is Nero
- Click “Logout”
- Login as Nero
- Click on “evaluate a request” task
- Choose “accept”, fill the «boss comment» and click «Task is done»
- Click “Logout”
- Login as member of the “human resource” group. (Cleopatra)
- Click “check rules and technologies” task
- Choose “correct”, fill the “human resource inspector comment” and click “Task is done”
- Click on “Receive a written request” task
- Click “Task is done”
- Login as Marcus. Click on “Submit a written request” task and then click “Task is done”
- Login as Cleopatra. Click on “Make an official order” task.
- The form will appeared. In this form:
- Fill the “Official order number” field
- Fill the “Official order date” field
- Click “Task is done”
The business process ends.
Business trip
Note. This process is quite complex. This documentation contains only short description and the business process graph.
A short description:
A manager sends an employee to a business trip. The employee receives notification. If the business trip is local, the business process ends. If business trip type is “to another region”, a human resource inspector receives task “make an official order”. The employee receives task “sign an order” and human resource inspector receives a task “receive a signature on the order” concurrently. Employee receives task “receive a business trip warrant” and inspector receives a task “give a business trip warrant”. Bookkeeper issues and employee receives the business trip money. After employee returns from the business trip, employee submits and bookkeeper receives the business trip financial report. The business process ends.
The business process graph:
Note. If to click on the "Start process" menu option and then click on a business process name this business process graph can be seen along with some other information.
Upload a file
A short description:
In the start form of the process the user uploads a file. Then in the first task of this business process a user downloads the uploaded file.
The business process graph:
Running business process:
- Login as user who is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "UploadFile" process in the list and click the name of the process
- In the start form browse the uploading file and click "Start" button
Note: Since version 4.1.0 jquery plugin upload is used to upload files to WFE Server. If form is not validated file is saved anyway.
- The business process will start and a new task will appear on the Julius task list
- Open the task. If you click the file name in the task form, you will trigger the file download.
- Click "Task is done" to finish the process.
Execute Formula Demo
A short description:
This process is an example of ExecuteFormulaActionHandler handler. It's a universal ActionHanlder that is used to change business process variables values. This process is an example of ExecuteFormulaActionHandler usage. ExecuteFormulaActionHandler is a universal ActionHandler designed for mutation of business process variable values.
The business process graph:
How to use demo-process:
- Log in as a user who is a member of manager group (e.g. Julius)
- Click on "Start process" menu item.
- In the appeared table find a line with «Execute Formula Demo» business process and click on the process icon.
- Then the ExecuteFormulaActionHandlers are executed one by one. They are placed into transitions to activity nodes and they perform calculations by given formulas. The calculation results are presented in the corresponding forms:
STATE 1:
Here the logical operations are carried on:
STATE 2:
STATE 3:
Operations on DateFormat
STATE 4:
STATE 5:
DateTimeFormat:
STATE 6:
STATE 7:
- On the form 8 it is necessary to choose a file. An ExecuteFormulaActionHandler with the following configuration is called on transition to form 9:
file2 = file1
This means that the handler makes a copy of the uploaded file and the result can be seen on the form 9 where you can download both files.
STATE 8:
STATE 9:
Hello World
A short process descripton:
This is the simplest demo process. It doesn't have any activity nodes and only displays a “Hello World!” text on the start form.
The process diagram:
How to use demo process:
- Log in as a user who is a member of manager group (e.g. Julius)
- Click on "Start process" menu item.
- In the appeared table find a line with «Hello World» business process and click on the process icon.
- There will be a form with text “Hello World”, in order to run the process click “Start”
- The process has no activity nodes and transits to the end state right after the starting.
BPMNdemo
A short descriotion:
This demo process is developed in BPMN notation and shows the work with decisions, fork/merge and forms. User starts the process, types in the comments in corresponding text fields, approves/rejects the request.
The business process graph:
How to run the business process:
- Log in as a member of the manager group (e.g. Julius)
- Click menu item “Start process”
- Find "BPMNdemo" process in the list and click the name of the process. Then it's necessary to type the first comment in the text field and click "Start". A process instance will be created and started.
- Then the control will be passed to the "Evaluate a request" node, where it is necessary to type the second comment to the text field and to make a choice (to approve or reject the request) with the help of radio button.
- If "reject" is chosen then a form with the full name of user who started the process and the comments that were entered earlier, then the process ends. If "approve" is chosen then user is prompted to type in the third comment and after it the fork node is processed with 2 tasks to follow:
Then the merge happens followed by “Make an official order for vacation” task. Here all the previously entered comments are shown as well as a full name of the user who started the process.
WebService – Who is?
A short description:
A user enters the domain name and the WebServiceBot executes a task “Load whois information” with the help of WHOIS service.
The business process graph:
Running business process:
- Login as user who is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "WebService-who is" process in the list and click the name of the process
- On the start form enter the domain name and press "Start" button.
- Execution result:
BotDemo
A short description:
In this process the idea of passing a task to bot is demonstrated.
The user runs a process, a form with text "before activity" is formed in the next activity node and is passed to UniversalBot bot, which performs a DoNothing task (ru.runa.wf.logic.bot.DoNothingTaskHandler). Then a form "after bot activity" is presented to the user.
The business process graph:
Running business process:
- Login as user who is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "BotDemo" process in the list and click the name of the process
- In the task list the “before form activity” will appear. Execute it and then it will be the universal bot turn with DoNothing task.
- Then the executor is julius again with the "after bot activity" task
Note. It is always possible to see the current state of the process instance execution. Click the "Started processes" menu item and then click on the corresponding business process instance.
Report
A short description: A manager asks to prepare a report. One of the employees prepares it and the manager reads it.
The business process graph:
Running business process:
- Login as user that is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "Report" process in the list and click the name of the process
- In the start form type the theme of the report
- The business process will start and all the staff group members will recieve a new task
- Login as staff member (e.g. Marcus)
- Open the task "make report". In the task form enter report text and then press "Task is done" button
- Login as Julius. Open the task "read report".
- Click "Task is done" to finish the process.
Text File Creation
A short description: A user inputs text information. A bot creates a text file with it. The user reads or saves the file on the disk. The business process graph:
Running business process:
- Login as user that is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "TextFileCreation" process in the list and click the name of the process
- In the start form enter the parameters and text. Click "Start" button
- Click the "tasks" menu. Open the task "read or save file". Read or save file.
- Click "Task is done" to finish the process
TimerDemo
A short description:
To add a timer to a state you need to add a timer element to a state in the Developer Studio. A user runs the process, the control goes to "before timer triggered" state. If the user completes the task in 3 minutes period, the process will end, else the control will come to "after timer triggered" state.
The business process graph:
Running business process:
- Login as user that is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "TimerDemo" process in the list and click the name of the process. The process will start.
- "Before timer trigger" task will appear in the task list. After 3 minutes, it will dissapear and "After timer trigger" will be in the list instead.
- Open the "After timer trigger" and click "Task is done" to finish the process
MainProcess with SubProcess
Any process many be included into other process as its subprocess. A subprocess can be independent (that means it can be run without parent processes) or dependent from its parent (that means it cannot exist without parent context). One and the same subprocess may be included into several different processes.
There's a subprocess element in graphical process designer to manage subprocess in the process graph. See Graphical Process Designer User Guide for details.
An example of MainProcess (left) and SubProcess (right) graphs:
- Login as user that is in manager group (e.g. Julius)
- Click on "Start process" menu item
- Find "MainProcess" process in the list and click the name of the process. The process will start.
- On the "before subprocess" task form click "Task is done"
- Find tasks that belong to the MainProcess instance in the task list. In fact these tasks belong to subprocess SubProcess, but in the "Process Definition" column you will see the name of the parent process. Do the subprocess tasks by opening them and clicking "Task is done" button.
Then do the last parent process task "after subprocess". The process will be over.
- If you want to view the process properties, go to "Started processes". Open just finished MainProcess instance. On the process graph click on the subprocess state and the page with subprocess instance properties will appear.
# MultiInstanceProcess
When it's necessary to perform one and the same sequence of actions for each element value of a list in RunaWFE it's possible to use MultiInstance or MultiTaskState.
In this example MultiInstance is used. For the sequence of action a MultiInstance subprocess is created and in each main process instance there will be as many MultiInstance subprocess instances started as many elements in the variable of multiinstancelink.
See more details creating process with multisubprocess.
A client has several addresses. The order implies delivery to each of the client addresses. In addressArray variable there´s a list of client addresses. In the main process instance there will be as many subprocess instances created as addresses in the list. In each subprocess there will be a variable with one of the addresses.
An example of process graph (left) with MultiInstance element and MultiInstance subprocess (right):
- In order to start "MultiInstanceProcess" click on "Start process" menu item, find "MultiInstanceProcess" in the list and click on the process name.
- On the starting form type in the addresses of a client (the number of addresses equals the number of started MultiInstance subprocesses.
- Go to the "Task list" and confirm the order.
- Just to see it with your own eyes go to the "Started processes" and see how many MultiInstanceSubProcess are started. Click on one of them and check out the address variable value in subprocess properties. Check out this value in another subprocess of this process instance.
- Go to the "Task list" and form suborder for delivery in each subprocess.
The process finishes.