Project

General

Profile

Story #3336

Restrict MN.update() when obsoletedBy has already been set on obsolete pid

Added by Ben Leinfelder over 11 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Ben Leinfelder
Category:
-
Target version:
Start date:
2012-10-12
Due date:
2013-09-07
% Done:

100%

Story Points:
Sprint:

Description

Because SystemMetadata.obsoletedBy and SystemMetadata.obsolete are bi directional, we really only support a single revision chain (not a tree). But we should ensure that this chain cannot branched with an orphan chain resulting.

If the old revision has a pid in the obsoletedBy field, then an update to that pid should fail. Otherwise we will have orphaned the chain that started at that previous obsoletedBy pid.

first update:
B obsoletes A
A obsoletedBy B

after second update:
C obsoletes A
A obsoletedBy C

now B (and any newer versions from B) is orphaned.


Subtasks

Task #3337: Metacat MN should reject update() calls where obsoletedBy is already setClosedBen Leinfelder

Task #3338: GMN should reject update() calls where obsoletedBy is already setClosedRoger Dahl

History

#1 Updated by Dave Vieglais over 10 years ago

  • Due date set to 2013-09-07
  • Target version set to 2013.35-Block.5.1
  • Start date set to 2013-08-25

#2 Updated by Ben Leinfelder over 10 years ago

  • Status changed from New to Closed

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)