Organizations for Cells 1.0 Phase 7
In iteration 1, we introduce the concept of an Organization as a way to group top-level Groups together. Support for Organizations does not require any Cells work, but having them will make all subsequent iterations of Cells simpler. The goal of iteration 1 will be to generate a prototype that can be used by GitLab teams to test basic functionality within an Organization. The prototype contains the following functionality:
- [x] A new Organization can be created.
- [x] The Organization contains a name, ID, description and avatar.
- [x] The creator of the Organization is assigned as the Organization Owner.
- [x] Multiple Organization Owners can be assigned.
- [x] The Organization Owner can add new users by inviting them to a group or project in the Organization.
- [x] Groups can be created in an Organization. Groups are listed in the Groups overview. Every Organization User can access the Groups overview and see the Groups they have access to. (Try: https://gitlab.com/-/organizations/default/groups_and_projects with the feature flag enabled)
- [x] Projects can be created in a Group. Projects are listed in the Projects overview. Every Organization User can access the Projects overview and see the Projects they have access to. (Try: https://gitlab.com/-/organizations/default/groups_and_projects with the feature flag enabled)
- [x] Enterprise Users are still managed by top-level Groups.
- [x] Organization Owners can access the Activity page for the Organization.
- [x] Users are listed in the User overview.
- [x] The Organization URL path can be changed.
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.
This initial plan makes sense when framed as "bringing the self-managed experience to GitLab.com". Basically imagining that creating a new Organization is like creating your own self-managed instance where it is all isolated from the rest of GitLab.com.
## Open Questions
1. 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. The original pods plans insisted on users being global and shared so that they can access many organizations and without that requirement it does give different options.
epic