Project

General

Profile

Story #312

Identifier generation and reservation

Added by Matthew Jones about 14 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Ben Leinfelder
Category:
d1_cn_service
Start date:
2011-05-31
Due date:
% Done:

100%

Story Points:
Sprint:

Description

Clients may need a mechanism to generate GUIDs before they build various types of documents in which the GUIDs are embedded, and they need to be sure these GUIDs will not be used before they are inserted. Add to the CN architecture a new method:

reserveIdentifier(scope?, format?) -> GUID
format = UUID, DOI, Handle, etc

Be sure that only the client reserving the GUID can use it after it has been reserved (which might be hard).


Subtasks

Task #1597: Stub out CNRead.reserveIdentifierClosedNicholas Dexter

Task #1598: Design replicated store for reserved identifiersClosedBen Leinfelder

Task #1599: Generate pid when not provided in CNCore.generateIdentifier ClosedMatthew Jones

Task #1679: Define and implement mechanism for checking if an ID is reservedClosedBen Leinfelder

Task #1680: create CNCore.hasReservation(session, pid)ClosedBen Leinfelder

Task #2232: Check equivalent identities when making/checking reservationsClosedBen Leinfelder

Task #2233: reserveIdentifier should use MMP file for the input {pid} paramClosedBen Leinfelder

Task #2243: hasReservation: use new SubjectInfo parameterClosedBen Leinfelder

Task #2247: use Subject as the hasReservation paramClosedBen Leinfelder

History

#1 Updated by Matthew Jones about 14 years ago

I defined the reserveId() format for the CN service and added it to CN_APIs.txt. Clients that reserve GUIDs must use the existing session to utilize the GUID, which could have potential ramifications on denial of service and other issues we should consider. The alternative is to reserve it from any session from the logged-in user. The concept of a reserved ID can't be tracked without identifying who is reserving it somehow.

Need to modify CN and MN crud ops to throw an exception if someone tries to use a reserved API who didn't reserve it.

#2 Updated by Matthew Jones over 13 years ago

  • Tracker changed from Feature to Story
  • Category changed from Documentation to d1_cn_service
  • Assignee deleted (Matthew Jones)
  • Start date set to 2010-10-06
  • Milestone set to CCI-1.0

#3 Updated by Dave Vieglais about 13 years ago

  • Position set to 1
  • Target version set to Sprint-2011.09-Block.2

#4 Updated by Dave Vieglais about 13 years ago

  • Position set to 129
  • Position deleted (43)
  • Target version deleted (Sprint-2011.09-Block.2)

#5 Updated by Robert Waltz about 13 years ago

  • Milestone deleted (CCI-1.0)

Should be PID instead of GUID

#6 Updated by Dave Vieglais almost 13 years ago

  • Position set to 2
  • Position deleted (148)
  • Target version set to Sprint-2011.19-Block.3

#7 Updated by Dave Vieglais almost 13 years ago

  • Position changed from 1 to 193
  • Target version changed from Sprint-2011.19-Block.3 to Sprint-2011.20-Block.3
  • Position deleted (13)
  • Position set to 1

#8 Updated by Dave Vieglais almost 13 years ago

  • Target version changed from Sprint-2011.20-Block.3 to Sprint-2011.22-Block.3
  • Position deleted (195)
  • Position set to 1

#9 Updated by Dave Vieglais almost 13 years ago

  • Position deleted (11)
  • Target version changed from Sprint-2011.22-Block.3 to Sprint-2011.23-Block.3
  • Position set to 8

#10 Updated by Ben Leinfelder almost 13 years ago

  • Subject changed from add new CN.reserveGUID() method to add new CNCore.reserveIdentifier() method

#11 Updated by Ben Leinfelder almost 13 years ago

  • Assignee set to Ben Leinfelder

#12 Updated by Dave Vieglais almost 13 years ago

  • Position deleted (23)
  • Position set to 12
  • Target version changed from Sprint-2011.23-Block.3 to Sprint-2011.26-Block.4

#13 Updated by Ben Leinfelder over 12 years ago

  • Subject changed from add new CNCore.reserveIdentifier() method to Identifier generation and reservation
  • Milestone set to CCI-0.6.2

#14 Updated by Dave Vieglais over 12 years ago

  • Position deleted (36)
  • Position set to 1
  • Target version deleted (Sprint-2011.26-Block.4)

#15 Updated by Dave Vieglais over 12 years ago

  • Position deleted (23)
  • Position set to 5

#16 Updated by Dave Vieglais over 12 years ago

  • Target version set to Sprint-2011.41-Block.5
  • Position deleted (51)
  • Position set to 37

#17 Updated by Ben Leinfelder over 12 years ago

  • Target version changed from Sprint-2011.41-Block.5 to Sprint-2011.43-Block.6
  • Position set to 2
  • Position deleted (45)

#18 Updated by Dave Vieglais over 12 years ago

  • Target version deleted (Sprint-2011.43-Block.6)
  • Position set to 1
  • Position deleted (12)

#19 Updated by Dave Vieglais over 12 years ago

  • Target version set to Sprint-2011.46-Block.6
  • Position set to 17
  • Position deleted (28)

#20 Updated by Ben Leinfelder over 12 years ago

Current docs indicate a separate method for generating IDs: http://mule1.dataone.org/ArchitectureDocs-current/apis/CN_APIs.html#CNCore.generateIdentifier
I think minting DOIs was considered against EZID's best interests -- MNs should probably be responsible for this. But it seems we keep going back and forth on this.

#21 Updated by Dave Vieglais over 12 years ago

  • Target version changed from Sprint-2011.46-Block.6 to Sprint-2011.48-Block.6
  • Position deleted (25)
  • Position changed from 1 to 318
  • Position set to 1

#22 Updated by Dave Vieglais over 12 years ago

  • Position deleted (321)
  • Position set to 1
  • Target version changed from Sprint-2011.48-Block.6 to Sprint-2011.49-Block.6

#23 Updated by Dave Vieglais over 12 years ago

  • Position deleted (1)
  • Position set to 328

#24 Updated by Dave Vieglais over 12 years ago

  • Target version changed from Sprint-2011.49-Block.6 to Sprint-2012.01-Block.1.1
  • Position set to 1
  • Position deleted (327)

#25 Updated by Matthew Jones about 12 years ago

  • Position set to 4
  • Position deleted (54)
  • Target version changed from Sprint-2012.01-Block.1.1 to Sprint-2012.03-Block.1.2

#26 Updated by Matthew Jones about 12 years ago

  • Status changed from New to Closed

All tasks completed in story.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)