Usability Improvements to Curation System
-----------------------------------------

                 Key: DS-982
                 URL: https://jira.duraspace.org/browse/DS-982
             Project: DSpace
          Issue Type: Improvement
          Components: DSpace API
    Affects Versions: 1.8.0
            Reporter: Richard Rodgers


A small number of extensions to curation system to improve task authoring and 
curation end-user experience. No API or other breaking changes.
Patches forthcoming, but brief write-up follows:

(1) Admin UI - ability to cluster curation tasks into groups for display and 
selection. The UI code will be adapted to look for and recognize a set of 
properties that permit grouping of tasks.
Groups can be defined for any purpose, and are optional. If no groups are 
defined, the behavior in the UI is as present: all tasks that have been mapped 
by the ui.tasknames property will appear in a single drop-down list. If any 
group is defined, then the UI will display *only* tasks associated with defined 
groups. A task may belong to several groups, and there may be any number of 
groups. This will give administrators the ability to logically and cleanly 
present tasks: the UI will first display a set of groups, then when selected, 
the tasks in that group.

New properties:
ui.groupnames = 
  firstgroup = "A sensible collection of tasks",
  secondgroup = "Metadata checking tools"

the right hand side customizable phrase will appear in the UI.

ui.group.firstgroup = task1, task2,,,,
ui.group.secondgroup = task3, task4...

these properties will define the members of the group

(2) Scriptable tasks. Support will be added for authoring tasks in non-java 
languages, specifically those accessible via JSR223 - the Java Scripting API.
Note that these languages are *not* installed in DSpace by default, and must be 
for the scripting engine to operate. Support for any specific language is not
included with this extension.

(3) Flexible, hierarchical, task configuration. This facility provides tasks 
with a convenient way to manage their configuration data. It is an optional 
feature, and tasks are not required to utilize it, but it is available in the 
AbstractCurationTask class as a set of convenience methods, so tasks extending 
this class can use if desired.

The method 'taskProperty(String name)' when invoked by a task named 
"mytask.prof1" will return a value (if any)  as follows:

if there is a file config/modules/mytask.cfg, this is loaded into a property 
set.
if there is a file confi/modules/mytask.prof1.cfg, this is loaded into the same 
property set, supplementing or overriding the properties in 'mytask.cfg'
the value associated with 'name' is returned to caller.

Using task properties, task authors can create multiple 'profiles' of the same 
task (one which forces an update perhaps, one which doesn't), can factor out 
common properties,
and many other uses. This can greatly diminish the amount of java coding 
required to support tasks. It relies on the convention that the same task code 
can have multiple
task names. 

 










-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.duraspace.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to