Page History
...
- apply a virus scan to item bitstreams (this will be our example below)
- profile a collection based on format types - good for identifying format migrations
- ensure a given set of metadata fields are present in every item, or even that they have particular values
- call a network service to enhance/replace/normalize an itemsitem's metadata or content
- ensure all item bitstreams are readable and their checksums agree with the ingest values
...
Wiki Markup |
---|
For CS to run a task, the code for the task must of course be included with other deployed code (to {{\[DSDOC:dspace\]/lib}}, WAR, etc) but it must also be declared and given a name. This is done via a configuration property in {{\[DSDOC:dspace\]/config/modules/curate.cfg}} as follows: |
...
Wiki Markup |
---|
For many tasks, this activation configuration is all that will be required to use it. But for others, the task needs specific configuration itself. A concrete example is described below, but note that these task-specific configuration property files also reside in {{\[DSDOC:dspace\]/config/modules}} |
...
Code Block |
---|
-t taskname: name of task to peformperform -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 |
...
Wiki Markup |
---|
In the XMLUI, there is a 'Curate' tab (appearing within the 'Edit Community/Collection/Item') that exposes a drop-down list of configured tasks, with a button to 'perform' the task, or queue it for later operation (see section below). Not all activated tasks need appear in the Curate tab - you filter them by means of a configuration property. This property also permits you to assign to the task a more user-friendly name than the PluginManager _taskname_. The property resides in {{\[DSDOC:dspace\]/config/modules/curate.cfg}}: |
...
When a task is selected from the drop-down list and performed, the tab displays both a phrase interpreting the 'status code' of the task execution, and the 'result' message if any has been defined. When the task has been queued, an acknowlegement acknowledgement appears instead. You may configure the words used for status codes in curate.cfg (for clarity, language localization, etc):
...
Wiki Markup |
---|
CS provides the ability to attach any number of tasks to standard DSpace workflows. Using a configuration file {{\[DSDOC:dspace\]/config/workflow-curation.xml}}, you can declaratively (without coding) wire tasks to any step in a workflow. An example: |
...
Wiki Markup |
---|
The notifications use the same procedures that other workflow notifications do - namely email. There is a new email template defined for curation task use: {{\[DSDOC:dspace\]/config/emails/flowtask_notify}}. This may be language-localized or otherwise modified like any other email template. |
...
The task with the taskname 'formatprofiler' (in the admin UI it is labelled labeled "Profile Bitstream Formats") examines all the bitstreams in an item and produces a table ("profile") which is assigned to the result string. It is activated by default, and is configured to display in the administrative UI. The result string has the layout:
...
The profiler will operate on any DSpace object. If the object is an item, then only that item's bitstreams are profiled; if a collection, all the bitsteams bitstreams of all the items; if a community, all the items of all the collections of the community.
...
DSpace Configuration
Wiki Markup |
---|
In {{\[DSDOC:dspace\]/config/modules/curate.cfg}}, activate the task: |
...
Code Block |
---|
ui.tasknames = \ profileformats = Profile Bitstream Formats, \ requiredmetadata = Check for Required Metadata, \ vscan = Scan for Viruses |
Wiki Markup |
---|
In {{\[DSDOC:dspace\]/config/modules}}, edit configuration file clamav.cfg: |
...