Title: New collection workflow system

Student: De Schouwer Bram

Mentor: Lieven Droogmans

Co-Mentors: Bram Luyten, Richard Rodgers, ???

Abstract

In the current DSpace implementation, a workflow system is present that allows content submitters to ingest an item in the repository, that can be reviewed by simply accepting the submitted content, changing some of the submitted metadata or rejecting the item so it can be altered by the submitter. The current collection workflow system contains up to three steps for the submission of files. Except for the metadata changes, there are no possibilities for changing any of the submission content during the different steps of the workflow system.


In more demanding situations these few steps and editing functionalities can be insufficient to suit the requirements of the repository managers. Therefor the workflow system should be transformed into a series of different steps which can be individually defined, and can be configured on a per collection basis. It should be possible to configure the workflow system as a modular system. This way, the repository managers can choose the number and order of different workflow steps for each collection and configure each of these steps for its specified function. Also, it should be possible to change more and different content in each step of the submission. This means that it is possible to define steps in which it is possible to change not only the metadata but also for example the submitted files. This way the repository manager can maintain some interaction with the submitter during the submission process. Changes to the submitted files or info by the submitter can be requested between different steps of the process. This approach gives a lot more freedom and can result in better submissions that are optimally suited for the repository.

An example of a more elaborate workflow is a peer reviewing workflow in which reviewers are invited who each have to review the given item, so that afterwards the appropriate manager can either approve or decline an item based on the individual reviews. Differences in the editing possibilities could be that a submission initially just contains a short description and some metadata. After the approval of these contents, extra files and information can be added to the submission and the reviewing process can continue.

Of course the existing functionalities of the workflow system will be preserved. These contain the notification of the groups assigned to a step in the system, editing control and many more. The new system will be completely backwards compatible with the current.

Broad Goals

Current workflow system

In the current DSpace implementation, a workflow system is present that allows content submitters to ingest an item in the repository, that can be reviewed by simply accepting the submitted content, changing some of the submitted metadata or rejecting the item so it can be altered by the submitter. The current collection workflow system contains up to three steps for the submission of files. Except for the metadata changes, there are no possibilities for changing any of the submission content during the different steps of the workflow system.

Workflow Step

Possible actions

1)

Can accept submission for inclusion, or reject submission.

2)

Can edit metadata provided by the user with the submission, but cannot change the submitted files. Can accept submission for inclusion, or reject submission.

3)

Can edit metadata provided by the user with the submission, but cannot change the submitted files. Must then commit to archive; may not reject submission.

Modular workflow

Therefor the workflow system should be transformed into a series of different steps which can be individually defined, and can be configured on a per collection basis.
It should be possible to configure the workflow system as a modular system.

Example workflow

An example of a more elaborate workflow is a peer reviewing workflow in which reviewers are invited who each have to review the given item, so that afterwards the appropriate manager can either approve or decline an item based on the individual reviews.
Differences in the editing possibilities could be that a submission initially just contains a short description and some metadata.
After the approval of these contents, extra files and information can be added to the submission and the reviewing process can continue.
Of course the existing functionalities of the workflow system will be preserved.
These contain the notification of the groups assigned to a step in the system, editing control and many more.
The new system will be completely backwards compatible with the current.

Goal Breakdown

Modular workflow system

Different steps

Different roles

Different actions

The actions that can be carried out are defined by the step configuration.

Combine the different parts

Assumptions

Configuration

Configuration for a simple collection workflow (submit/accept-reject/accept-reject-edit metadata):

<actions>
&#09;<action id="editMetadata" name="Edit Metadata" />
&#09;<action id="acceptRejectAbstract" type="acceptReject" />
&#09;<action id="uploadFullAbstract" type="uploadDocument" />
&#09;<action id="uploadFullText" type="uploadDocument" />
&#09;<action id="..." type="..." />
</actions>

<roles>
&#09;<role id="submitter" name="Author" />
&#09;<role id="convener" name="Convener" />
&#09;<role id="editorInChief" name="Editor-in-chief" />
</roles>

<workflow>
&#09;<step id="StartSubmission" name="Submit paper">
&#09;&#09;<action id="editMetadata" />
&#09;&#09;<action id="uploadAbstract" />
&#09;</step>
&#09;<step id="acceptRejectAbstractStep" name="Awaiting abstract approval">
&#09;&#09;<>
&#09;</step>
</workflow>

Example configuration for an elaborate (peer-reviewing) collection workflow:

<actions>
&#09;<action id="editMetadata" type="EditMetadata">
&#09;&#09;<inputforms value="default" />
&#09;&#09;<continuationaction id="uploadAbstract" />
&#09;</action>
&#09;<action id="uploadAbstract" type="uploadDocument">
&#09;&#09;<uploadrequired value="true" />
&#09;&#09;<continuationaction id="acceptLicense" />
&#09;</action>
&#09;<action id="acceptLicense" type="acceptLicense">
&#09;&#09;<nextstep id="acceptRejectAbstractStep" />
&#09;</action>
&#09;<action id="uploadFullText" type="uploadDocument" />
&#09;<action id="assignReviewersForItem" type="assignRoleMembers">
&#09;&#09;<selectFromRole value="reviewer" />
&#09;&#09;<addToRole value="assignedReviewer" />
&#09;&#09;<assignmentMethod value="manual" />
&#09;&#09;<assignmentMethod value="SomeClass.biddingAlgorithm()" />
&#09;</action>
&#09;<action id="acceptAbstract" type="accept" />
&#09;<action id="returnAbstract" type="return" />
&#09;<action id="commitToArchive" type="archive" />

</actions>

<roles>
&#09;<role id="submitter" name="Author" />
&#09;<role id="metadataeditor1" name="Metadata Editor (1)" />
&#09;<role id="metadataeditor2" name="Metadata Editor (2)" />
&#09;<role id="metadataeditor3" name="Metadata Editor (3)" />
&#09;<role id="reviewer" name="Reviewer" />
&#09;<role id="assignedReviewer" name="Assigned Reviewer" />
&#09;<role id="convener" name="Convener" />
&#09;<role id="editorInChief" name="Editor-in-chief" />
</roles>

<workflow id="default">
&#09;<step id="StartSubmission" name="Submit paper" role="submitter">
&#09;&#09;<action id="editMetadata" nextStep="acceptRejectAbstractStep"/> <!-- list of actions to be chosen from -->
&#09;</step>
&#09;<step id="acceptRejectAbstractStep" name="Awaiting abstract approval" role="metadataeditor1"  defaultNextStep="editMetadataStep">
&#09;&#09;<action id="acceptAbstract" nextstep="EditMetadataStep" /> <!-- list of actions to be chosen from -->
&#09;&#09;<action id="returnAbstract" nextstep="StartSubmission" />
&#09;</step>
&#09;<step id="editMetadataStep" name="Awaiting abstract approval" role="metadataeditor2">
&#09;&#09;<action id="editMetadata" /> <!-- list of actions to be chosen from -->
&#09;&#09;<action id="acceptAbstract" nextStep="..." />
&#09;</step>
...
&#09;<step id="assignReviewers" name="..." role="convener">
&#09;&#09;<action id="assignReviewersForItem" nextstep="reviewFullText" /> <!-- list of actions to be chosen from -->
&#09;</step>
&#09;<step id="reviewFullText" name="Awaiting abstract approval" role="assignedReviewer">
&#09;&#09;<action id="editMetadata" /> <!-- list of actions to be chosen from -->
&#09;&#09;<action id="uploadDocument" />
&#09;&#09;<action id="acceptFullText" waitForAll="assignedReviwer" nextStep="..." />
&#09;</step>
&#09;<step id="commitArchive" name="Add to archive" role="convener">
&#09;&#09;<action id="commitToArchive" />
&#09;</step>
</workflow>

<workflow id="123456789/6546">
</workflow>

User interface for the usage of the system

Design

Domain model analysis

Action

Role

Step

WorkflowPart

Action

Step

Workflow

WorkflowItem

WorkflowFactory

WorkflowManager

Implementation

Open Issues

References and Other Research

Project timeline

JUNE

JULY

AUGUST

Results

Technical info

Achievements

Further development