Skip to content

Instantly share code, notes, and snippets.

@awoods
Created November 30, 2021 00:06
Show Gist options
  • Save awoods/044fb6e7aac15c1c264a9b8493aa7dfa to your computer and use it in GitHub Desktop.
Save awoods/044fb6e7aac15c1c264a9b8493aa7dfa to your computer and use it in GitHub Desktop.
dspace/config/workflow.xml
<?xml version="1.0" encoding="UTF-8"?>
<wf-config>
<workflow-map>
<name-map collection="default" workflow="default"/>
<!--<name-map collection="123456789/4" workflow="selectSingleReviewer"/>-->
<!--<name-map collection="123456789/5" workflow="scoreReview"/>-->
</workflow-map>
<!--Standard workflow step-->
<workflow start="fundingreportstep" id="default">
<roles>
<role id="reviewer" name="Reviewer" description="The people responsible for this step are able to edit the metadata of incoming submissions, and then accept or reject them." scope="repository"/>
<!--
<role id="editor" name="Editor" description="The people responsible for this step are able to edit the metadata of incoming submissions, and then accept or reject them."/>
<role id="finaleditor" name="Final Editor" description="The people responsible for this step are able to edit the metadata of incoming submissions, but will not be able to reject them."/>
-->
<role id="depositors" name="Depositors" description="Depositors" scope="repository"/>
<role id="oscs" name="OSCs" description="OSCs" scope="repository"/>
<role id="catalogers" name="Catalogers" description="Catalogers" scope="repository"/>
<role id="licensereviewer" name="License Reviewer" description="People responsible for adding a custom license to an item" />
</roles>
<step id="fundingreportstep" role="reviewer" userSelectionMethod="noUserSelectionAction">
<outcomes>
<step status="0">automaticstep</step>
</outcomes>
<actions>
<action id="fundingreportaction"/>
</actions>
</step>
<step id="automaticstep" role="reviewer" userSelectionMethod="noUserSelectionAction">
<outcomes>
<step status="0">flaggingstep</step>
</outcomes>
<actions>
<action id="automaticaction"/>
</actions>
</step>
<step id="flaggingstep" role="reviewer" userSelectionMethod="claimaction">
<outcomes>
<step status="0">legacy</step>
</outcomes>
<actions>
<action id="flaggingaction"/>
</actions>
</step>
<step id="legacy" role="reviewer" userSelectionMethod="claimaction">
<outcomes>
<step status="0">aa-no</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="aa-no" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">auth-rightperson</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="auth-rightperson" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">auth-notlisted</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="auth-notlisted" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">auth-left</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="auth-left" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">auth-collection</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="auth-collection" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">file-corrupted</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="file-corrupted" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">file-whatversion</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="file-whatversion" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">file-contents</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="file-contents" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">file-convert</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="file-convert" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">file-mismatch</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="file-mismatch" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">file-no</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="file-no" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">meta-sparse</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-sparse" role="catalogers" userSelectionMethod="claimaction">
<outcomes>
<step status="0">meta-foreign</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-foreign" role="catalogers" userSelectionMethod="claimaction">
<outcomes>
<step status="0">meta-dupe</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-dupe" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">meta-question</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-question" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">meta-dark</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-dark" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">meta-forthcoming</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-forthcoming" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">oap-needman</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="oap-needman" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">noap-needpub</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="noap-needpub" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">noap-none</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="noap-none" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">noap-request</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="noap-request" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">noap-noinfo</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="noap-noinfo" role="oscs" userSelectionMethod="claimaction">
<outcomes>
<step status="0">checkflagsaction</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="meta-whatisthis" role="depositors" userSelectionMethod="claimaction">
<outcomes>
<step status="0">checkflagsaction</step>
</outcomes>
<actions>
<action id="flagprocessingaction"/>
</actions>
</step>
<step id="checkflagsaction" role="reviewer" userSelectionMethod="noUserSelectionAction">
<outcomes>
<step status="0">customlicenseaction</step>
<step status="1">aa-no</step>
</outcomes>
<actions>
<action id="checkflagsaction"/>
</actions>
</step>
<step id="customlicenseaction" role="licensereviewer" userSelectionMethod="claimaction">
<outcomes>
<step status="0">checkflagsactionend</step>
</outcomes>
<actions>
<action id="customlicenseaction"/>
</actions>
</step>
<step id="checkflagsactionend" role="reviewer" userSelectionMethod="noUserSelectionAction">
<outcomes>
<step status="1">aa-no</step>
</outcomes>
<actions>
<action id="checkflagsaction"/>
</actions>
</step>
</workflow>
<!--Workflow where a reviewManager can select a single review who will then either accept/reject the item-->
<workflow id="selectSingleReviewer" start="selectReviewerStep">
<roles>
<role id="reviewer" name="Reviewer" scope="item" />
<role id="reviewmanagers" name="ReviewManagers" scope="repository"/>
</roles>
<step id="selectReviewerStep" role="reviewmanagers" userSelectionMethod="claimaction">
<outcomes>
<step status="0">singleUserReviewStep</step>
</outcomes>
<actions>
<action id="selectrevieweraction"/>
</actions>
</step>
<step id="singleUserReviewStep" role="reviewer" userSelectionMethod="autoassignAction">
<outcomes>
<step status="1">selectReviewerStep</step>
</outcomes>
<actions>
<action id="singleuserreviewaction"/>
</actions>
</step>
</workflow>
<!--Workflow where a number of users will perform reviews on an item and depending on the scores the item will be archived/rejected-->
<workflow id="scoreReview" start="scoreReviewStep">
<roles>
<role id="scoreReviewers" name="ScoreReviewers" scope="collection" description="The people responsible to select a single reviewer for the submission"/>
</roles>
<step id="scoreReviewStep" role="scoreReviewers" userSelectionMethod="claimaction" requiredUsers="2">
<outcomes>
<step status="0">evaluationStep</step>
</outcomes>
<actions>
<action id="scorereviewaction"/>
</actions>
</step>
<step id="evaluationStep" userSelectionMethod="noUserSelectionAction">
<actions>
<action id="evaluationaction"/>
</actions>
</step>
</workflow>
</wf-config>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment