{"action":"created","issue":{"url":"https://api.github.com/repos/ucalgary/ucalgary_roles/issues/2","labels_url":"https://api.github.com/repos/ucalgary/ucalgary_roles/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/ucalgary/ucalgary_roles/issues/2/comments","events_url":"https://api.github.com/repos/ucalgary/ucalgary_roles/issues/2/events","html_url":"https://github.com/ucalgary/ucalgary_roles/issues/2","id":103113778,"number":2,"title":"At what point are permissions and roles not included in the ucalgary_roles module?","user":{"login":"dmcb","id":1037133,"avatar_url":"https://avatars.githubusercontent.com/u/1037133?v=3","gravatar_id":"","url":"https://api.github.com/users/dmcb","html_url":"https://github.com/dmcb","followers_url":"https://api.github.com/users/dmcb/followers","following_url":"https://api.github.com/users/dmcb/following{/other_user}","gists_url":"https://api.github.com/users/dmcb/gists{/gist_id}","starred_url":"https://api.github.com/users/dmcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmcb/subscriptions","organizations_url":"https://api.github.com/users/dmcb/orgs","repos_url":"https://api.github.com/users/dmcb/repos","events_url":"https://api.github.com/users/dmcb/events{/privacy}","received_events_url":"https://api.github.com/users/dmcb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-25T20:49:36Z","updated_at":"2015-08-25T20:59:26Z","closed_at":null,"body":"Right now the ucalgary_roles module encompasses all roles and permissions used on our environment. As we add new features, should the ucalgary_roles module add permissions for those features, or should the feature provide it? Where should roles be provided? How can we keep modules modular but not add extra roles for each module?"},"comment":{"url":"https://api.github.com/repos/ucalgary/ucalgary_roles/issues/comments/134740264","html_url":"https://github.com/ucalgary/ucalgary_roles/issues/2#issuecomment-134740264","issue_url":"https://api.github.com/repos/ucalgary/ucalgary_roles/issues/2","id":134740264,"user":{"login":"dmcb","id":1037133,"avatar_url":"https://avatars.githubusercontent.com/u/1037133?v=3","gravatar_id":"","url":"https://api.github.com/users/dmcb","html_url":"https://github.com/dmcb","followers_url":"https://api.github.com/users/dmcb/followers","following_url":"https://api.github.com/users/dmcb/following{/other_user}","gists_url":"https://api.github.com/users/dmcb/gists{/gist_id}","starred_url":"https://api.github.com/users/dmcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmcb/subscriptions","organizations_url":"https://api.github.com/users/dmcb/orgs","repos_url":"https://api.github.com/users/dmcb/repos","events_url":"https://api.github.com/users/dmcb/events{/privacy}","received_events_url":"https://api.github.com/users/dmcb/received_events","type":"User","site_admin":false},"created_at":"2015-08-25T20:59:26Z","updated_at":"2015-08-25T20:59:26Z","body":"Some strategies:\r\n1. Roles will be kept quite general and provided in ucalgary_roles. Only roles that are truly specific to a feature (say webform results viewer), should be included in that module.\r\n2. The module will provide all permissions affecting that module BUT include an install hook to add the roles those permissions touch if they are missing so that the module can be installed on an environment different than ours and work as intended.\r\n3. ucalgary_roles uses roles_assign to ensure admins can change user roles but not permissions of those roles. Any module that does need to provide its own role would need to modify that roles_assign variable, this means that an install hook needs to exist in that module that gets the roleassign_roles variable, adds the new role, and sets roleassign_roles. Also needs an uninstall hook to clean itself up."}}