Project

General

Profile

Bug #6274

Updated by Tom Clegg almost 9 years ago

Implementation 
 * Add default_project_uuid attribute to users table. Must not be null. Must resolve to a group with group_class="project". 
 * Create a new default project for each new user. 
 * Each user must be the owner_uuid of its own default_project_uuid, in order for "[read-only] group admin" feature to keep working. 
 * Default owner_uuid for new objects is the current user's default_project_uuid, not the current user's uuid. 
 ** services/api/app/models/arvados_model.rb - general case restricts owner_uuid to a group uuid, not a user uuid 
 ** services/api/app/models/group.rb - exception to permit a user uuid as owner_uuid should be here 
 ** transparently change owner_uuid from current_user.uuid to current_user.default_project_uuid during model validation, in order to support old clients (but will any clients have problems when the owner_uuid is different from what they requested?). This should log a warning on the server side so we can monitor whether active clients have stopped relying on it. 
 ** migrate db by adding a default project for each user (system_user's default project should be system_group) 
 ** migrate user-owned objects to their respective default_project_uuids 
 ** various clients will need updating 

Back