I'm looking for a part-time remote job.

Hire me


I'm the author of:

Mastering Redmine is a comprehensive guide with tips, tricks and best practices, and an easy-to-learn structure.

Check the book's project or

Buy the book

Social pages of the book:

By buying this book you also donate to Redmine (see this page).


Follow me:

Role shift plugin

The Role Shift plugin for Redmine and ChiliProject transparently replaces role’s permissions with permissions of another role. Visually shifted role remains the same. This way the plugin makes it possible to configure roles at the project level.

Basic roles should be more strict than their shifts! Otherwise information disclosure may occur... For example:
  • If on upgrade of Redmine/ChiliProject or other plugin or on other plugin installation the Role shift plugin stops working Redmine/ChiliProject will use basic roles ignoring shifts!
  • Third party tools like Redmine.pm will ignore shifts and use basic roles!

Usage

New Manage Role Shifts permission

The Role Shift plugin adds new project permission “Manage role shifts”. This pemission should be enabled for roles which you want to control role shifts. By default only admins can manage project role shifts.

You also need to enable the “Role Shift” module either for all projects or for projects you want to configure.

If you have “Manage role shifts” permission you will see new “Role shifts” tab in project settings:

Role Shifts tab in project settings

Under this tab you can add, edit and remove role shifts for the project.

For creating a role shift you need to have a role permissions of which will be used to replace permissions of basic role. It is a good idea to create a special role for this.

If you want to make some of your projects more open:

  • Create less strict (more open) replacement roles;
  • Shift default project’s roles with replacement roles you have just created.

If you want to close access to some projects:

  • Create copies of roles you want to replace;
  • Change original roles to what you need (this will apply to all projects);
  • Shift original roles with copies you have created in all other projects.
The plugin will still work fine if your shift roles will be more restrictive... But you risk using the plugin this way! While it should not happen if this plugin stopped working your projects would use basic roles that is more open ones! You have been warned!

Installation

  • For Redmine 2.x.x and above:
    • Copy role_shift directory to #{RAILS_ROOT}/plugins.
    • Run: rake redmine:plugins:migrate RAILS_ENV=production.
  • For older Redmine and ChiliProject:
    • Copy role_shift directory to #{RAILS_ROOT}/vendor/plugins.
    • Run: rake db:migrate:plugins RAILS_ENV=production.
  • Restart Redmine/ChiliProject.
  • Optionally grant “Manage role shifts” permission to project managing roles.
  • Optionally enable “Role shifts” module for projects.

ManageRoleShifts.png View - New "Manage Role Shifts" permission (8.3 KB) Andriy Lesyuk, 07 Apr 2012 22:46

RoleShiftsSettings.png View - "Role Shifts" tab in project settings (29.4 KB) Andriy Lesyuk, 07 Apr 2012 22:46

Terms of use | Privacy policy