Pods iteration plan
Suggestion for iteration plan for the organizations side of Pods. We'll merge changes throughout but they'll be behind a feature flag until such time that they provide a complete and coherent enough user experience before we enable it on production for all users:
- Create a new organization model that contains groups
class Organization < ApplicationRecord; has_many :groups end- Will not inherit from Namespace for now
- TBD: It also
has_many :usersbut we want to explore- We still have a product question:
- How important is it for users to be owned by the organization owner (eg. resetting passwords, deleting their entire profile)? We will want to know what is the best way to model the relationship between organizations and users.
- We still have a product question:
- Introduce some isolation behaviour to organizations such that at least one feature cannot work between 2 organizations (this only applies to groups that have been added to an organization)
- Possible first example will be group group sharing
/organizations/bigcompany=> Can't add the/gitlab-orgas a member of any of my projects or groups - Objective is to show user experience of isolation
- Possible first example will be group group sharing
- Build organization level dashboard pages to replace
/dashboard => /organizations/bigcompany/dashboard/dashboard/todos => /organizations/bigcompany/dashboard/todosetc. - Tooling to prevent GitLab developers from querying group_group_links table across multiple organizations with allowlist of existing violations
- Objective is to show how development in GitLab will change with isolation
- Extend and hopefully generalize the concept of isolation
This initial plan makes sense when framed as "bringing the self-managed experience to GitLab.com". Basically imagining that creating a new organization model is like creating your own self-managed instance where there it is all isolated from the rest of GitLab.com.
Open Questions
- How important is it for users to be owned by the organization owner (eg. resetting passwords, deleting their entire profile)? We will want to know what is the best way to model the relationship between organizations and users.
Edited by Christina Lohr