Story #2840
Implement morpho to use Dataone API
100%
Description
Currently, Morpho uses Metacat API to store and query metadata and data packages. If morpho can use dataone API, it can use more resources to fulfil its tasks.
Subtasks
History
#1 Updated by Jing Tao over 12 years ago
- Target version set to Sprint-2012.29-Block.4.3
#2 Updated by Jing Tao over 12 years ago
- Assignee set to Jing Tao
#3 Updated by Jing Tao over 12 years ago
We divided the implementation into two phases:
Phase 1: Work with multiple MNs, but choose one as active MN for create(). Morpho still uses Metacat API to search
User selects 'Active' Member node from dropdown list in settings; list generated from Node service; or enter baseurl
If MN is metacat, use metacat API to search
** Metacat search API only returns metacat docids (scope.docid.rev) not the DataONE PIDs
** Issue: how to get ahold of the PID rather than the localID so get()/create()/update() can be called
If MN is not metacat, disable network search, only allow local open
For create
Create on the active MN, set authMN to the active node id
For update/delete
If a user has rights to call update/delete on the AuthNode, and a write permission on an object, they can update/delete on the authNode
-- 3 checks have to pass: userHasWrite on object, user has execute on service, and authMN is available for object
If authMN is not available, don't do update()
Phase 2: Use dataone API to search
Some issues need to be addressed:
Will Morpho search CN, MN or both? If search MN, we need an optional search API for MN.
If we only search CN, we need to deal with the variable sync lag times on CNs
Need a search mechanism to include metadata fields in CN/MN
#4 Updated by Chris Jones about 12 years ago
- Milestone changed from CCI-1.0.0 to CCI-1.1
- Status changed from New to In Progress
- Target version changed from Sprint-2012.29-Block.4.3 to Sprint-2012.37-Block.5.3
#5 Updated by Ben Leinfelder about 12 years ago
- Assignee changed from Jing Tao to Ben Leinfelder
#6 Updated by Chris Jones about 12 years ago
- Milestone changed from CCI-1.1 to None
#7 Updated by Dave Vieglais about 12 years ago
- Due date changed from 2012-09-22 to 2012-10-27
- Target version changed from Sprint-2012.37-Block.5.3 to Sprint-2012.41-Block.6.1
#8 Updated by Ben Leinfelder about 12 years ago
- Target version changed from Sprint-2012.41-Block.6.1 to Sprint-2012.44-Block.6.2
- Due date changed from 2012-10-27 to 2012-11-10
#9 Updated by Chris Jones almost 12 years ago
- Due date changed from 2012-11-10 to 2013-01-05
- Target version changed from Sprint-2012.44-Block.6.2 to Sprint-2012.50-Block.6.4
#10 Updated by Ben Leinfelder over 11 years ago
- Due date changed from 2013-01-05 to 2013-03-16
- Target version changed from Sprint-2012.50-Block.6.4 to 2013.10-Block.2.1
#11 Updated by Ben Leinfelder over 11 years ago
- Status changed from In Progress to Closed