Story #312
Identifier generation and reservation
100%
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
History
#1 Updated by Matthew Jones almost 15 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 about 14 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 almost 14 years ago
- Position set to 1
- Target version set to Sprint-2011.09-Block.2
#4 Updated by Dave Vieglais almost 14 years ago
- Position set to 129
- Position deleted (
43) - Target version deleted (
Sprint-2011.09-Block.2)
#5 Updated by Robert Waltz almost 14 years ago
- Milestone deleted (
CCI-1.0)
Should be PID instead of GUID
#6 Updated by Dave Vieglais over 13 years ago
- Position set to 2
- Position deleted (
148) - Target version set to Sprint-2011.19-Block.3
#7 Updated by Dave Vieglais over 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 over 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 over 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 over 13 years ago
- Subject changed from add new CN.reserveGUID() method to add new CNCore.reserveIdentifier() method
#11 Updated by Ben Leinfelder over 13 years ago
- Assignee set to Ben Leinfelder
#12 Updated by Dave Vieglais over 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 13 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 13 years ago
- Position deleted (
36) - Position set to 1
- Target version deleted (
Sprint-2011.26-Block.4)
#15 Updated by Dave Vieglais over 13 years ago
- Position deleted (
23) - Position set to 5
#16 Updated by Dave Vieglais about 13 years ago
- Target version set to Sprint-2011.41-Block.5
- Position deleted (
51) - Position set to 37
#17 Updated by Ben Leinfelder about 13 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 about 13 years ago
- Target version deleted (
Sprint-2011.43-Block.6) - Position set to 1
- Position deleted (
12)
#19 Updated by Dave Vieglais about 13 years ago
- Target version set to Sprint-2011.46-Block.6
- Position set to 17
- Position deleted (
28)
#20 Updated by Ben Leinfelder about 13 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 about 13 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 about 13 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 about 13 years ago
- Position deleted (
1) - Position set to 328
#24 Updated by Dave Vieglais about 13 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 almost 13 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 almost 13 years ago
- Status changed from New to Closed
All tasks completed in story.