NSDL Registry Functional Requirements

From Metadata-Registry
Revision as of 12:21, 26 August 2005 by Diane (Talk | contribs)

Jump to: navigation, search

Requirements for Administrative Functions and Interfaces

User Registration and Authentication

Administrative Management and Maintenance

Administrators of the Registry are a special class of user, authorized to perform all regular user tasks, as well as higher level tasks accomplished only by administrators. All functions described below are in addition to the user functions described elsewhere. Functionality will be phased from Year 1 to Year 2 of the project, with some tasks done manually in the first year, eith additional automation introduced the second year.

  1. User Authorization
    • Change authorization level for any existing user
    • Add new users for any agent/responsible entity
    • Modify user information
    • Delete users
  2. Manage Data Verification Processes
    • Review and approve all submissions (first year)
      • System will notify submitters that their data has validated, and is under review
      • System will log submissions and post administrative info to database
      • System will queue submissions for administrator, record actions, prompt completion
      • System will identify potential problems for administrative attention (duplication, conflict)
      • System will notify submitter when process is complete
      • System will notify agent/responsible entity when administrative changes affect submitted data
  3. Manage Interactions with Users
    • System will integrate HelpDesk functions to assist interactions (second year)
      • Submission problems will be identified and automatically entered at the time of submission (Incomplete submissions, repeated errors, etc.)
      • Email interactions between administrators and submitters will be managed within the system
      • System will prompt administrator to complete problem solving or pass to another administrator
  4. Reporting
    • System will support regular and one-time reporting based on database queries for quality control and statsitical reports
    • Review and monitor annotations

Requirements for User Functions and Interfaces

Creating and editing schemas using the NSDL schema creation tool

The tool should allow a user to upload, create, maintain and remove resource descriptions which they own within the NSDL registry.

  1. Add Agency description
    • Create description of Agency
    • Save description of Agency
    • Submit description of Agency to registry
  1. Edit/Update Agency description
    • Open existing description of Agency
    • Amend description of Agency
    • Save description of Agency
    • Re-submit description of Agency to registry
  1. Remove Agency description
    • Open existing description of Agency
    • Remove existing description of Agency (Do not permit removal if used in relationships?)
  1. Add Element Set description
    • Create description of Element Set
    • Save description of Element Set
    • Submit description of Element Set to registry
  1. Upload or Create elements
    • If element descriptions were created in an external tool, and available in approved XML schema, uploaded the set of elements into the registry [Note: Uploaded descriptions subject to validation.]
    • User verifies that upload has completed correctly, and submits the element descriptions to the Registry
    • Alternatively, for each Element in Element Set, create description of Element
    • Save element description
    • Submit individual descriptions or set to the registry
  1. Edit/Update Element Set description
    • Open existing description of Element Set
    • Amend description of Element Set
    • For each Element to be amended, open existing description of Element, amend description of Element
    • For each Element to be added, create description of Element
    • For each Element to be removed, remove description of Element (Do not permit removal if Element used in relationships?)
    • Save description of Element Set
    • Re-submit description of Element Set to registry [NOTE: we will need to work out a versioning policy for this function]
  1. Remove Element Set description
    • Open existing description of Element Set
    • Remove existing description of Elements in Element Set, remove existing description of Element Set (Do not permit removal if any Element used in relationships, or if Element Set used in relationships? Maybe not remove at all, but mark "obsolete"?)
  1. Add Encoding Scheme description
    • Create description of Encoding Scheme
    • For each Value in Encoding Scheme, create description of Value
    • Save description of Encoding Scheme
    • Submit description of Encoding Scheme to registry

[NOTE: Wouldn't this and the following be for syntax encoding schemes only, since we'll have a separate stream for vocabulary encoding schemes?]

  1. Edit/Update Encoding Scheme description
    • Open existing description of Encoding Scheme
    • Amend description of Encoding Scheme
    • For each Value to be amended, open existing description of Value, amend description of Value
    • For each Value to be added, create description of Value
    • For each Value to be removed, remove description of Value
    • Save description of Encoding Scheme
    • Re-submit description of Encoding Scheme to registry
  1. Remove Encoding Scheme description
    • Open existing description of Encoding Scheme
    • Remove existing description of Values in Encoding Scheme (OK because no references), remove existing description of Encoding Scheme (Do not permit removal if Encoding Scheme used in relationships)

[NOTE: Need to consider carefully whether anything used in instance data should be removed, and whether a change in status to "obsolete" might be better?]

  1. Add Application Profile description
    • Create description of Application Profile
    • For each Element Usage in Application Profile, create description of Element Usage. Note: a Element Usage does not automatically inherit the Encoding Schemes associated with the used Element. Any relevant Encoding Schemes must be explicitly associated with the Element Usage.
    • Save description of Application Profile
    • Submit description of Application Profile to registry
  1. Edit/Update Application Profile description
    • Open existing description of Application Profile
    • Amend description of Application Profile
    • For each Element Usage to be amended, open existing description of Element Usage, amend description of Element Usage
    • For each Element Usage to be added, create description of Element Usage
    • For each Element Usage to be removed, remove description of Element Usage (OK because no references)
    • Save description of Application Profile
    • Re-submit description of application to registry

[NOTE: We'll need an upload option for this section, eventually]

  1. Remove Application Profile description
    • Open existing description of Application Profile
    • Remove existing description of Element Usages in Application Profile, remove existing description of Application Profile (OK because no references)

[NOTE: This should probably be a status change rather than removal]

Creating and editing annotations

  1. Add commentator description (Shouldn't this be a user registration/authentication function, with some mandated public data and other optional?)
    • Prompt for additional details and permission to expose data on first attempt to create annotation
  1. Edit commentator description
    • Amend description
  1. Add annotation description
    • Click on annotations button
    • Enter details of annotation
    • Specify whether public or private
    • Specify type of annotation (chose from controlled list?)
    • Specify whether it is public or private annotation
  1. Edit annotation description
    • Open existing annotation
    • Amend text
  1. Remove annotation description
    • Delete annotation

Submitting, Creating and Editing Schemes (Controlled Vocabularies)

Submitting, Creating and Editing Application Profiles

Creating and Editing Schema Crosswalks