Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
This page is outdated and kept for archival purposes only. It contains the proposal and discussion of the "Metadata for all DSpace objects" concept. The actual implementation of this concept in DSpace 5 is outlined in Metadata for all DSpace objects.
This is based on Claudia's comments in the commiter list and the topic discussed elsewhere. Goals should be to expand on this and relate it to other projects/efforts. For instance, the async release proposal will now include establishing a true "API" for DSpace legacy objects and placing this in the "modules" directory where other projects can depend on it.
Enable Metadata on All DSpace Objects
- enable metadata for all dspace objects (communities, collections,
items, bundles, bitstreams, metadatavalues, epersons, groups).
Revise the Default Metadata Registery
- revise the default metadata registry see
https://jira.duraspace.org/browse/DS-433
Add Metadata Authority Controls / Vocabularies to the Data Model
- not only manage the metadata schema, but also related vocabularies
(like DCMI Type) and encoding schemata.
Refactor Metadata Schema to Support inheritance from existing Fields
- enable multiple metadata schemas per default (dcterms, an
administrative one and a couple of standard namespaces like those used
for prism)
Standardize the Default Namespaces
- think about whether standard namespaces (supposed the namespace is
complete in the default registry) should be editable at all. An instance
can always use it's own namespace.
Support Attaching Rendering Hints to DSpace Items and Metadata Fields.
- manage metadata field related configurations like hide option,
display, browse, search etc. in the db rather than in dspace.cfg. At the
moment one can delete/move a field which via the UI which is used as
configuration parameter
Improve Support for MetadataValue
- get rid of the deprecated DCValue
6 Comments
Mark Diggory
I would like to add support for "Metadata Sections" to this proposal.
I believe the most appropriate means to make metadata available on all DSpace Objects without bloating the database these "sections" directly in Bitstreams (in the same manner that Hydra stores these sections in Fedora Datastreams).
This will also align DSpace Objects more directly with METS (and likewise, in the same process, Fedora and Hydra).
In this approach Metadata is stored in Individual Bitstreams and the Data Model associates these bitstreams with specific Communities, Collections, Items or Bitstreams. The best example for this will be a dmdSec bitstream that associates a Dublin Core Record with a DSpace Bitstream within an Item.
Benefits:
Caveats:
Fedora Object Model
Hyrdra Content Model
Common metadata content model
As noted above, all Hydra objects will subscribe to a common metadata content model which provides for the types of metadata that all objects are likely to need.
Datastreams as follows:
** etc - but there must be a machine actionable and/or human readable entry here
* contentMetadata (XML) (optional, however it should be present in all objects (simple,compound or parent) that can present a splash page containing onward links in order to provide structural detail for displaying them; may contain
** METS FileSec
** METS StructMap
** ORE map
** [locally defined schema|^StanfordContentMetadata.pdf] The schema here was developed by Stanford and is being adopted by the Hydra partners.
** etc
* technicalMetadata (XML) (optional), may contain
** PREMIS premisObject
** type specific (e.g., MIX for images)
** etc
* provenanceMetadata (XML) (optional)
** eg PREMIS premisEvents
* sourceMetadata (XML) (optional)
** eg METS sourceMD snippet? (only a wrapper to object-specific MD)
DSpace AIP METS Representation
See DSpace AIP Format
mets/dmdSec
element(s)dmdSec
elements are included for all AIPs:*# object's descriptive metadata crosswalked to MODS (specified bymets/dmdSec/mdWrap@MDTYPE="MODS"
). See MODS Schema|../../../../../../../../../../display/DSDOC18/DSpace+AIP+Format#DSpaceAIPFormat-MODSSchema\ section below for more information.*# object's descriptive metadata in DSpace native DIM intermediate format, to serve as a complete and precise record for restoration or ingestion into another DSpace. Specified bymets/dmdSec/mdWrap@MDTYPE="OTHER",@OTHERMDTYPE="DIM"
. See DIM (DSpace Intermediate Metadata) Schema|../../../../../../../../../../display/DSDOC18/DSpace+AIP+Format#DSpaceAIPFormat-DIM%28DSpaceIntermediateMetadata%29Schema\ section below for more information.dmdSec
elements may exist which describe the Item Template for that Collection. Since an Item template is not an actual Item (i.e. it only includes metadata), it is stored within the Collection AIP. The Item Template'sdmdSec
elements will be referenced by adiv @TYPE="DSpace ITEM Template"
in the METSstructMap
.I would add dmdSec for metadata attached to Bitstreams and Bundles would be associated with the those files per these definitions of dmdSec (and other sections in the METS standard
See Standard Definition: http://www.loc.gov/standards/mets/METSOverview.v2.html
I believe that the above approach would open up possibilities to meet all the suggested requirements outlined above.
Tim Donohue
I'd recommend separating many/all? of these headers out into their own proposal pages (maybe all sub-pages of this "Metadata for All" proposal?).
It just becomes harder & harder to comment on or brainstorm any one of these ideas, as this has turned into a "one metadata proposal to rule them all" page.
Don't get me wrong, I think each of these ideas has merit & is worth close consideration. I just think they don't all need to be implemented simultaneously nor are they all interdependent.
The idea of the "Metadata Sections" is interesting and worth thinking through. Though, it does sound like a rather large change (affecting a lot of code, especially editing/submission code in the UIs). So, it may need its own discussion page where we can start to dig deeper into the benefits/caveats and what they may mean for DSpace.
Mark Diggory
partly why I was hesitant to add it directly to the page. Ideally, it would be good not to break up the page into subsections, but instead to approach the topic allong a general phased project planning strategy
a.) Business Requirements for Additional Metadata Support (that does not address actual implementation)
b.) Technical Requirements for Additional Metadata Support (that discusses some of the issues and implementation needs)
c.) Final proposal for adding the support.
I would suggest that after "a" and parts of "b" were completed, the topic of how to fund this activity might be possible to explore with various granting agencies or funding entities.
Tim Donohue
I agree with taking it in stages, but I'd still want to separate these various projects out more. Everything is still lumped together under "Metadata for All" when most topics technically could be only loosely related (or even parallel) projects.
For example:
Project #1 - Get DSpace up-to-date in terms of DCMI standards (DS-433) without changing anything else in the system
Project #2 - Next, standardize default namespaces (perhaps creating a new "DSPACE" namespace and "LOCAL" namespace or similar), and provide sample upgrade scripts for users to migrate to these namespaces
Project #3 (could be done in parallel) - Investigate options to enable metadata on Collections & Communities
Project #4 - Enhance metadata with authority control / vocabs
... you get the idea.
Essentially, we shouldn't be treating these all as one big project. Rather, we should work to split them up into smaller, more manageable chunks. That way we can reasonably expect some of this to make it into 3.0, and then make further enhancements in 4.0, etc. It will also ease in funding if we break this up more – it may not be that easy to get a giant all-encompassing grant (which is harder and harder to come by these days). But, we might be able to find volunteers or small funds/teams to help us make small steps in the right direction.
Mark H. Wood
See https://github.com/DSpace/DSpace/pull/12
Mark H. Wood
See also https://github.com/mwoodiupui/DSpace/tree/metadata-for-all