Managing Roles

Managing roles within Slate, like managing users, can be as trivial or as detailed as you want it to be. Managing roles goes hand-in-hand with managing users. In managing roles you create a title for a role and the grant access to parts of the system for that role. In managing users you can then assign a role to a user thereby controlling a users access to the system. Having roles for users other than the site admin is REQUIRED. By default any user assigned to your site other then the site admin has extremely limited (e.g. almost none existant) abilities to manage content on your site. To learn more about assigning roles to users see the managing users section of the wiki.

HOW-TO: Create a Role
HOW-TO: Manage/Edit a Role
HOW-TO: Delete a Role

Tip: We strongly encourage you to create roles per module rather then trying to create roles that bridge multiple modules. See the example below for a good implementation methodology.

Example Implementation of Roles
An example implementation of roles within Slate follows:

Assume that your site is set-up with the following top-level directory structure:

  • Home
  • About Us
  • News Releases
  • Documents

Now assume you have the following users with their corresponding job activities:

  • Bob is the site admin and communications director
  • Joe is an intern who posts stories to the News Releases directory of Pages. Joe shouldn't have the ability to edit any pages in any other directory on the site
  • Sally uploads and posts Excel sheets via the Resources module and needs to edit pages in the Documents directory. In case Joe is out she also needs access to the News Release directory
  • Neither Joe nor Sally should be able to publish new pages in the News Release directory without Bob reviewing the pages first.

The roles that Bob, as the site admin, might want to set-up are:

  • To allow Joe and Sally to create and edit News Releases Bob creates the role of NewsReleaseEditor. He purposefully doesn't give them the ability to publish these pages so he can review them.
  • To allow Sally to create and edit pages in the Documents directory Bob creates the role of DocumentsEditor. He gives Sally the ability to publish these pages.
  • To allow Sally to upload the Excel sheets Bob creates the role of ResourceUploader

Note how these roles are based on the module that each user will interact with and the permissions assigned to each role only affect one module at a time. This is the easiest way to manage your roles and will lessen growing pains in the future if you ever need to add more users and roles.

But Bob has two more steps before he's done. On the Users panel he needs to assign the roles to each user. Joe would get the role of NewsReleaseEditor. Sally would get NewsReleaseEditor, DocumentsEditor AND ResourceUploader. His last step is in the Pages module where he needs to set the properties for each of the affected directories to reflect the appropriate role. In the case of News Release directory Bob has to assign the role of NewsReleaseEditor. For the Documents folder he would assign DocumentsEditor. ResourceUploader does not have to be assigned because that takes affect automatically.

Page Last Modified: 2007-02-10