They had been living in a GitHub gist for a few months and I want to make sure they are archived here for searchability and reference in the future. Originally at: https://gist.github.com/alanorth/2db39e91f48d116e00a4edffd6ba6409
5.4 KiB
+++ title = "CGSpace CG Core v2 Migration" date = 2019-10-28T13:27:35+02:00 description = "Possible changes to CGSpace metadata fields to align more with DC, QDC, and DCTERMS as well as CG Core v2." categories = ["Notes"] tags = ["Migration"] url = "cgspace-cgcorev2-migration"
+++
Possible changes to CGSpace metadata fields to align more with DC, QDC, and DCTERMS as well as CG Core v2.
With reference to CG Core v2 draft standard by Marie-Angélique as well as DCMI DCTERMS.
Proposed Changes
As of 2019-09-11 the scope of the changes includes the following fields:
- dc.contributor.author→dcterms.creator
- for people and institutional authors
- cg.creator.id→cg.creator.identifier
- ORCID identifiers
- dc.title→dcterms.title
- dc.format.extent→dcterms.extent
- dc.date.issued→dcterms.issued
- dc.description.abstract→dcterms.abstract
- dc.description→dcterms.description
- dc.description.sponsorship→cg.contributor.donor
- values from CrossRef or Grid.ac if possible
- dc.description.version→cg.peer-reviewed
- cg.fulltextstatus→cg.howpublished
- CGSpace uses values like "Formally Published" or "Grey Literature"
- dc.identifier.citation→dcterms.bibliographicCitation
- cg.identifier.status→dcterms.accessRights
- current values are "Open Access" and "Limited Access"
- future values are possibly "Open" and "Restricted"?
- dc.language.iso→dcterms.language
- current values are ISO 639-1 (aka Alpha 2)
- future values are possibly ISO 639-3 (aka Alpha 3)?
- cg.link.reference→dcterms.relation
- dc.publisher→dcterms.publisher
- dc.relation.ispartofseries→dcterms.isPartOf
- dc.rights→dcterms.license
- Using SPDX license identifiers if possible
- dc.source→cg.journal
- dc.subject→dcterms.subject
- dc.type→dcterms.type
- dc.identifier.isbn→cg.isbn
- dc.identifier.issn→cg.issn
- cg.identifier.dataurl→cg.hasMetadata
- dc.title.alternative→dcterms.alternative
The following fields are currently out of the scope of this migration because they are used internally by DSpace 5.x/6.x and would be difficult to change without significant modifications to the core of the code:
- dc.date.available
- dc.date.accessioned
- dc.identifier.uri
- dc.description.provenance
Fields to Create
Make sure the following fields exist:
- cg.creator.identifier (242)
- cg.contributor.donor (243)
- cg.peer-reviewed (244)
- cg.howpublished (245)
- cg.journal (246)
- cg.isbn (247)
- cg.issn (248)
- cg.hasMetadata (249)
Fields to delete
Fields to delete after migration:
- cg.creator.id
- cg.fulltextstatus
- cg.identifier.status
- cg.link.reference
- cg.identifier.dataurl
Implementation Progress
Tally of the status of the implementation of the new fields in the CGSpace 5_x-cgcorev2
branch.
Field Name | migrate-fields.sh | Input Forms | XMLUI Themes¹ | dspace.cfg | Discovery | Atmire Modules | Crosswalks |
---|---|---|---|---|---|---|---|
dcterms.creator | ✓ | ✓ | ? | ✓ | ✓ | ✓ | |
cg.creator.identifier | ✓ | ✓ | ✓ | - | ✓ | ✓ | |
dcterms.title | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
dcterms.extent | ✓ | ✓ | - | - | - | - | |
dcterms.issued | ✓ | ✓ | ? | ✓ | ✓ | ✓ | |
dcterms.abstract | ✓ | ✓ | ✓ | ✓ | ✓ | - | |
dcterms.description | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
cg.contributor.donor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
cg.peer-reviewed | ✓ | ✓ | ✓ | - | ✓ | - | |
cg.howpublished | ✓ | ✓ | - | - | - | - | |
dcterms.bibliographicCitation | ✓ | ✓ | ✓ | - | - | ✓ | |
dcterms.accessRights | ✓ | ✓ | ✓ | - | ✓ | ✓ | |
dcterms.language | ✓ | ✓ | ✓ | - | ✓ | ✓ | |
dcterms.relation | ✓ | ✓ | ✓ | - | - | - | |
dcterms.publisher | ✓ | ✓ | - | - | ✓ | ✓ | |
dcterms.isPartOf | ✓ | ✓ | - | ✓ | ✓ | ✓ | |
dcterms.license | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
cg.journal | ✓ | ✓ | - | - | ✓ | ✓ | |
dcterms.subject | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
dcterms.type | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
cg.isbn | ✓ | ✓ | - | - | - | ✓ | |
cg.issn | ✓ | ✓ | - | - | - | ✓ | |
cg.hasMetadata | ✓ | ✓ | ✓ | - | ✓ | ✓ | |
dcterms.alternative | ✓ | ✓ | - | ✓ | ✓ | ✓ |
There are a few things that I need to check once I get a deployment of this code up and running:
- Assess the XSL changes to see if things like
not(@qualifier)]
still make sense after we move fields from DC to DCTERMS, as some fields will no longer have qualifiers - Do I need to edit crosswalks that we are not using, like MODS?
- There is potentially a lot of work in the OAI metadata formats like DIM, METS, and QDC (see
dspace/config/crosswalks/oai/*.xsl
)
¹ Not committed yet because I don't want to have to make minor adjustments in multiple commits. Re-apply the gauntlet of fixes with the sed script:
$ find dspace/modules/xmlui-mirage2/src/main/webapp/themes -iname "*.xsl" -exec ./cgcore-xsl-replacements.sed {} \;