# baseURI: http://edg.topbraid.solutions/workflow/templates/examples # imports: http://topbraid.org/teamwork # imports: urn:x-evn-master:platform_governance_singleton @prefix dash: . @prefix edg: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix swa: . @prefix teamwork: . @prefix ui: . @prefix xsd: . edg:ValidateWorkingCopyAction a teamwork:WorkflowAction ; rdfs:label "Validate working copy state entry action" ; . a owl:Ontology ; owl:imports ; owl:imports ; . teamwork:Approved teamwork:editable false ; . teamwork:GlossaryReviewWorkflowTemplate a teamwork:TagWorkflowTemplate ; teamwork:editorWorkflowParticipantProperty edg:subjectMatterExpert ; teamwork:initialStatus teamwork:New ; teamwork:managerWorkflowParticipantProperty edg:businessSteward ; teamwork:managerWorkflowParticipantProperty edg:dataGovernor ; teamwork:suitableWorkflowForProjectType edg:GlossaryProjectType ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Approved ; teamwork:requiredGovernanceRole edg:businessSteward ; teamwork:toStatus teamwork:Committed ; teamwork:transitionLabel "Accept changes to production" ; sh:order "0"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:InProgress ; teamwork:requiredGovernanceRole edg:businessSteward ; teamwork:toStatus teamwork:ReviewRequested ; teamwork:transitionLabel "Request review" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:New ; teamwork:requiredGovernanceRole edg:businessSteward ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Start work" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:ReviewRequested ; teamwork:requiredGovernanceRole edg:subjectMatterExpert ; teamwork:toStatus teamwork:Reviewed ; teamwork:transitionLabel "Mark as reviewed" ; sh:order "4"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Reviewed ; teamwork:requiredGovernanceRole edg:businessSteward ; teamwork:toStatus teamwork:Approved ; teamwork:transitionLabel "Approve changes" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Reviewed ; teamwork:requiredGovernanceRole edg:businessSteward ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Re-start work" ; sh:order "2"^^xsd:decimal ; ] ; rdfs:comment "The workflow template is scoped to glossaries only. It uses governance roles for transitions and specifies what roles should have manager and editor access to the working copy. It includes a SME review step. Following this step, business steward may decide to make additional changes and either ask for another review or it may decide to directly change the state to \"approved\". " ; rdfs:label "Glossary term review workflow" ; . teamwork:IncrementAsetCollectionVersionAction a teamwork:WorkflowAction ; rdfs:label "Increment Version Action" ; . teamwork:IncrementVersion a teamwork:TagStatus ; teamwork:editable true ; teamwork:faIcon "fa-spinner" ; teamwork:stateEntryAction teamwork:IncrementAsetCollectionVersionAction ; rdfs:comment "the asset coillection instance will have its version number incremented. A version number is a numeric string with or without one decimal place." ; rdfs:label "Increment Version" ; . teamwork:NoReviewWorkflowTemplate a teamwork:TagWorkflowTemplate ; teamwork:diagramViewClass teamwork:DefaultTagWorkflowDiagram ; teamwork:initialStatus teamwork:Uncommitted ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Uncommitted ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Committed ; teamwork:transitionLabel "Commit changes to production" ; sh:order "0"^^xsd:decimal ; ] ; rdfs:comment "This simple workflow template used by working copies. Initially a working copy is uncommitted. From there it can be committed." ; rdfs:label "No review workflow" ; . teamwork:OpenForVoting a teamwork:TagStatus ; teamwork:faIcon "fa-question" ; rdfs:comment "votes are being accepted." ; rdfs:label "Open for Voting" ; . teamwork:PerformValidations a teamwork:TagStatus ; teamwork:editable false ; teamwork:faIcon "fa-spinner" ; teamwork:stateEntryAction edg:ValidateWorkingCopyAction ; rdfs:comment "run SHACL validation checks." ; rdfs:label "Perform Validations" ; . teamwork:ReviewRequested a teamwork:TagStatus ; rdfs:label "Review requested" ; . teamwork:ReviewRequiredWorkflowTemplate a teamwork:TagWorkflowTemplate ; teamwork:initialStatus teamwork:New ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Approved ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Committed ; teamwork:transitionLabel "Accept changes to production" ; sh:order "0"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:FrozenForReview ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Approved ; teamwork:transitionLabel "Approve changes" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:FrozenForReview ; teamwork:requiredTagPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Rejected ; teamwork:transitionLabel "Reject changes" ; sh:order "4"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:InProgress ; teamwork:requiredTagPermissionRole teamwork:manager ; teamwork:toStatus teamwork:FrozenForReview ; teamwork:transitionLabel "Submit for review" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:New ; teamwork:requiredTagPermissionRole teamwork:editor ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Start work" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Rejected ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:requiredTagPermissionRole teamwork:manager ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Allow further changes" ; sh:order "2"^^xsd:decimal ; ] ; rdfs:comment "The workflow template ensures that there is always a review step. Explicit approval is needed before changes are commited. If review results in rejection of changes, work can be re-started and another review cycle can follow." ; rdfs:label "Basic review workflow" ; . teamwork:ReviewRequiredwithEscalationWorkflowTemplate a teamwork:TagWorkflowTemplate ; teamwork:initialStatus teamwork:New ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:autoTransitionHours 24 ; teamwork:fromStatus teamwork:FrozenForReview ; teamwork:toStatus teamwork:Escalated ; teamwork:transitionLabel "Escalate" ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Approved ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Committed ; teamwork:transitionLabel "Accept changes to production" ; sh:order "0"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Escalated ; teamwork:requiredProjectPermissionRole teamwork:manager ; teamwork:toStatus teamwork:Approved ; teamwork:transitionLabel "Approve" ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Escalated ; teamwork:requiredProjectPermissionRole teamwork:manager ; teamwork:toStatus teamwork:Rejected ; teamwork:transitionLabel "Reject" ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:FrozenForReview ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Approved ; teamwork:transitionLabel "Approve changes" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:FrozenForReview ; teamwork:requiredTagPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Rejected ; teamwork:transitionLabel "Reject changes" ; sh:order "4"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:InProgress ; teamwork:requiredTagPermissionRole teamwork:manager ; teamwork:toStatus teamwork:FrozenForReview ; teamwork:transitionLabel "Submit for review" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:New ; teamwork:requiredTagPermissionRole teamwork:editor ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Start work" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Rejected ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:requiredTagPermissionRole teamwork:manager ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Allow further changes" ; sh:order "2"^^xsd:decimal ; ] ; rdfs:comment "The workflow template ensures that there is always a review step. If review is not completed in 24 hours, escalation happens to the manager of the asset collection. Explicit approval is needed before changes are commited. If review results in rejection of changes, work can be re-started and another review cycle can follow." ; rdfs:label "Review with escalation workflow" ; . teamwork:VersionIncrementWorkflowTemplate a teamwork:TagWorkflowTemplate ; teamwork:diagramViewClass teamwork:DefaultTagWorkflowDiagram ; teamwork:initialStatus teamwork:Uncommitted ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:IncrementVersion ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:Committed ; teamwork:transitionLabel "Commit changes to production" ; sh:order "0"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:Uncommitted ; teamwork:requiredProjectPermissionRole teamwork:editor ; teamwork:toStatus teamwork:IncrementVersion ; teamwork:transitionLabel "increment version" ; sh:order "0"^^xsd:decimal ; ] ; rdfs:comment "This simple workflow template to demonstrate how to call a state entry action. In this case it is to increment the version of the asset collection instance." ; rdfs:label "Version incrememt workflow" ; . teamwork:VotingComplete a teamwork:TagStatus ; rdfs:comment "voting is closed." ; rdfs:label "Voting Complete" ; . teamwork:VotingWorkflowTemplate a teamwork:TagWorkflowTemplate ; teamwork:initialStatus teamwork:New ; teamwork:managerWorkflowParticipantProperty edg:accountable ; teamwork:managerWorkflowParticipantProperty edg:responsible ; teamwork:transition [ a teamwork:TagStatusTransition ; edg:requiredGovernanceRole edg:responsible ; teamwork:fromStatus teamwork:Approved ; teamwork:toStatus teamwork:Committed ; teamwork:transitionLabel "Accept changes to production" ; sh:order "0"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; edg:requiredGovernanceRole edg:responsible ; teamwork:fromStatus teamwork:InProgress ; teamwork:toStatus teamwork:OpenForVoting ; teamwork:transitionLabel "Start voting process" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; edg:requiredGovernanceRole edg:responsible ; teamwork:fromStatus teamwork:New ; teamwork:toStatus teamwork:InProgress ; teamwork:transitionLabel "Start work" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:OpenForVoting ; teamwork:minVoteCount 2 ; teamwork:toStatus teamwork:VotingComplete ; teamwork:transitionLabel "Vote" ; teamwork:votingUserGovernanceRole edg:consulted ; sh:order "4"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:VotingComplete ; teamwork:requiredGovernanceRole edg:accountable ; teamwork:toStatus teamwork:Approved ; teamwork:transitionLabel "Approve" ; sh:order "1"^^xsd:decimal ; ] ; teamwork:transition [ a teamwork:TagStatusTransition ; teamwork:fromStatus teamwork:VotingComplete ; teamwork:requiredGovernanceRole edg:accountable ; teamwork:toStatus teamwork:Rejected ; teamwork:transitionLabel "Reject" ; sh:order "2"^^xsd:decimal ; ] ; rdfs:comment "The workflow template includes a voting step." ; rdfs:label "Voting workflow" ; .