RedmineRoles » History » Version 19

Version 18 (Go MAEDA, 2016-04-03 10:13) → Version 19/27 (Go MAEDA, 2016-04-03 10:19)

h1. Roles & permissions

Roles lets you define the permissions that the members have on a [[RedmineProjects|project]]. Each member of a project has one or multiples Role(s) for the project. A user can have different roles for different projects.

You can create new roles or edit existing ones. You can delete a role only if nobody has this role on a project.

h2. Roles properties

* *Name*: display name of the role
* *Issues can be assigned to this role*: if unchecked, issues can not be assigned to members with this role on a project.
* *Issues visibility*: assuming that this role includes the ??View Issues?? permission, the following rules apply to the issues of the projects the user is tied to through it:
** _All issues_ : the user can see all issues.
** _All non private issues_: the user can see all issues which are not marked as private. This is the default.
** _Issues created by or assigned to the user_: the user can only see issues created by or assigned to her/him.

h2. Permissions

When editing a role, you can define its permissions by checking/unchecking the different actions.

|_. Permission|_. Description|
|\2. *_Project permissions_*|
|Create project|Allow non-admin users to create a root project
You can specify which role will be automatically given to a non-admin user who creates a project (see [[RedmineSettings#Projects]])|
|Edit project|Allow user to edit project properties|
|Select project modules|Allow user to enable/disable project modules (such as issues tracking, wiki, repository...)|
|Manage members|Allow user to add/remove project members or change the roles of existing members|
|Manage versions|Allow user to add/edit/delete project versions|
|Create subprojects|Allow user to add subprojects to the project|
|\2. *_Boards permissions_*|
|Manage boards|Allow user to add/edit/delete project forums|
|Post messages|Allow user to post new topics in forums|
|Edit messages|Allow user to edit any message and to remove any message attachments|
|Edit own messages|Allow user to edit its own messages only|
|Delete messages|Allow user to delete any topic or reply|
|Delete own messages|Allow user to delete its own topics or replies|
|\2. *_Documents permissions_*|
|Add documents|Allow user to add project documents|
|Edit documents|Allow user to edit project documents|
|Delete documents|Allow user to delete project documents|
|View documents|Allow user to view documents|
|\2. *_Files permissions_*|
|Manage files|Allow user to add/edit/delete project files under the Files section|
|View files|Allow user to view files|
|\2. *_Issue tracking_*|
|Manage issue categories|Allow user to add/edit/delete issue categories|
|View Issues|Allow user to view project issues|
|Add issues|Allow user to create new issues|
|Edit issues|Allow user to fully edit existing issues|
|Copy issues|Allow user to copy existing issues|
|Manage issue relations|Allow user to add/remove relations between issues|
|Manage subtasks|Allow user to add/remove subtasks to issues|
|Add notes|Allow user to add comments to existing issues|
|Edit notes|Allow user to edit any issue comment|
|Edit own notes|Allow user to edit its own comments only|
|Move issues|Allow user to move existing issues to another project|
|Delete issues|Allow user to delete issues|
|Manage public queries|Allow user to add/edit/delete issue queries that are visible by all users|
|Save queries|Allow user to save its own issue queries|
|View gantt chart|Allow user to view the gantt chart|
|View calendar|Allow user to view the calendar|
|View watchers list|Allow user to see who is watching an issue|
|Add watchers|Allow user to add other users as watchers of an issue|
|Delete watchers|Allow user to remove watchers of an issue|
|\2. *_News permissions_*|
|Manage news|Allow user to add/edit/delete project news|
|Comment news|Allow user to add comments to news|
|\2. *_Repository permissions_*|
|Manage repository|Allow user to configure the project repository|
|Browse repository|Allow user to browse and view the content of the project repository|
|View changesets|Allow user to view the changesets|
|Commit access|Used by Redmine.pm to give write access to the project repository
See [[Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl]]|
|\2. *_Time tracking permissions_*|
|Log spent time|Allow user to log time on the project|
|View spent time|Allow user to view the time logs on the project|
|Edit time logs|Allow user to edit any time log|
|Edit own time logs|Allow user to edit its own time logs only|
|Manage project activities|Allow user add/edit/delete activities|
|\2. *_Wiki permissions_*|
|Manage wiki|Allow user to create or delete the project wiki
Deleting a wiki is an *irreversible* operation, it deletes all pages, their history and all attached files!|
|Rename wiki pages|Allow user to rename existing wiki page or assign wiki pages to a parent page|
|Delete wiki pages|Allow user to delete wiki pages
Deleting a wiki page is an *irreversible* operation, the page and all its history are deleted!|
|View wiki|Allow user to view the wiki|
|Export wiki pages|Allow user to export wiki pages to various formats (pdf, html, ...)|
|View wiki history|Allow user to view older versions of the wiki pages, and diff between versions|
|Edit wiki pages|Allow user to edit unprotected wiki pages|
|Delete attachments|Allow user to delete existing wiki page attachments|
|Protect wiki pages|Allow user to lock/unlock wiki pages, and edit locked pages|

h2. System roles

There are two system roles in Redmine: 'Non member' and 'Anonymous'. They are internally used by Redmine and thus can not be deleted.

* *Non member*: this role lets you define the permissions that a registered user has on projects which he is not a member of.
* *Anonymous*: this role lets you define the permissions that anonymous users have on the projects.

Note that these two roles only apply to public projects since anonymous users and users who are not a member of a private project can not even see it.

As a consequence of the fact, that anonymous and non member roles can not be assigned to a specific user or group, but are assigned automatically, the permissions of these roles are global for a given Redmine installation. To be more concrete: You can create different developer-roles (reporter1,reporter2,...) with slightly different permissions to fit specific needs of specific projects. However: you cannot adapt anonymous and non member roles in a way, that non-members are allowed to create board-messages in one project, but are forbidden to do so in another project.

Some permissions can not be given to these roles. For example, the 'Manage members' permission can not be given to non member or anonymous users.