Page History
...
If we were to use dc.relation.replaces and dc.relation.isVersionOf to identify both the VersionHistory and and not dc.relation.isReplacedBy to resolve
Tasks needing to be completed To support Versioning of Items:
Database Schema
Task: Create Database changes to support version history/version, similar to Workspaceitem / workflowitem
Task: Document Database Changes here:
Domain Model and Data Access Support Changes
Task: Create Data access objects and domain model to get versions from database
Task: Document Domain Model Here
Task: Utilize ServiceManager to deliver Versioning Service to Application,
Task: Provide Examples of how Service Manager is used to get Service here
XMLUI Support
Task: We will create a new Versioning Aspect Project for changes to XMLUI
Extensible ItemAdapter
Task: Extend the ItemAdapter to have a "administrativeMetadata" section, it would be good if this was pluggable.
To get to here we need review the ItemAdapter overrides that are available in atmire-xmlui-api...
Express Administrative Versioning Metadata in METS Administrative Section of
http://host/xmlui/metadata/handle/1234.5/102/mets.xml
Code Block | ||
---|---|---|
| ||
<METS:METS .... ID="1234.5/102">
<METS:amdSec ID="RELS-EXT" STATUS="A">
<METS:techMD ID="VERSION-HISTORY-0.1">
<METS:mdWrap LABEL="DSpace Version Metadata" MDTYPE="OTHER"
FORMAT_URI="info:dspace/foobar"
MIMETYPE="application/rdf+xml" OTHERMDTYPE="UNSPECIFIED">
<METS:xmlData>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:terms="http://purl.org/dc/terms"
xmlns:myns="http://www.nsdl.org/ontologies/relationships#"
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description rdf:about="hdl:1234.5/100">
<dc:identifier>1.1</dc:identifier>
<dc:description>Summary of New Version</dc:description>
<dc:creator>mdiggory@gmail.com</creator>
<terms:created>2011-01-01::12:12:12Z...</terms:created>
<terms:isReplacedBy rdf:resource="hdl:1234.5/101"/>
</rdf:Description>
<rdf:Description rdf:about="hdl:1234.5/101">
<dc:description>Summary of New Version</dc:description>
<dc:creator>mdiggory@gmail.com</creator>
<terms:created>2011-01-01::12:12:12Z...</terms:created>
<dc:identifier>1.2</dc:identifier>
<terms:replaces rdf:resource="hdl:1234.5/100"/>
<terms:isReplacedBy rdf:resource="hdl:1234.5/102"/>
</rdf:Description>
<rdf:Description rdf:about="hdl:1234.5/102">
<dc:description>Summary of New Version</dc:description>
<dc:identifier>1.3</dc:identifier>
<dc:creator>mdiggory@gmail.com</creator>
<terms:created>2011-01-01::12:12:12Z...</terms:created>
<terms:replaces rdf:resource="hdl:1234.5/101"/>
<terms:isReplacedBy rdf:resource="hdl:1234.5/103"/>
</rdf:Description>
<rdf:Description rdf:about="hdl:1234.5/103">
<dc:identifier>1.4</dc:identifier>
<dc:description>Summary of New Version</dc:description>
<dc:creator>mdiggory@gmail.com</creator>
<terms:created>2011-01-01::12:12:12Z...</terms:created>
<terms:replaces rdf:resource="hdl:1234.5/102"/>
</rdf:Description>
</rdf:RDF>
</METS:xmlData>
</METS:mdWrap>
</METS:techMD>
</METS:amdSec> |
Utilize DC and DC TERMS where appropriate for time being.
http://dublincore.org/documents/2008/01/14/dcmi-terms/#terms-isVersionOfhttp://dublincore.org/documents/2008/01/14/dcmi-terms/#terms-hasVersionhttp://dublincore.org/documents/2008/01/14/dcmi-terms/#terms-isReplacedBy
we will decide on more fields, document in the wiki page.
Rendering to HTML
Task: Add Versioning DIV section to ItemView rendering the RDF admMeta section in the mets doc.
Actions in XMLUI
Task: Add Administrative Option in Item Edit View to create a new versioin
Task: New Version should go into WorkspaceItem table of whomever created it and be opened in the Submission workflow for the user to edit metadata and bitstreams.
Reviewer Workflow Step
Identify in REviewer Workflow Step how to address the new Item.
Curator Workflow Step
Identify on Curator Workflow Step will render that Item is an New Version.
Add To Archive
TBD, Should replacement of the previous version in the archive be determined by user? Examples:
- Withdraw Previous Item From Search and View
- Withdraw Previous Item For Search Only