OR11-PRESENTATION - ResearchSpace@Auckland

Writing and Deploying
Your Own Curation
Tasks in Dspace
Managing routine content operations on a
digital repository through the new curation
task system in DSpace 1.7.X.
learn how to write a curation task, as well
as deploy and configure it to run.
You Need Stuff
Link Checker
Creative Commons
Bitstream Metadata
Bitstream Retrieval
Duplicate Metadata
Scan Bitstreams for Viruses
Curation to the Rescue
a simple, extensible way to manage routine
content operations on a repository
operate on any DSpaceObject
run in interactive, non-interactive or
customize the behavior of your repository
without having to alter - and therefore
manage synchronization with - the DSpace
source code.
No tasks are exposed in the public
performing tasks is an administrative
only knowledgeable collection editors,
repository administrators, sysadmins, may
run tasks.
Getting Started
a no argument constructor, so it can be
loaded by the PluginManager.
all tasks are 'named' plugins, with the
taskname being the plugin name.
implement the interface
You're the Decider
Suspendable – the Curation System will
cease processing when it encounters a FAIL
public class MyTask implements CurationTask
Distributive – If present, task manages
container iteration
public class MyTask implements CurationTask
deployment details go here
Command Line
[dspace]/bin/dspace curate -t vscan -i 123456789/4
The complete list of arguments:
-t taskname: name of task to perform
-T filename: name of file containing list of tasknames
-e epersonID: (email address) will be superuser if unspecified
-i identifier: Id of object to curate. May be (1) a handle (2) a workflow Id or (3) 'all' to
operate on the whole repository
-q queue: name of queue to process - -i and -q are mutually exclusive
-v emit verbose output
-r - emit reporting to standard out
Admin UI Invocation
ui.tasknames = \
profileformats = Profile Bitstream Formats, \
requiredmetadata = Check for Required Metadata
ui.statusmessages = \
-3 = Unknown Task, \
-2 = No Status Set, \
-1 = Error, \
0 = Success, \
1 = Fail, \
2 = Skip, \
other = Invalid Status
Workflow Invocation
<mapping collection-handle="default" taskset="cautious" />
<taskset name="cautious">
<flowstep name="step1">
<task name="vscan">
<notify on="fail">$flowgroup</notify>
<notify on="fail">$colladmin</notify>
<notify on="error">$siteadmin</notify>
Useful References
Explain the steps that now need to be taken
Future plans
Wendy Bossons – MIT –
Kim Shepherd – University of Auckland
– kim.shepherd@gmail.com
Richard Rodgers – MIT