howto assign global rights
Global rights should be assignable somewhere.
Currently, all Permissions are bundled in packages called Roles. Roles are assigned to a User under the context of a Project.
It follows that to have a Permission, you need a Project.
Some rights however transcend single projects. Such as the right to 'add a project'.
When a user is not yet part of any project, there is currently no good way to assign him/her such rights.
There should therefore be some item in the administrative UI where non-project-related rights can be assigned.The administration UI for permissions is found here:
- /users/###/edit/memberships (aka. Admin->Users->[user]->Projects)
- /projects/###/settings/members (aka. Projects->[project]->Settings->Members)
To maximize reuse of the administration UI, the proposed item could be a non-project in the user's project list (first bullet above). It should have a static name such as "Global Rights", and would be a "non-project" in the sense that only role+user combis can be assigned to it, not issues etc.
The project list is in the process of gradually transforming into a project tree (see: subprojects), and given that rights usually flow downwards in such a tree, the non-project Global Rights item could be visually placed at the very top of the project tree, as a virtual root item that contain all the regular top-level projects.