[ 
https://jira.duraspace.org/browse/DS-1374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26799#comment-26799
 ] 

Tim Donohue commented on DS-1374:
---------------------------------

Had a good discussion with [~mdiggory] about this issue in IRC.

Essentially, it sounds like there's a few separate issues here:

[Issue #1:] Past item versions are currently only exported with called 
explicitly.  Suppose you have an Item "123/45" with old versions "123/45.1" and 
"123/45.2".  If you export "123/45" you just get an AIP representing the 
*latest* version.  But, you can export old versions by explicitly exporting 
"123/45.1" and "123/45.2" one by one.   Essentially, the problem here is that 
when exporting an AIP (and likely on import too), the current code does not 
traverse all versions and export each one automatically.  

[Issue #2:] The current model for storing versions in AIPs is to generate a 
*separate* AIP for each version of the Item. Suppose again you have an Item 
"123/45" with old versions "123/45.1" and "123/45.2".  To export all versions, 
you'd need a total of 3 AIPs (123-45.zip, 123-45.1.zip and 123-45.2.zip), one 
for each version.  Although this is simple, it can lead to "ballooning storage 
costs" as you version Items.  Since 3 AIPs are generated in the above example, 
each of the 3 AIPs must duplicate all content files within it.  So, if the size 
of the initial AIP is 100KB, after 10 versions, you'd be storing around 
10x100KB=~1MB of content, much of it actually duplicative in nature.   A few 
ways around this issue would be to either:
       (a) store AIPs as "unzipped" (so they could link to the same content 
files & avoid some content duplication), OR 
       (b) generate a single AIP which describes all versions of the Item 
(again that way you could avoid content file duplication)


In terms of how easy these would be to fix...off the top of my head, I think 
Issue #1 isn't too bad.  But, Issue #2 is more complex as it would require us 
to revisit the structure of AIPs in general & rework that code as necessary.

One other alternative which Mark came up with is to release 3.0 with the "Item 
Versioning" XMLUI Aspect as *DISABLED* by default.  This would allow users to 
choose if they want to enable Item Versioning or not.  We could provide a 
warning around the limitations of AIPs to handle item versions, and work on a 
better AIP + Item Versioning fix for 3.1 or 4.0.
                
> AIP Backup & Restore functionality does NOT backup/restore past versions of 
> Items
> ---------------------------------------------------------------------------------
>
>                 Key: DS-1374
>                 URL: https://jira.duraspace.org/browse/DS-1374
>             Project: DSpace
>          Issue Type: Bug
>          Components: DSpace API
>    Affects Versions: 3.0
>         Environment: 3.0-rc3 in any environment
>            Reporter: Tim Donohue
>            Assignee: Tim Donohue
>            Priority: Critical
>             Fix For: 3.0
>
>
> The DSpace AIP Backup & Restore functionality does not store all Item Version 
> information in AIPs.
> Instead, if you export a DSpace AIP for an item having several versions, only 
> the MOST RECENT version is actually exported to the AIP.  This means that 
> only the most recent version can be restored at any time, and all previous 
> versions are "lost".
> Essentially the DSpace AIP Backup & Restore is currently not fully compatible 
> with the new Item Versioning feature.  No actual errors are thrown when using 
> AIP Backup & Restore in DSpace 3.0, but you will lose all previous versions 
> of items whenever a restore/replace is performed.
> Relevant links in docs:
> * https://wiki.duraspace.org/display/DSDOC3x/AIP+Backup+and+Restore
> * https://wiki.duraspace.org/display/DSDOC3x/DSpace+AIP+Format
> * https://wiki.duraspace.org/display/DSDOC3x/Item+Level+Versioning
> Unfortunately, I'm not sure how easy this will be to fix/resolve.  It may 
> actually require modifications to the existing DSpace AIP Format, to ensure 
> it is able to capture Item version information.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to