Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-1927

Make dependencies on dc.contributor.* configurable

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Volunteer Needed (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 3.0, 3.1, 3.2, 4.0
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Attachments:
      0
    • Comments:
      1
    • Documentation Status:
      Needed

      Description

      In order to support future evolutions of the dspace metadata schema, DCAT identified a need for developers to be able to phase out metadata fields in favor of new ones. In the current codebase, we see challenges for a number of fields because of hard coded references to these fields. As a result, "phasing out" such fields would require a great amount of changes on different locations of the code.

      We think those hard coded dependencies need to be identified and made configurable as a first step.

      A main priority here are those fields that are represented as qualified dublin core, e.g. specified by both a field name and a qualifier. The prime example here is dc.contributor.*, such as dc.contributor.author.

      This is why we are proposing, as the scope for this particular JIRA ticket, to identify all hard coded occurrences of dc.contributor.* fields in the codebase, and to make them configurable in a next step.

      Examples where such hard coded references exist include

      Item Mapper search:
      https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/administrative/mapper/SearchItemForm.java#L117

      RSS feeds:
      https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java#L84

      PDF Packager:
      https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java#L341

      What remains to be decided is where the configuration should be place. It could be as simple as adding the following to dspace.cfg but maybe there is a need for more subtle configuration:

      #Main metadatafield where the repository is storing information about the author of an item.
      #The data model assumes that there is at least one value per item for this field.
      author = dc.contributor.author

      The general context for this JIRA request is the ongoing work from DCAT to refine requirements to align DSpace with current metadata standards.
      https://wiki.duraspace.org/display/DSPACE/Proposal+to+Update+DC+Registry+and+Add+DCTERMS+Registry

      We believe that a first step in this direction would be the identification and removal of any hard-coded dependencies on specific metadata fields in the DSpace codebase. Once configurable, any migrations to different fields should in theory be easier as changes will be more centralized.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                bram Bram Luyten (Atmire)
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: