Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

DSpace Item Level Versioning Support

Table of Contents

Info
titleNewer information available

This page contains an initial requirements analysis for the Item Level Versioning Support, contributed to DSpace 3.0. Refer to the official DSpace 3 documentation for the most up to date information on Item Level Versioning.

Introduction

DSpace Item Level Versioning Support is a funded open source activity to bring work done by NESCent and @mire into the DSpace 3.0 Codebase.  Additional partners have signed onto this activity to assure that resources are available to drive Item Versioning Support forward and make it available to the larger DSpace community in the next release.

...

Key Stakeholders involved with Item Versioning Support:

  • Mark Diggory - @mire
  • Holly Miller - MBL
  • Diane Rielinger - MBL
  • Lisa Raymond - WHOI 
  • Ryan Scherle - NESCent / Dryad

...

Edit Item and Version Management

...

\[TODO\]

Technical Requirements and Existing Implementation

...

The versioning support in Dryad is based on replicating DSpace Item, MetadataValue and Bundle Records, creating an identical version of all Metadata and Bitstream relationships. The new version of the Item "conserves" “conserves” Bitstream Contents by reusing references to the persisted Bitstreams across individual Item Revisions. 

...

The Versioning Service will rely on a generica generic IdentifierService that is described below for minting and registering any identifiers that are required to track the revision history of the Items.

Dryad Example: Version 1Version 2 of same document (see versions listed at bottom of page)

Code: Google Code

Code Block
public interface VersioningService {

    Version createNewVersion(Context c, int itemId);

    Version createNewVersion(Context c, int itemId, String summary);

    void removeVersion(Context c, int versionID);

    void removeVersion(Context c, Item item);

    Version getVersion(Context c, int versionID);

    Version restoreVersion(Context c, int versionID);

    Version restoreVersion(Context c, int versionID, String summary);

    VersionHistory findVersionHistory(Context c, int itemId);

    Version updateVersion(Context c, int itemId, String summary);

    Version getVersion(Context c, Item item);

}

...