Changes between Version 5 and Version 6 of metadataworkflow


Ignore:
Timestamp:
Dec 12, 2011, 6:54:38 AM (12 years ago)
Author:
simonp
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • metadataworkflow

    v5 v6  
    1111== Overview ==
    1212
    13 Metadata records have a lifecycle that typically goes through one or more states. eg when a record is created and edited by an 'Editor' user it is in the 'Draft' state. Whilst it is reviewed by a 'Content Reviewer' user it would typically be in a 'Submitted' state. If the record is found to be complete and correct by the 'Content Reviewer' it would be in the 'Approved' state and may be made available for casual search and harvest by assigning privileges to the !GeoNetwork 'All' group. Eventually, the record may be superseded or replaced and the state would be 'Retired'. At present !GeoNetwork doesn't have a formal process by which the state of the record can be captured during this workflow. This proposal is about:
     13Metadata records have a lifecycle that typically goes through one or more states. eg when a record is created and edited by an 'Editor' user it is in the 'Draft' state. Whilst it is reviewed by a 'Content Reviewer' user it would typically be in a 'Submitted' state. If the record is found to be complete and correct by the 'Content Reviewer' it would be in the 'Approved' state and may be made available for casual search and harvest by assigning privileges to the !GeoNetwork 'All' group. Eventually, the record may be superseded or replaced and the state would be 'Retired'. At present !GeoNetwork doesn't have a formal process by which the state of the record can be captured during this workflow. This proposal adds:
    1414
    15  * adding state (or status) to records in !GeoNetwork: 'Unknown', 'Draft', 'Submitted', 'Approved', 'Rejected', 'Retired'
    16  * providing email notifications to different users when status changes eg. when status changes from 'Draft' or 'Unknown' to 'Submitted' then all relevant 'Content Reviewers' are notified via email
     15 * state (or status) to records in !GeoNetwork: 'Unknown', 'Draft', 'Submitted', 'Approved', 'Rejected', 'Retired'. The status is held in a database table called MetadataStatus
     16 * two status change action hooks (in Java) that can be used by sites to provide specific behaviours: The first action is called when status is changed by a user eg. when 'Draft' records are set to 'Submitted' and could be used for example to send notifications to other users affected by this change. The second is called when a record is edited and saved and could be used for example to reset records with an 'Approved' status to 'Draft' status. A default set of actions is provided.
    1717 
    1818=== Proposal Type ===
     
    2828== Motivations ==
    2929
    30 !GeoNetwork already has some components of a metadata workflow in the form of:
    31 
    32  * users have a profile that gives them different levels of privilege over a metadata record eg. only a content reviewer (or admin) profile user can assign rights to a metadata record that would allow an unregistered user to see the record in search ie. only a content reviewer can assign rights to the special GeoNetwork groups 'All' or 'Internet'
     30!GeoNetwork already has some components that could be used to define a metadata workflow in the form of users profiles that give different levels of privilege over a metadata record eg. only a content reviewer (or administrator) profile user can assign privileges to a metadata record that would allow an unregistered user to see the record in search ie. only a content reviewer can assign privileges to the special GeoNetwork groups 'All' or 'Internet'
    3331
    3432This proposal adds to these components with:
    3533
    3634 * a status value for any metadata record describing its current state in a lifecycle that ranges from 'Draft' or 'Unknown' through 'Submitted', 'Approved', 'Rejected' and 'Retired' - the history of status changes is kept in the MetadataStatus table ie. the most recent status change is the current status.
    37  * Users with different profiles can set the status on one record through the or any number of selected records through the 'Actions on selected records'
    38  * Notification of status change to relevant users:
    39    * When an 'Editor' changes the state on a metadata record(s) from 'Draft' or 'Unknown' to 'Submitted', the Content Reviewers from the groupOwner of the record are informed of the status change via email
    40    * When a 'Content Reviewer' changes the state on a metadata record(s) from 'Submitted' to 'Accepted' or 'Rejected', the owner of the metadata record is informed of the status change via email AND the group 'All' is assigned all privileges except 'Editing' (ie. the record is publicly accessible)
    41  * Any metadata record with status 'Approved' is reset to status 'Draft' if the record is edited (without the 'Minor Edit' check box) and saved ALSO privileges for the group 'All' are removed.   
     35 * Users with different profiles can set the status on one record through the 'Other Actions' menu or any number of selected records through the 'Actions on selected records' menu.
     36 * A default pair of metadata status change actions defined in Java - see the class org.fao.geonet.services.metadata.DefaultStatusActions.java - these can be overidden to provide different behaviours by coding them in Java as a new class and providing the name of the new class in the statusWorkflowClass configuration parameter in WEB-INF/config.xml (see also the Interface org.fao.geonet.services.metadata.StatusActions.java).
     37   * The first change action is called when a status change is required. The default action taken depends on the status change taking place:
     38     * When an 'Editor' changes the state on a metadata record(s) from 'Draft' or 'Unknown' to 'Submitted', the Content Reviewers from the groupOwner of the record are informed of the status change via email
     39     * When a 'Content Reviewer' changes the state on a metadata record(s) from 'Submitted' to 'Accepted' or 'Rejected', the owner of the metadata record is informed of the status change via email AND the group 'All' is assigned all privileges except 'Editing' (ie. the record is publicly accessible)
     40   * The second status change action is when a record is edited and saved by a user. The default action taken applies to any metadata record with status 'Approved' and resets the status to 'Draft' then removes the privileges for the GeoNetwork group 'All'.
     41   
    4242
    4343=== Backwards Compatibility Issues ===
    4444
    45 None - metadata records receive status 'Unknown' by default.
     45None - metadata records receive status 'Unknown' by default if they don't have an existing status.
    4646
    4747=== New libraries added ===