Project

General

Profile

Feature #14874

Updated by Tom Clegg about 5 years ago

This feature enables a site field is intended to use a collection properties entry for support easier tracking of 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 In general, the rules about when this field can be activated by configuring two new API behaviors. updated might be configurable. 

 <pre><code class="yaml">    assign_initial_owner_to_property: responsible_person_uuid</code></pre> 

 In the specific case we are looking to support: 
 * When creating a new collection, if the caller has not provided a value for this key in the properties hash, it “data owner” is automatically populated with set to the UUID of the user who owns [the parent of …] the containing project. 

 
 * The default config value is nil (no special behavior). 

 <pre><code class="yaml">    protected_properties: [responsible_person_uuid]</code></pre> 

 When updating a collection, the given entries in the properties hash “data owner” field cannot be changed by users. 
 * When copying a non-admin user, even collection, clients should copy the collection's owner. Attempting to do so results in a 403 error. 

 The default is “data owner” field as well, rather than using the empty array (no special behavior). 

 Supporting this, we should provide some example admin scripts: owner of the destination project. 
 * List UUIDs/names of The field must be filterable (“list all collections with no responsible_person_uuid property value data owner = X”). 
 * Update the responsible_person_uuid property from nil to X on all collections in the project hierarchy rooted at P, where P A bulk-update procedure is a user UUID or a group UUID. 
 * Update the responsible_person_uuid property needed (“update data owner from X to Y on in all collections where it is X. 

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

Back