Feature #14874
Updated by Tom Clegg about 6 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"> initial_properties: responsible_person_uuid: original_owner </code></pre> assign_initial_owner_to_property: responsible_person_uuid</code></pre> When creating a new collection, if the caller has not provided a value for this key in the properties hash, it is automatically populated with 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 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 array (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.