Project

General

Profile

Collections as regular Arvados objects » History » Version 6

Peter Amstutz, 08/08/2014 11:19 AM

1 1 Peter Amstutz
h1. Collections as regular Arvados objects
2
3
* Collections are assigned regular UUIDs
4 5 Peter Amstutz
* Collections have a regular @owner_uuid@ instead
5 1 Peter Amstutz
* Manifest hash goes into the @portable_data_hash@ field
6 6 Peter Amstutz
* @manifest_text@ and @portable_data_hash@ can be edited
7
* Can access collections on API by uuid (returns regular record) or @portable_data_hash@ (returns record containing @uuid@, @portable_data_hash@ and @manifest_text@ with @uuid@==@portable_data_hash@)
8
** Setting/changing @manifest_text@ on its own updates @portable_data_hash@
9
** Setting/changing @portable_data_hash@ on its own fetches the manifest from Keep
10
** @manifest_text@ and @portable_data_hash@ have to match
11 1 Peter Amstutz
* Add mutable @name@, @description@, @properties@ fields
12
* Continue to use manifest text hash (@portable_data_hash@) for crunch
13
** Choosers set the value to the manifest hash, record the selected collection uuid on link_uuid
14 6 Peter Amstutz
** Task output continues to be a manifest fragment or manifest hash+token stored in Keep
15
** Crunch-job continues to set job output to manifest hash+token
16
** Crunch-job creates output collection with @owner_uuid@ as the user (which means it will show up in the "home" project when #3499 is merged)
17
* Pipeline runner is responsible for creating a collection in the target project and setting the name
18
** Add an @output_name@ field to the component description
19
* When user clicks on a link to a collection uuid, it should include the expected portable data hash in the URL
20
** If there is a mismatch, it should throw up a warning and possibly tell the user what changed
21
* Disallow content hashes in @head_uuid@ and @tail_uuid@ fields of links
22 4 Peter Amstutz
23 3 Peter Amstutz
h2. Migration
24
25
* Create collection objects from name links
26 6 Peter Amstutz
* For remaining collections, look for *can_manage* permission links and create collections assigned to the relevant user or group
27
* Any other collections will remain owned by administrator and will have to be assigned manually (?)