Sistemas de Permissões e
Resolução de Conflitos do Moodle 1.9


Contextos

Há 4 contextos aninhados no Moodle (com nomenclatura já ajustada para a realidade da UFSC):

  1. Sistema (o Moodle como um todo);
  2. Cursos UFSC (Categorias de Curso no Moodle);
  3. Disciplinas/Turmas (Cursos no Moodle);
  4. Blocos e Atividades.

Papeis

Um papel é uma coleção de permissões. Os papeis podem ser atribuídos a um usuário específico em um contexto específico.

Por exemplo, uma pessoa pode ter o papel "Professor" numa disciplina/turma, de forma que esta pessoa acaba tendo nesta disciplina/turma as permissões definidas por este papel. Se este papel de "Professor" fosse atribuído a esta pessoa no contexto de um Curso UFSC, ela teria as permissões correspondentes em todas as disciplinas/turmas deste Curso.


Permissões

Uma permissão é uma atribuição concedida para uma ação específica. São exemplos de ações:

É possível permitir que um usuário execute uma ação num determinado contexto, mas evitar que ele a execute em um contexto interno. Por exemplo, no contexto de um Curso UFSC um usuário pode ter permissão para ver os participantes das disciplinas/turmas,  mas pode-se evitar que este usuário veja os participantes de uma disciplina/turma em particular. Ou, ao contrário, no contexto de um Curso UFSC pode-se impedir um usuário de ver os participantes das disciplinas/turmas, mas permitir esta visualização numa disciplina/turma em particular.

São 4 os tipos de permissões possíveis:

Na figura ao lado, o "Papel  1" atribui uma permissão do tipo Permitir no contexto do Sistema. Esta permissão vale para todos os contextos "menores" (internos), exceto nos casos em que esta permissão é sobreescrita.

O "Papel 2", por sua vez, Proibi (cancela) esta permissão no contexto de um curso (e nos contextos "internos") ao qual ele é atribuído. Nesta situação, o "Papel 3" (que procura Permitir a ação) não tem efeito pois a opção Proibir não pode ser sobreescrita.

Já o "Papel 4" visa Evitar a permissão no contexto de um curso. Mas esta ação é novamente Permitida para uma das disciplinas/turmas pelo "Papel 5", o qual, por sua vez, é sobreescrito pelo "Papel 6" que Evita a permissão no contexto de uma atividade ou bloco.


Resolução de Conflitos de permissões

Permissões atribuídas num contexto "menor" em geral sobreescrevem qualquer permissão atribuída num contexto "maior". A exceção é a opção Proibir que não pode ser sobreescrita em níveis "menores".

Se dois papeis distintos, um com a opção Permitir e outro a opção Evitar, são atribuídos a uma pessoa num mesmo contexto, qual ganha? Neste caso, o Moodle buscará nos contextos "acima" informações que lhe permitam decidir.

Por exemplo, suponha que um estudante tenha dois papeis numa disciplina/turma, um do tipo Permitir "iniciar uma discussão" e outro do tipo Evitar. Neste caso, serão analisados o Curso UFSC e o Sistema (os dois contextos "maiores"), com vistas a encontrar uma outra definição de permissão que permita decidir. Se não houver nenhuma definição explícita, então a permissão adotada é a de Evitar (porque as duas atribuições, são mutuamente exclusivas).