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
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel