Project

General

Profile

Feature #14874

Updated by Tom Clegg over 5 years ago

This feature enables a site to use a collection properties entry for tracking ownership/responsibility for file _data_ found in collections ("who was responsible for uploading these files to Arvados?") even after the collections are modified and copied/moved from one project to another. 

 The feature will be activated by configuring two new API behaviors. 

 <pre><code class="yaml"> 
   collection_properties: special_properties: 
     responsible_person_uuid: {function: {builtin: original_owner, protected: true} 
     foo_bar: {value: baz, protected: false} 
 </code></pre> 

 When creating a new collection, if the caller has not provided values for these keys in the properties hash, they are automatically populated with the UUID of the user who owns [the parent of …] the containing project. 

 When updating a collection, a protected entry in the properties hash cannot be changed by a non-admin user, even the collection's owner. Attempting to do so results in a 403 error. 

 The default is the empty set (no special behavior). 

 Supporting this, we should provide some example admin scripts: 
 * List UUIDs/names of collections with no responsible_person_uuid property value 
 * Update the responsible_person_uuid property from nil to X on all collections in the project hierarchy rooted at P, where P is a user UUID or a group UUID. 
 * Update the responsible_person_uuid property from X to Y on all collections where it is X. 

 We should also confirm that Workbench/Workbench2 preserve the properties hash when copying a collection. 

Back