OR11-PRESENTATION - ResearchSpace@Auckland
Download
Report
Transcript 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
Translation
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
workflow
customize the behavior of your repository
without having to alter - and therefore
manage synchronization with - the DSpace
source code.
Configurable
No tasks are exposed in the public
interfaces.
performing tasks is an administrative
function
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
'org.dspace.curate.CurationTask'
You're the Decider
Suspendable – the Curation System will
cease processing when it encounters a FAIL
status
@Suspendable(invoked=Curator.Invoked.INTERACTIVE)
public class MyTask implements CurationTask
Distributive – If present, task manages
container iteration
@Distributive
public class MyTask implements CurationTask
Deploy
deployment details go here
Command Line
Invocation
[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
<taskset-map>
<mapping collection-handle="default" taskset="cautious" />
</taskset-map>
<tasksets>
<taskset name="cautious">
<flowstep name="step1">
<task name="vscan">
<workflow>reject</workflow>
<notify on="fail">$flowgroup</notify>
<notify on="fail">$colladmin</notify>
<notify on="error">$siteadmin</notify>
</task>
</flowstep>
</taskset>
</tasksets>
Useful References
https://wiki.duraspace.org/display/DSDOC/Curation+System
RoadMap
Explain the steps that now need to be taken
Future plans
Credits
Wendy Bossons – MIT –
[email protected]
Kim Shepherd – University of Auckland
– [email protected]
Richard Rodgers – MIT