Upload
doris-agatha-thompson
View
220
Download
3
Embed Size (px)
Citation preview
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 Invocationui.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