[ 
https://jira.duraspace.org/browse/DS-751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Donohue updated DS-751:
---------------------------

    Status: Open  (was: Received)

Hi Mark,

My initial goal was to *only* export in_archive Items, as those Items are 
actually being managed by DSpace.
Unless you (or anyone else) can see a need or use-case to export NOT in_archive 
items, I think this is how it should likely work.  Though, we probably should 
double check to make sure this is documented properly (especially in the AIP 
documentation).

You are correct, the current code looks to be flawed.  Do you want to provide a 
fix, or shall I?

> Item marked NOT in_archive yields inconsistent METS packages
> ------------------------------------------------------------
>
>                 Key: DS-751
>                 URL: https://jira.duraspace.org/browse/DS-751
>             Project: DSpace
>          Issue Type: Bug
>          Components: DSpace API
>    Affects Versions: 1.7.0
>            Reporter: Mark H. Wood
>            Priority: Critical
>
> When packaging an object and its dependents (-a), the presence of items with 
> in_archive = false causes dissemination of item packages claiming parentage 
> by collections which do not claim them as children.  Ingestion of such a 
> package set crashes the packager with an UnsupportedOperationException.
> AbstractPackageDisseminator.disseminateAll() first calls disseminate() on the 
> current object at around line 85 and then recurses over its children.  In the 
> case of a Collection, it calls Collection.getAllItems() near line 112, which 
> returns all child items, in_archive or not.  For a METS package, disseminate 
> is defined in AbstractMetsDisseminator.  In 
> AbstractMetsDisseminator.makeManifest(), at around line 983, 
> Collection.getItems() is used to form the parent Collection's manifest.  This 
> yields only Items which are in_archive.  So we first export all child Items 
> with manifests pointing to the parent Collection, and then a Collection 
> claiming only a subset of those Items as children.  Ingestion of an unclaimed 
> child while restoring this set of packages is correctly diagnosed as an error 
> and the restoration fails.
> I am uncertain as to which was meant:  all children or only in_archive 
> children, but the manifest builder and the recursion must use the same one.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.duraspace.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to