We would like to open source a plugin we use at Ericsson to allow anyone to create
projects and enforce a project group structure (namespace). Let met explain how
this works and what this plugin does.
What we do is we grant "Create-project" global permissions to "Registered Users"
group and use this plugin enforce a project group structure. It restricts project
creation within this structure to project group owners only.
To start creating a project group structure, the user simply create a root
project, i.e. a project which inherits rights from "All-Projects". Ownership of
this root project, e.g. "some-organization" is given automatically to the user
who created it. From this point on, only the owners of the root project can create
child projects within that structure (some-organization/*).
We enforce the project group structure by preventing root project names from
containing slashes and child projects must start with their immediate parent name:
All-Projects
|--orgA
| |--orgA/projectA
| |--orgA/projectB
|--orgB
| |--orgB/project123
| |--subOrg
| |--orgB/subOrg/project456
Internally, we called this plugin "enforce-project-group". Please let me know if
there are any objections to creating this plugin repo, or its name.
Thanks
Hugo