Criando e gerenciando permissões para  funções no MOODLE
Autor: Eduardo Xavier | Publicado: 2012-03-11T16:40:00-07:00





&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Neste
post apresentarei as configurações de funções do MOODLE para que você possa
melhor gerenciar as permissões dos usuários no seu projeto e para que possa
definir o que e onde cada usuário pode ou não pode fazer. Mas antes da leitura
desse post, sugiro a leitura de um outro post “Uma geral sobre gestão depermissões no MOODLE” que mostra uma visão geral sobre a gestão de permissões e
apresenta alguns conceitos necessários para o entendimento sobre permissões.




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Segundo
moodle.org “uma função é uma coleção de
permissões que você pode designar a nível de sitema ou em contextos
específicos” , ou seja, uma função é um
conjunto de permissões configuráveis para que um grupo de usuários possa
desempenhar um conjunto de ações em um contexto do MOODLE, seja esse contexto
nos níveis de sistema, home page, categoria de cursos, subcategorias de cursos,
no curso propriamente dito &nbsp;e no nível
mais baixo que são os contextos blocos/recursos/atividades. &nbsp;



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quando
você instala o MOODLE ele já vem com um conjunto de funções pré-configuradas,
apresentando funções de Admin, Criador de Cursos, Professor (editor), Moderador
(não editor), Aluno, Visitante e User Registrado e cada uma destas funções vem
com um conjunto de permissões pré-configuradas mas que podem ser editadas e
modificadas para melhor atender as particularidades de cada projeto. O quadro a
seguir mostra a configuração original de funções do MOODLE &nbsp;(Admin
do site &gt;&gt; Usuários &gt;&gt; Permissões &gt;&gt; Definir funções)









Figura 01 – Aba gerenciamento
de funções



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Observe
que há uma hierarquia entre as funções (figura 01), você pode modificar esta
hierarquia movendo uma função para cima ou para baixo. Você pode também excluir
ou acrescentar uma nova função.&nbsp;







Figura 02 – Aba permitir
designar funções



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Já
na aba “Permitir designar funções” é possível escolher quais funções podem
designar usuários para outras funções. Neste exemplo (figura 02) o
Administrador pode designar integrantes para todas as outras funções, inclusive
outro Administrador. Já o Professor pode designar integrantes para as funções
Moderador, Estudante, Visitante. Esta configuração é dinâmica, você pode redefini-la.
&nbsp;







Figura 03 – Aba permitir
sobreposição de funções



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sobreposições
função são permissões que modificam uma função em um contexto específico. Por
exemplo um Estudante (função) no curso (contexto de maior abrangência) pode ter
sua função modificada num fórum (contexto de menor abrangência) que é
sobreposta nesse fórum para moderador (outra função) passando a ter as mesmas permissões
o moderador, inclusive podendo avaliar as postagens dos colegas (ação) o que normalmente
não é permitido a um estudante. &nbsp;Mas nem
todas as funções podem configurar sobreposição de função, apenas as funções que
possuem permissão para as ações moodle/role:override ou
moodle/role:safeoverride e também precisa estar definido na aba “Permitir
sobreposição de função” (figura 03). Nesse exemplo apenas a função
Administrador pode sobrepor funções, mas você pode permitir que outras funções,
tais como Professor ou Moderador façam isso.&nbsp;



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Agora
voltado à aba “Gerenciamento de funções” (figura 01) vamos editar uma função e configurar
o conjunto de ações que ela tem permissão. Vamos usar como exemplo a função Professor
(editor) (Admin do site &gt;&gt; Usuários &gt;&gt; Permissões &gt;&gt; Definir
funções &gt;&gt; Professor (editor) &gt;&gt; Editar). A lista de ações (figura
04) apresenta centenas de opções, mas para este exemplo utilizaremos as ações
relacionadas ao fórum. Observe que existe uma lista de ações e para cada ação existem
as opções: não atribuído, permitir, evitar, proibir.







Figura 04 – Lista de
ações definidas para a função professor



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quando
uma permissão está registrada como Não Atribuído,
isso significa que pode existir outra função onde essa permissão é atribuída em
outro contexto, já que o usuário pode ser definido em mais de uma função elas
podem se complementar. É uma configuração neutra que significa "manter as
capacidades que o usuário já tinha anteriormente". Sabemos que o perfil
Usuário Registrado é obrigatório a todos os indivíduos, assim que um usuário é
cadastrado ele passa a ter automaticamente a função de Usuário Registrado,
somente depois ele é promovido a outras funções tais como Aluno, Professor ou
outras que você criar. Assim algumas permissões de ações que são definidas
nessa função são automaticamente herdadas pelas demais se estas estiverem
configuradas como Não Atribuído. Porem se uma Função de maior hierarquia tem
uma atribuição, ela automaticamente sobrepõe as de menor hierarquia.&nbsp;



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Já
a opção Permitir, obviamente,
concede permissão à Função para a ação correspondente e também é herdada por Funções
de menor hierarquia. Se uma permissão é atribuída a um contexto é atribuída
também a todos os contextos de menor abrangência. Por exemplo, se permitir
“iniciar novas discussões” aos estudantes inscritos no curso (contexto de maior
abrangência), então todos os estudantes poderão "iniciar novas
discussões" em todos os fóruns (contextos de menor abrangência) do mesmo
curso.



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A
opção Proibir também parece bem óbvia,
proíbe a ação a uma Função e também é herdada por Funções de menor hierarquia. Se
uma proibição é atribuída a um contexto é atribuída também a todos os contextos
de menor abrangência. &nbsp;Por exemplo, se
proibir “iniciar novas discussões” aos estudantes inscritos no curso (contexto
de maior abrangência), então todos os estudantes não poderão "iniciar
novas discussões" em todos os fóruns (contexto de menor abrangência) do
mesmo curso.



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Já
a opção Evitar funciona ao contrário
da opção Permitir.&nbsp; Ao escolher Evitar,
você removerá a permissão para essa capacidade, mesmo que os usuários com essa
função tenham permissão em um contexto superior.&nbsp;





&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Outra
inversão na ordem de permissões é a opção de sobrepor permissões nos contextos de menor abrangência, assim se
uma sobreposição do tipo Permitir ou Proibir é conferida num fórum ela
sobrepões as permissão herdadas dos contextos do curso e de sistema. Geralmente
as funções são definidas no contexto global do sistema, mas é possível sobrepor
permissões e modificar as permissões em qualquer outro contexto, seja home
page, categorias de cursos, subcategorias de cursos, curso e
recursos/atividades/blocos. Observe que existe nesse exemplo (figura 05) uma
coluna marcada com cor diferente das demais, o que indica permissões definidas
nos contextos superiores, e a opção Herdar considera exatamente as
configurações do contexto superior. Observe que a ação “acrescentar notícia”
está marcada com a opção Proibir, isso irá desconsiderar a configuração dos
contextos superiores e irá Proibir esta ação nesse fórum, apenas nesse pois
essa configuração não afeta os demais fóruns do curso. (Curso &gt;&gt; Fórum de
notícias &gt;&gt; Editar &gt;&gt; Sobrepor permissões).







Figura 05
– Sobrepor configuração de permissões no contexto da atividade fórum.



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Esse
é um tema complicado, tentei aqui apresentar alguns passos para facilitar o
entendimento sobre a configuração das permissões de funções do MOODLE. Depois
de entender um pouco mais sobre gestão de funções, você pode configurar o seu
MOODLE para melhor atender às necessidades do seu projeto, você pode renomear
as funções, como mudar Moderador para Tutor, ou criar novas funções e redefinir
as permissões a elas. O MOODLE permite uma enorme variedade de aplicação de
permissões, cabe a você adaptá-las às suas necessidades, então aprenda a
utilizá-las e faça bom proveito.


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sugiro
sempre a leitura das instruções contidas no moodle.org e também as anotações de
ajuda no MOODLE e se língua for um problema use Goole Tradotor. Segue alguns
link indicados:




http://docs.moodle.org/19/en/Category:Roles
http://docs.moodle.org/22/en/Context
http://docs.moodle.org/22/en/Roles_FAQ





Por hoje esta é a minha contribuição.
Atc, Eduardo Xavier
exavier28@gmail.com