Process examples
Business Process: Request Access
Step 1: Validation
Description: Validate that both the owner and tech steward are defined.
Conditions:
Invalid:
If either the
ownerortech_stewardis undefined.Next Step 1.2 Send Notification to Invoker that Validation Failed.
Valid:
If both the
ownerandtech_stewardare defined.Next Step 2 Send Notification to Invoker that Validation Succeeded.
Step 1.2: Send Notification to Invoker
Stage: Validation Failed
Message: "Responsible persons not assigned. Please contact Admin."
Action: End event.
Step 2: Send Notification to Invoker
Stage: Validation Succeeded
Message: "Please, provide the purpose for requesting access"
Buttons:
Approve: Ask for access
Reject: Cancel the request for access
Next Step 2.1 Ask Invoker.
Step 2.1: Ask Invoker
Stage Validation Succeeded
If Invoker canceled the request for access:
Next Step 2.2 Invoker canceled the request for access.
- If Invoker If Invoker Asked for access:
Next Step 3 Change Status
Step 2.2: Send Notification to Invoker
Stage Validation Succeeded
Message: "Invoker canceled the request for access."
Action: End event.
Step 3: Change Status
Stage: Request Sent to Owner
Actions:
- Update statuses for roles as follows:
{ "role": "owner", "status": "approval_pending" }
{ "role": "others", "status": "published" }
{ "role": "author", "status": "approval_pending" }
{ "role": "invoker", "status": "approval_pending" }
{ "role": "subscriber", "status": "approval_pending" }
Next Step 4 Send Notification to Owner
Step 4: Send Notification to Owner
Stage: Owner Approval
Caption: "Access to this object has been requested."
Message: It depends on the text in Step 2
Buttons:
Approve: Approve
Reject: Reject
Next Step: Step 5: Ask Owner.
Step 5: Ask Owner
Conditions:
- Reject:
Next Step: Step 5.1: Rejected Action.
- Approve:
Next Step: Step 6: Change Status.
Step 5.1: Rejected Action
Stage: Access Rejected
Message: It depends on the text in Step 4 or 7
Caption: "Your access to the object was rejected."
Next Step: Step 5.2: Change Status.
Step 5.2: Change Status (Rejection)
Stage: Access Rejected
Actions:
- Update statuses for roles as follows:
{ "role": "owner", "status": "rejected" }
{ "role": "tech_steward", "status": "rejected" }
{ "role": "others", "status": "rejected" }
{ "role": "author", "status": "rejected" }
{ "role": "invoker", "status": "rejected" }
{ "role": "subscriber", "status": "rejected"}
- End event.
Step 6 Change Status
Stage: Request sent to Technical Steward
Actions:
- Update statuses for roles as follows:
{role:"owner",status:"under_implementation"},
{role:"tech_steward",status:"under_implementation"},
{role:"others",status:"published"},
{role:"author",status:"under_implementation"},
{role:"invoker",status:"under_implementation"},
{role:"subscriber",status:"under_implementation"}
Next Step 7 Send notification to Technical Steward
Step 7** Send notification to Technical Steward
Stage: Technical Steward approval
Caption: "Access to this object has been approved by Owner",
Message: It depends on the text in Step 4
Buttons:
Approve: Approve
Reject: Reject
Next Step: Step 8: Ask Technical Steward.
Step 8: Ask Technical Steward
Stage: Technical Steward approval
Conditions:
- Reject:
Next Step: Step 5.1: Rejected Action.
- Approve:
Next Step: Step 9: Change Status.
Step 9 Change Status
Stage: Access approved
Actions:
- Update statuses for roles as follows:
{role:"owner",status:"permitted"},
{role:"tech_steward",status:"permitted"},
{role:"others",status:"permitted"},
{role:"author",status:"permitted"},
{role:"invoker",status:"permitted"},
{role:"subscriber",status:"permitted"}
Next Step 10 Approved Access
Step 10 Access approved
Stage: Access approved
Message: It depends on the text in Step 4
Caption: "Your request has been approved"
Next Step 11 Grant access
Step 11 Grant access
Stage: Access granted
- End event.
Business Process: Report an issues
Business Process: Report Issue Resolution
Step 1: Send Notification to Invoker
Stage: "The assignment of a responsible person and adding the purpose of the report is an issue."
Message: "Please, assign a responsible person and write the purpose of the report as an issue."
Buttons:
Approve: "Report an issue"
Reject: "Cancel"
Step 2: Ask Invoker
If Reject: End event.
If Approve: Proceed to Step 3: Validation for Assignee.
Step 3: Validation for Assignee
If assignee is undefined: Validation fails, proceed to Step 3.1: Send Notification to Invoker.
If assignee is defined: Proceed to Step 4: Change Status to Task is Assigned.
Step 3.1: Send Notification to Invoker
Stage: "Assign person validation failed."
Message: "The responsible person has not been assigned. Please assign one."
- Return to Step 2.
Step 4: Change Status to Task is Assigned
Stage: "Request sent to Assignee."
Actions:
Update statuses for roles as follows:
{role: "owner", status: "assigned"},
{role: "others", status: "assigned"},
{role: "author", status: "assigned"},
{role: "invoker", status: "assigned"},
{role: "subscriber", status: "assigned"},
{role: "assignee", status: "assigned"}
- Next Step: Step 5: Send Notification to Assignee.
Step 5: Send Notification to Assignee
Stage: "Assignee approval."
Message: "This text depends on the message in Step 1." (Variable: execution.getVariable("expertise_text"))
Caption: "Please approve a report for the issue, or add comments and reject it."
Buttons:
Approve: "Create a report for the issue"
Reject: "Reject"
Next Step: Step 6: Ask Assignee.
Step 6: Ask Assignee
If Reject: Return to Step 2.1: End Event.
If Approve: Proceed to Step 7: Send Notification to Assignee.
Step 7: Send Notification to Assignee
Stage: "Implementation."
Message: "This text depends on the message in Step 5." (Variable: execution.getVariable("expertise_text"))
Caption: "Please confirm the issue is resolved:"
Buttons:
Approve: "Resolved"
Reject: "The issue can't be resolved"
Next Step: Step 8: Change Status to Under Implementation.
Step 8: Change Status to Under Implementation
Stage: "The assignee has started the implementation."
Actions:
- Update statuses for roles as follows:
{role: "owner", status: "under_implementation"},
{role: "others", status: "under_implementation"},
{role: "author", status: "under_implementation"},
{role: "invoker", status: "under_implementation"},
{role: "subscriber", status: "under_implementation"},
{role: "assignee", status: "under_implementation"}
- Next Step: Step 9: Ask Assignee.
Step 9: Ask Assignee
If Reject: Return to Step 6.1: End Event.
If Approve: Proceed to Step 10: Change Status to Finished.
Step 10: Change Status to Finished
Stage: "The assignee has finished the implementation."
Actions:
- Update statuses for roles as follows:
{role: "owner", status: "finished"},
{role: "others", status: "finished"},
{role: "author", status: "finished"},
{role: "invoker", status: "finished"},
{role: "subscriber", status: "finished"},
{role: "assignee", status: "finished"}
- Next Step: Step 11: Send Notification to Invoker.
Step 11: Send Notification to Invoker
Stage: "The assignee has finished the implementation."
Message: "This text depends on the message in Step 7." (Variable: execution.getVariable("expertise_text"))
Caption: "Is the issue resolved?"
Buttons:
Approve: "The issue is resolved"
Reject: "The issue is not exactly resolved"
Next Step: Step 12: Ask Invoker.
Step 12: Ask Invoker
If Approve: Proceed to Step 13: Change Status to Published.
If Reject: Return to Step 4.
Step 13: Change Status to Published
Stage: "The issue is resolved."
Actions:
- Update statuses for roles as follows:
{role: "owner", status: "published"},
{role: "others", status: "published"},
{role: "author", status: "published"},
{role: "invoker", status: "published"},
{role: "subscriber", status: "published"},
{role: "assignee", status: "published"}
- Next Step: Step 14: Send Notification to Assignee.
Step 14: Send Notification to Assignee
Stage: "The issue is resolved."
Message: "This text depends on the message in Step 11." (Variable: execution.getVariable("expertise_text"))
Caption: "The issue has been resolved and closed."
- Next Step: End Event
Business Process: Change request
Step 1: Validation for Responsible Persons
Description: Validate that the owner, steward, technical steward and expert are defined.
Conditions:
Invalid:
If either all the
owner,steward,technical stewardorexpertare undefined.Next Step 1.1 Send Notification to Invoker that Validation Failed.
Valid:
If the
owner,steward,technical stewardorexpertare defined.Next Step 2 Send Notification to Invoker that Validation Succeeded.
Step 1.1: Send Notification to Invoker
Stage: "Validation failed"
Message: "Responsible persons not assigned. Please contact Admin."
- Next Step: End Event.
Step 2: Send Notification to Invoker
Stage: "Validation succeeded"
Message: "Please, provide the purpose for requesting changes."
Caption: "Request Changes"
Buttons:
Approve: "Request Changes"
Reject: "Cancel the request for changes"
Next Step: Step 3: Ask Invoker.
Step 3: Ask Invoker
If approved: Proceed to Step 4.
If rejected: Proceed to Step 3.1.
Step 3.1: Send Notification to Invoker
Stage: "Validation failed"
Message: "Responsible persons not assigned. Please contact Admin."
- Next Step: End Event.
Step 4: Change Status
Stage: "Object status updated to Draft"
Payload:
{role: "owner", status: "draft"},
{role: "steward", status: "draft"},
{role: "tech_steward", status: "draft"},
{role: "expert", status: "draft"},
{role: "others", status: "draft"},
{role: "author", status: "draft"},
{role: "invoker", status: "draft"},
{role: "subscriber", status: "draft"},
{role: "assignee", status: "draft"}
- Next Step: Step 5: Send Notification to Steward.
Step 5: Send Notification to Steward
Stage: "Steward Approval"
Message: execution.getVariable("expertise_text")
Caption: "Request Changes"
Buttons:
Approve: "Approve"
Reject: "Reject"
Next Step: Step 6: Ask Steward.
Step 6: Ask Steward
If approved: Proceed to Step 7.
If rejected: Proceed to Step 6.1.
Step 6.1: Reject Action
Stage: "Changes rejected"
To: Invoker
Message: execution.getVariable("expertise_text")
Caption: "Your Change Request for the object was rejected."
- Next Step: Step 6.2.
Step 6.2: Change Status
Stage: "Object status updated to Published"
Payload:
{role: "owner", status: "published"},
{role: "steward", status: "published"},
{role: "tech_steward", status: "published"},
{role: "expert", status: "published"},
{role: "others", status: "published"},
{role: "author", status: "published"},
{role: "invoker", status: "published"},
{role: "subscriber", status: "published"},
{role: "assignee", status: "published"}
- Next Step: End Event.
Step 7: Change Status
Stage: "Object status updated to Expertise"
Payload:
{role: "owner", status: "expertise"},
{role: "steward", status: "expertise"},
{role: "tech_steward", status: "expertise"},
{role: "expert", status: "expertise"},
{role: "others", status: "expertise"},
{role: "author", status: "expertise"},
{role: "invoker", status: "expertise"},
{role: "subscriber", status: "expertise"},
{role: "assignee", status: "expertise"}
- Next Step: Step 8: Send Notification to Expert.
Step 8: Send Notification to Expert
Stage: "Expert Approval"
Message: execution.getVariable("expertise_text")
Caption: "Request Changes"
Buttons:
Approve: "Approve"
Reject: "Reject"
Next Step: Step 9: Ask Expert.
Step 9: Ask Expert
If approved: Proceed to Step 10.
If rejected: Proceed to Step 6.1.
Step 10: Change Status
Stage: "Object status updated to Approval Pending"
Payload:
{role: "owner", status: "approval_pending"},
{role: "steward", status: "approval_pending"},
{role: "tech_steward", status: "approval_pending"},
{role: "expert", status: "approval_pending"},
{role: "others", status: "approval_pending"},
{role: "author", status: "approval_pending"},
{role: "invoker", status: "approval_pending"},
{role: "subscriber", status: "approval_pending"},
{role: "assignee", status: "approval_pending"}`
- Next Step: Step 11: Send Notification to Owner.
Step 11: Send Notification to Owner
Stage: "Owner Approval"
Message: execution.getVariable("expertise_text")
Caption: "Request Changes"
Buttons:
Approve: "Approve"
Reject: "Reject"
Next Step: Step 12: Ask Owner.
Step 12: Ask Owner
If approved: Proceed to Step 13.
If rejected: Proceed to Step 6.1.
Step 13: Change Status
Stage: "Object status updated to Under Implementation"
Payload:
{role: "owner", status: "under_implementation"},
{role: "steward", status: "under_implementation"},
{role: "tech_steward", status: "under_implementation"},
{role: "expert", status: "under_implementation"},
{role: "others", status: "under_implementation"},
{role: "author", status: "under_implementation"},
{role: "invoker", status: "under_implementation"},
{role: "subscriber", status: "under_implementation"},
{role: "assignee", status: "under_implementation"}
- Next Step: Step 14: Send Notification to Technical Steward.
Step 14: Send Notification to Technical Steward
Stage: "Technical Steward Approval"
Message: execution.getVariable("expertise_text")
Caption: "Request Changes"
Buttons:
Approve: "Approve"
Reject: "Reject"
Next Step: Step 15: Ask Technical Steward.
Step 15: Ask Technical Steward
If approved: Proceed to Step 16.
If rejected: Proceed to Step 6.1.
Step 16: Change Status
Stage: "Object status updated to Under Implementation"
Payload:
{role: "owner", status: "under_implementation"},
{role: "steward", status: "under_implementation"},
{role: "tech_steward", status: "under_implementation"},
{role: "expert", status: "under_implementation"},
{role: "others", status: "under_implementation"},
{role: "author", status: "under_implementation"},
{role: "invoker", status: "under_implementation"},
{role: "subscriber", status: "under_implementation"},
{role: "assignee", status: "under_implementation"}
- Next Step: Step 17: Send Publish Notification to Steward.
Step 17: Send Publish Notification to Steward
Stage: "Steward Approval"
Message: execution.getVariable("expertise_text")
Caption: "Request Changes"
Buttons:
Approve: "Publish"
Reject: "Reject"
Next Step: Step 18: Ask Steward.
Step 18: Ask Steward
If approved: Proceed to Step 19.
If rejected: Proceed to Step 6.1.
Step 19: Approved Action
Stage: "Publish Changes"
Message: execution.getVariable("expertise_text")
Caption: "Your Change Request has been approved."
- Next Step: Step 20.
Step 20: Change Status
Stage: "Object status updated to Published"
Payload:
{role: "owner", status: "published"},
{role: "steward", status: "published"},
{role: "tech_steward", status: "published"},
{role: "expert", status: "published"},
{role: "others", status: "published"},
{role: "author", status: "published"},
{role: "invoker", status: "published"},
{role: "subscriber", status: "published"},
{role: "assignee", status: "published"}
- Next Step: End Event.