NSDL Registry Functional Requirements

From Metadata-Registry
Revision as of 12:33, 7 October 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. See Use Case definitions of Actors, Terms and Statuses for appropriate terminology.

Users

  1. User Authorization
    • Change authorization level for any existing user
    • Add new users for any agent/responsible entity
    • Modify user information
    • Delete users

Data Handling

  1. Manage Data Verification Processes
    • System queue will categorize routine and problem verification reports according to Organization, Vocabulary and Date for easier triage
    • System will allow specification of particular errors for addition to error trapping and handling routines
  2. Schema updating
    • System will support routine updating of SKOS schema as well as local administrative data schema

Administration and Management

    • 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 and transactions to database
      • System will queue submissions for administrator, record actions, prompt completion
      • System will identify potential problems for priority administrative attention (duplication, conflict)
      • System will notify submitter when process is complete
      • System will notify agent/responsible entity when administrative changes affect submitted data
  1. 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 and tracked within the system
      • System will prompt administrator to complete problem solving or pass to another administrator
      • System will allow keyword and structured searching of email interactions

Reporting

  1. System will support regular and real-time reporting based on database queries for statistical reports
    • Activity reports by:
      • Time period (week, month, year, to-date)
      • Organization
      • Vocabulary
      • Maintainer
      • Type (added value, changed value, changed status, uploaded file, slurped file, etc.)
  2. System will support regular and one-time reporting based on database queries for quality control
    • Errors by:
      • Time period (week, month, year, to-date)
      • Organization
      • Vocabulary
      • Maintainer
      • Type (missing data, incorrect data, bad default, file error, validation, etc.)
    • Email interactions, by:
      • Organization
      • Vocabulary
      • Maintainer
      • Error type

Requirements for User Functions and Interfaces

Note: See Use Case definitions of Actors, Terms and Statuses for appropriate terminology.

Submitting, Creating and Editing Schemas

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

  1. Add Organization description
    • Create description of Organization
    • Save description of Organization
    • Submit description of Organization to registry
  2. Edit/Update Organization description
    • Open existing description of Organization
    • Amend description of Organization
    • Save description of Organization
    • Submit updated description of Organization to registry
  3. Deprecate Organization description
    • Open existing description of Organization
    • Deprecate existing description of Organization (Do not permit deprecation if used in relationships?)
  4. Add Element Set description
    • Create description of Element Set
    • Save description of Element Set
    • Submit description of Element Set to registry
  5. 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
  6. 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: see Versioning page for beginnings of versioning policy for this function]
  7. Deprecate Element Set description
    • Open existing description of Element Set
    • Deprecate existing description of Elements in Element Set, deprecate existing description of Element Set (Do not permit removal if any Element used in relationships, or if Element Set used in relationships?)

Submitting, 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
  2. Edit commentator description
    • Amend description
  3. 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
  4. Edit annotation description
    • Open existing annotation
    • Amend text
  5. Remove annotation description
    • Delete annotation

Submitting, Creating and Editing Schemes (Controlled Vocabularies)

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

  1. Add Organization description
    • Create description of Organization
    • Save description of Organization
    • Submit description of Organization to registry
  2. Edit/Update Organization description
    • Open existing description of Organization
    • Amend description of Organization
    • Add vocabulary maintainers for an Organization
    • Save description of Organization
    • Submit updated description of Organization to registry
  3. Deprecate Organization description
    • Open existing description of Organization
    • Deprecate existing description of Organization (Do not permit deprecation if used in relationships?)
  4. Add Vocabulary description
    • Create description of Vocabulary
    • Save description of Vocabulary
    • Submit description of Vocabulary to registry
  5. Upload or Create Vocabulary terms
    • If vocabulary terms were created in an external tool, and available in approved XML schema, uploaded the set of terms into the registry [Note: Uploaded terms are subject to validation.]
    • User verifies that upload has completed correctly, and submits the vocabulary terms to the Registry
    • Alternatively, for each Term in a vocabulary, create description of term and optional relationships
    • Save term description and optional relationships
    • Submit individual terms or set of terms to the registry
  6. Edit/Update Vocabulary description
    • Open existing description of Vocabulary
    • Amend description of Vocabulary
    • For each Term to be amended, open existing description of Term, amend description of Term (including term status)
    • For each Term to be added, create description of Term
    • Save description of Term
    • Re-submit description of Term to registry [NOTE: see Versioning page for beginnings of versioning policy for this function]
  7. Deprecate Vocabulary description
    • Open existing description of Vocabulary
    • Deprecate existing description of Terms in Vocabulary, deprecate existing description of Vocabulary (Do not permit removal if any Element used in relationships, or if Element Set used in relationships?) [Note: We might want a "top down" version of this rather than "bottom up" as described here.]

Submitting, Creating and Editing Application Profiles

  1. Submission, Creation and Editing follows the pattern for other functions described earlier, with some exceptions/additions
    • When submitter chooses encoding schemes managed by the Registry, a usage link will be created, allowing:
      • Notification to the vocabulary manager that a community or project is using their vocabulary
      • Notification to the community or project when changes or additions are made to the vocabulary (optional)
    • Source definitions and URIs for elements/properties declared in an application profile must be valid
      • Submitters should get immediate feedback when disparities are discovered, and submission should not be completed until the problem is solved

Sequence of Actions

  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
  2. 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. Deprecate Application Profile description
    • Open existing description of Application Profile
    • Deprecate existing description of Element Usages in Application Profile, deprecate existing description of Application Profile (OK because no references)

Adding Encoding Schemes

  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
  2. 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?]


Submitting, Creating and Editing Schema Crosswalks

External Service Interactions

External User Interactions