Bug #6274

[API] [Workbench] Home project should be a real object (group with group_class="project"), not current_user.

Added by Tom Clegg about 4 years ago. Updated about 4 years ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
API
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
2.0

Description

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

Related issues

Related to Arvados - Bug #6234: [Workbench] Admins should be able to edit their own user records, and view other users' home projects" from titleResolved06/10/2015

History

#1 Updated by Tom Clegg about 4 years ago

  • Project changed from Arvados Private to Arvados
  • Description updated (diff)
  • Category set to API

Also available in: Atom PDF