[Dspace-devel] [DuraSpace JIRA] Updated: (DS-708) Deprecate & Remove old 'org.dspace.app.mets.METSExport' class, as it is obsolete

2010-12-02 Thread Tim Donohue (DuraSpace JIRA)

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

Tim Donohue updated DS-708:
---

Affects Version/s: 1.7.0
Fix Version/s: 1.8.0

> Deprecate & Remove old 'org.dspace.app.mets.METSExport' class, as it is 
> obsolete
> 
>
> Key: DS-708
> URL: https://jira.duraspace.org/browse/DS-708
> Project: DSpace
>  Issue Type: Code Task
>  Components: DSpace API, OAI-PMH
>Affects Versions: 1.7.0
>Reporter: Tim Donohue
>Assignee: Tim Donohue
> Fix For: 1.8.0
>
>
> With the improvements that have happened to the METS Ingest and Dissemination 
> packager classes in DSpace 1.7.0 (see DS-466), we should deprecate & remove 
> the old 'org.dspace.app.mets.METSExport' class, as it is now considered 
> obsolete.
> This older METSExport class is currently used in the following places:
> * OAI-PMH interface (by the org.dspace.app.oai.METSCrosswalk class)
> My proposal is to deprecate this class in DSpace 1.7.0, and then work to 
> remove & replace its usage within the OAI-PMH interface in the next major 
> version of DSpace (1.8.0).
> The replacement for METSExport is the following classes:
> * org.dspace.content.packager.DSpaceMETSDisseminator
> * org.dspace.content.packager.DSpaceMETSIngester

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Commented: (DS-613) Error Handling in the XMLUI interface after section expired

2010-12-02 Thread Robin Taylor (DuraSpace JIRA)

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

Robin Taylor commented on DS-613:
-

Hi Tim,

Tested the patch and it works a treat. It is possible for this error to be 
generated in other ways than the session timing out but I guess that would be 
the most common cause.

Cheers, Robin.

> Error Handling  in the XMLUI interface after section expired
> 
>
> Key: DS-613
> URL: https://jira.duraspace.org/browse/DS-613
> Project: DSpace
>  Issue Type: Improvement
>  Components: XMLUI
>Affects Versions: 1.6.0
> Environment: apache-tomcat-6.0.18
> jdk1.6.0_13
> Debian GNU Linux 5.0 
>Reporter: Antero Neto
>Assignee: Tim Donohue
>Priority: Major
> Fix For: 1.7.0
>
> Attachments: invalid-continuation.jpeg, 
> xmlui-invalid-continuation.patch
>
>
> When editing metadata  if the user is away long enough to the section expire, 
> the return is a cocoon "invalid continuation" error.
> See attached print.

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Created: (DS-772) AIP Restore process fails to consistently restore Item Mappings

2010-12-02 Thread Tim Donohue (DuraSpace JIRA)
AIP Restore process fails to consistently restore Item Mappings
---

 Key: DS-772
 URL: https://jira.duraspace.org/browse/DS-772
 Project: DSpace
  Issue Type: Bug
  Components: DSpace API
Affects Versions: 1.7.0
Reporter: Tim Donohue
Assignee: Tim Donohue
Priority: Major
 Fix For: 1.7.0
 Attachments: aip-item-mapping-fix.patch

Reported via Mark Wood & DuraCloud pilot partner testing:

In a full AIP restore (-r -a -f) it is possible to have a set of AIPs in which 
a Collection which maps an Item it does not own, is restored before the 
Collection which does own the Item.  In this case, the recursive restoration of 
the Item throws an exception, because the Item AIP refers to a Collection which 
does not (yet) exist.  
See https://wiki.duraspace.org/display/DSDOC/AIP+Backup+and+Restore for more 
info on running a full AIP restore.  This relates to DS-466.
 
I've done my own local testing of the problem as found by Mark Wood.  I was 
able to replicate this problem.  

I've found what looks to be a quick fix for this issue, which I will attach as 
a patch to this issue, and also work to commit to trunk in time for 1.7.0 RC2. 

 The fix is the following:
(1) When restoring a Collection AIP, try to restore all referenced items 
(whether owned or mapped).  If a mapped item is encountered that cannot be 
restored, throw an error (This is how things already worked, and remain to work)
(2) Provide a new 'skipIfParentMissing' flag which users can use to skip over 
Mapped items that throw errors from #1 above.  This essentially causes the 
error to instead be logged as a warning and the restore process continues
(3) Once the Parent Collection is created (for any mapped items that were 
skipped over), it will auto-restore the Item via the Item AIP.
(4) Whenever an Item is restored via its Item AIP, attempt to map itself to all 
Collections in which it should belong.  In this way, the Item AIP attempts to 
create any mappings that may have been missed in step #1 above.
(5) If an Item AIP attempts to restore a mapping to a Collection which doesn't 
yet exist, then skip over that mapping.  Once the Collection is created, it 
should create that appropriate mapping automatically.

Essentially, previously, we were only mapping in one direction (from Collection 
to reference Items).  Instead, we should be mapping in two directions 
(Collection-to-Item and Item-to-Collection), as we do not know whether the 
Collection or the Item will be created first.   Obviously, when mapping in two 
directions we don't want to accidentally create the same mapping twice -- so 
the code first checks if the mapping already exists.

Patch is attached (based on Trunk, r5906).  I'll also be committing to Trunk as 
I feel this is *very important* to get into 1.7.0RC2, and I've done a large 
amount of testing to ensure this fix doesn't cause any other problems in AIP 
restore process (it doesn't seem to -- the new code should only be called when 
item mappings are encountered)

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Updated: (DS-772) AIP Restore process fails to consistently restore Item Mappings

2010-12-02 Thread Tim Donohue (DuraSpace JIRA)

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

Tim Donohue updated DS-772:
---

Status: Open  (was: Received)

> AIP Restore process fails to consistently restore Item Mappings
> ---
>
> Key: DS-772
> URL: https://jira.duraspace.org/browse/DS-772
> Project: DSpace
>  Issue Type: Bug
>  Components: DSpace API
>Affects Versions: 1.7.0
>Reporter: Tim Donohue
>Assignee: Tim Donohue
>Priority: Major
> Fix For: 1.7.0
>
> Attachments: aip-item-mapping-fix.patch
>
>
> Reported via Mark Wood & DuraCloud pilot partner testing:
> In a full AIP restore (-r -a -f) it is possible to have a set of AIPs in 
> which a Collection which maps an Item it does not own, is restored before the 
> Collection which does own the Item.  In this case, the recursive restoration 
> of the Item throws an exception, because the Item AIP refers to a Collection 
> which does not (yet) exist.  
> See https://wiki.duraspace.org/display/DSDOC/AIP+Backup+and+Restore for more 
> info on running a full AIP restore.  This relates to DS-466.
>  
> I've done my own local testing of the problem as found by Mark Wood.  I was 
> able to replicate this problem.  
> I've found what looks to be a quick fix for this issue, which I will attach 
> as a patch to this issue, and also work to commit to trunk in time for 1.7.0 
> RC2. 
>  The fix is the following:
> (1) When restoring a Collection AIP, try to restore all referenced items 
> (whether owned or mapped).  If a mapped item is encountered that cannot be 
> restored, throw an error (This is how things already worked, and remain to 
> work)
> (2) Provide a new 'skipIfParentMissing' flag which users can use to skip over 
> Mapped items that throw errors from #1 above.  This essentially causes the 
> error to instead be logged as a warning and the restore process continues
> (3) Once the Parent Collection is created (for any mapped items that were 
> skipped over), it will auto-restore the Item via the Item AIP.
> (4) Whenever an Item is restored via its Item AIP, attempt to map itself to 
> all Collections in which it should belong.  In this way, the Item AIP 
> attempts to create any mappings that may have been missed in step #1 above.
> (5) If an Item AIP attempts to restore a mapping to a Collection which 
> doesn't yet exist, then skip over that mapping.  Once the Collection is 
> created, it should create that appropriate mapping automatically.
> Essentially, previously, we were only mapping in one direction (from 
> Collection to reference Items).  Instead, we should be mapping in two 
> directions (Collection-to-Item and Item-to-Collection), as we do not know 
> whether the Collection or the Item will be created first.   Obviously, when 
> mapping in two directions we don't want to accidentally create the same 
> mapping twice -- so the code first checks if the mapping already exists.
> Patch is attached (based on Trunk, r5906).  I'll also be committing to Trunk 
> as I feel this is *very important* to get into 1.7.0RC2, and I've done a 
> large amount of testing to ensure this fix doesn't cause any other problems 
> in AIP restore process (it doesn't seem to -- the new code should only be 
> called when item mappings are encountered)

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Resolved: (DS-613) Error Handling in the XMLUI interface after section expired

2010-12-02 Thread Tim Donohue (DuraSpace JIRA)

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

Tim Donohue resolved DS-613.


Resolution: Fixed

Resolving this issue for 1.7.0, as the above patch provides a quick fix.   I 
agree with Robin's comment that all Invalid Continuations are not necessarily 
caused by an expired session.  However this seems to be the most frequent cause 
in XMLUI, and it's obviously a more understandable message to DSpace end users. 
 We can always revisit this later on if we feel we can make more improvements 
to the error handling.

> Error Handling  in the XMLUI interface after section expired
> 
>
> Key: DS-613
> URL: https://jira.duraspace.org/browse/DS-613
> Project: DSpace
>  Issue Type: Improvement
>  Components: XMLUI
>Affects Versions: 1.6.0
> Environment: apache-tomcat-6.0.18
> jdk1.6.0_13
> Debian GNU Linux 5.0 
>Reporter: Antero Neto
>Assignee: Tim Donohue
>Priority: Major
> Fix For: 1.7.0
>
> Attachments: invalid-continuation.jpeg, 
> xmlui-invalid-continuation.patch
>
>
> When editing metadata  if the user is away long enough to the section expire, 
> the return is a cocoon "invalid continuation" error.
> See attached print.

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Commented: (DS-750) Cleanup display of Curation Admin UI to make more human readable/understandable

2010-12-02 Thread Tim Donohue (DuraSpace JIRA)

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

Tim Donohue commented on DS-750:


Just did some recent testing of the Trunk code. 

First, it looks like most of my major concerns around the 'profile formats' 
task (at least #1 and #3 above) are now fixed.  So, as far as the 'profile 
tasks' work is concerned, I think this is fixed properly, as long as we can get 
some better official documentation (in 
https://wiki.duraspace.org/display/DSDOC/DSpace+System+Documentation) about 
these tasks and the meaning of the results.  So, for example, we need to 
document what "(K)" and "(U)" mean when displayed next to an file (since those 
are not self-explanatory).

Second, I'm not sure if the results of the 'required metadata' task are being 
reported properly?   When I run that task on a Community or Collection (with 
many items), I only even receive the results for a single Item.  For example, I 
get a result like:

The task, requiredmetadata was completed with the status: Success.
* Results:
  Item: 123456789/6694 has all required fields

The "Results" part only ever lists a single item it seems?  This doesn't seem 
correct, unless I"m misunderstanding how it is supposed to work?

> Cleanup display of Curation Admin UI to make more human 
> readable/understandable
> ---
>
> Key: DS-750
> URL: https://jira.duraspace.org/browse/DS-750
> Project: DSpace
>  Issue Type: Improvement
>  Components: XMLUI
>Affects Versions: 1.7.0
>Reporter: Tim Donohue
>Assignee: Richard Rodgers
>
> The results from the Curation Admin UI are a bit confusing at times (and even 
> I'm having a bit of trouble understanding/reading them, despite knowing the 
> role of the Curation System).
> Here's an example of retrieving results from Curation Admin UI:
> * Login as Admin in XMLUI on http://demo.dspace.org/
> * Visit a Community with contents (e.g. 
> http://demo.dspace.org/xmlui/handle/10673/1)
> * Click "Edit Community" and visit the "Curate" tab.
> * Click "Perform" on "Profile Bitstream Formats"
> The results are returned as one long, unbroken string -- e.g.:
> "The task, profileformats was completed with the status: 0. Results: 11 (U) 
> Unknown data format 1 (K) Broadcase Wave Format 1 (K) Microsoft Powerpoint 2 
> (K) Graphics Interchange Format 1 (K) Microsoft Excel XML 1 (K) Microsoft 
> Excel"
> We may want to improve the readibility/understandability of these results by 
> doing the following:
> 1. Replace "status: 0" with a understandable string like "Success"
> 2. Explain that "(K)" = Known Format and "(U)" = Unknown.  Or leave it out 
> altogether, as the unknown data formats are already totaled together.
> 3. Return results in a bulleted list (or each entry on a separate line)
> We also may potentially want a paragraph/description for each of the 
> available Curation Tasks.  It's not always self-explanatory what a particular 
> task may be doing (and therefore, what the results actually mean). 
> I've sent these along to Richard Rodgers separately -- but, I wanted to track 
> these issues here.  Also feel free to add more comments on the Curation Admin 
> UI to this same issue.

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Updated: (DS-773) Reduce pressure on memory by ensuring that classes with a finalize method make their fields available for garbage collection at earliest possible oppo

2010-12-02 Thread Graham Triggs (DuraSpace JIRA)

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

Graham Triggs updated DS-773:
-

Status: Open  (was: Received)

> Reduce pressure on memory by ensuring that classes with a finalize method 
> make their fields available for garbage collection at earliest possible 
> opportunity
> -
>
> Key: DS-773
> URL: https://jira.duraspace.org/browse/DS-773
> Project: DSpace
>  Issue Type: Improvement
>  Components: DSpace API
>Reporter: Graham Triggs
>Assignee: Graham Triggs
>Priority: Major
> Fix For: 1.7.0
>
>
> There are a couple of classes in DSpace that have a finalize() method - most 
> notably Context().
> When those objects are discarded, any objects referenced by their fields can 
> not be garbage collected until the finalizer queue has processed it.
> By reducing the amount of values retained where possible (ie. by cleaning the 
> Context cache on a complete or abort), we can reduce the pressure on the 
> memory by allowing the objects to be garbage collected before the finalizer 
> thread has processed the referencing objects.

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Created: (DS-773) Reduce pressure on memory by ensuring that classes with a finalize method make their fields available for garbage collection at earliest possible oppo

2010-12-02 Thread Graham Triggs (DuraSpace JIRA)
Reduce pressure on memory by ensuring that classes with a finalize method make 
their fields available for garbage collection at earliest possible opportunity
-

 Key: DS-773
 URL: https://jira.duraspace.org/browse/DS-773
 Project: DSpace
  Issue Type: Improvement
  Components: DSpace API
Reporter: Graham Triggs
Assignee: Graham Triggs
Priority: Major
 Fix For: 1.7.0


There are a couple of classes in DSpace that have a finalize() method - most 
notably Context().

When those objects are discarded, any objects referenced by their fields can 
not be garbage collected until the finalizer queue has processed it.

By reducing the amount of values retained where possible (ie. by cleaning the 
Context cache on a complete or abort), we can reduce the pressure on the memory 
by allowing the objects to be garbage collected before the finalizer thread has 
processed the referencing objects.

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Resolved: (DS-773) Reduce pressure on memory by ensuring that classes with a finalize method make their fields available for garbage collection at earliest possible opp

2010-12-02 Thread Graham Triggs (DuraSpace JIRA)

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

Graham Triggs resolved DS-773.
--

Resolution: Fixed

> Reduce pressure on memory by ensuring that classes with a finalize method 
> make their fields available for garbage collection at earliest possible 
> opportunity
> -
>
> Key: DS-773
> URL: https://jira.duraspace.org/browse/DS-773
> Project: DSpace
>  Issue Type: Improvement
>  Components: DSpace API
>Reporter: Graham Triggs
>Assignee: Graham Triggs
>Priority: Major
> Fix For: 1.7.0
>
>
> There are a couple of classes in DSpace that have a finalize() method - most 
> notably Context().
> When those objects are discarded, any objects referenced by their fields can 
> not be garbage collected until the finalizer queue has processed it.
> By reducing the amount of values retained where possible (ie. by cleaning the 
> Context cache on a complete or abort), we can reduce the pressure on the 
> memory by allowing the objects to be garbage collected before the finalizer 
> thread has processed the referencing objects.

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


[Dspace-devel] [DuraSpace JIRA] Resolved: (DS-772) AIP Restore process fails to consistently restore Item Mappings

2010-12-02 Thread Tim Donohue (DuraSpace JIRA)

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

Tim Donohue resolved DS-772.


Resolution: Fixed

Committed fix to Trunk (r5916).  Also documented the new 'skipIfParentMissing' 
flag in 1.7 Docs at: 
https://wiki.duraspace.org/display/DSDOC/AIP+Backup+and+Restore

> AIP Restore process fails to consistently restore Item Mappings
> ---
>
> Key: DS-772
> URL: https://jira.duraspace.org/browse/DS-772
> Project: DSpace
>  Issue Type: Bug
>  Components: DSpace API
>Affects Versions: 1.7.0
>Reporter: Tim Donohue
>Assignee: Tim Donohue
>Priority: Major
> Fix For: 1.7.0
>
> Attachments: aip-item-mapping-fix.patch
>
>
> Reported via Mark Wood & DuraCloud pilot partner testing:
> In a full AIP restore (-r -a -f) it is possible to have a set of AIPs in 
> which a Collection which maps an Item it does not own, is restored before the 
> Collection which does own the Item.  In this case, the recursive restoration 
> of the Item throws an exception, because the Item AIP refers to a Collection 
> which does not (yet) exist.  
> See https://wiki.duraspace.org/display/DSDOC/AIP+Backup+and+Restore for more 
> info on running a full AIP restore.  This relates to DS-466.
>  
> I've done my own local testing of the problem as found by Mark Wood.  I was 
> able to replicate this problem.  
> I've found what looks to be a quick fix for this issue, which I will attach 
> as a patch to this issue, and also work to commit to trunk in time for 1.7.0 
> RC2. 
>  The fix is the following:
> (1) When restoring a Collection AIP, try to restore all referenced items 
> (whether owned or mapped).  If a mapped item is encountered that cannot be 
> restored, throw an error (This is how things already worked, and remain to 
> work)
> (2) Provide a new 'skipIfParentMissing' flag which users can use to skip over 
> Mapped items that throw errors from #1 above.  This essentially causes the 
> error to instead be logged as a warning and the restore process continues
> (3) Once the Parent Collection is created (for any mapped items that were 
> skipped over), it will auto-restore the Item via the Item AIP.
> (4) Whenever an Item is restored via its Item AIP, attempt to map itself to 
> all Collections in which it should belong.  In this way, the Item AIP 
> attempts to create any mappings that may have been missed in step #1 above.
> (5) If an Item AIP attempts to restore a mapping to a Collection which 
> doesn't yet exist, then skip over that mapping.  Once the Collection is 
> created, it should create that appropriate mapping automatically.
> Essentially, previously, we were only mapping in one direction (from 
> Collection to reference Items).  Instead, we should be mapping in two 
> directions (Collection-to-Item and Item-to-Collection), as we do not know 
> whether the Collection or the Item will be created first.   Obviously, when 
> mapping in two directions we don't want to accidentally create the same 
> mapping twice -- so the code first checks if the mapping already exists.
> Patch is attached (based on Trunk, r5906).  I'll also be committing to Trunk 
> as I feel this is *very important* to get into 1.7.0RC2, and I've done a 
> large amount of testing to ensure this fix doesn't cause any other problems 
> in AIP restore process (it doesn't seem to -- the new code should only be 
> called when item mappings are encountered)

-- 
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



--
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel