Skip to main content

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 owner or tech_steward is undefined.

    • Next Step 1.2 Send Notification to Invoker that Validation Failed.

  • Valid:

    • If both the owner and tech_steward are 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 steward or expert are undefined.

    • Next Step 1.1 Send Notification to Invoker that Validation Failed.

  • Valid:

    • If the owner, steward, technical steward or expert are 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.