Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the GSoC project to address versioning, we made an effort to optimize on the above situation and emplyed the following strategy for the production of a New version of a DSpace Item

DSpace Item Objects:

DSpace Bundle Objects:

For every new version of an Item A Bundle will be created and the Bundle will link to all the preexisting bitstreams for the original Item. This means that Bitstreams may be associated with more than one Item by being linked by Bundle. This may give rise to unexpected behavior in some of the DSpaceObject Code that retrieves the Parent Item from the Bitstream

DSpace Bitstream Objects:

Business Model

Versioning Service

Identifier Service

Storage Considerations

  • Should Versions and VersionHistories maybe be stored in separate tables from Items considered part of repository?
  • Version and VersionHistory may not be stored in Metadata, but instead calculated and added as additional metadata in the item?
  • Will previous versions of items be represented separately from the latest version in the Item table? This will be required for methods based on finding all items to be indexed, batch exported, updated by MediaFilter, ...
    • Using a separate column: latestVersion?
    • Using the in_archive column?

...

Administrative Interface possibilities

...

With a full feature versioning capability on Items, we may possibly be able to support restoration of Item Versions through an interface such as this WIKI page example interface.

//RYAN NOTE: Restoration of versions is essentially the same as changing where the "current version" identifier points. We don't need a UI for doing this.//

Versioning an individual Bitstream on an Item

Versioning individual Bitstreams can be comparable to versioning attachements to a wiki.

Further Scenarios

  • Deleting an Item from the Repository
  • Moving and Item Between Collections
  • Mapping an Item to another collection

...

Versioning Interaction with existing DSpace Systems

1. Where does Versioning detail need to be exposed outside of DSpace (I.E. OAI, Bagit, Etc.)
1. ...

Start a new version

  • Versioning a new Item will be anOption on the "Context Menu".
  • Action will Create a New Item and place it into the Submission Workflow.
  • In Navigation.java for Item Versioning we will introduce the following new  new  
    Code Block
    context.addItem().addXref(contextPath+"/admin/newversion?itemID="+item.getID(), T_context_version_item);

...