domingo, 11 de março de 2012

Criando e gerenciando permissões para funções no MOODLE


                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.

                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  e no nível mais baixo que são os contextos blocos/recursos/atividades.  

                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  (Admin do site >> Usuários >> Permissões >> Definir funções)

Figura 01 – Aba gerenciamento de funções

                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. 

Figura 02 – Aba permitir designar funções

                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.  

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

                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.  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. 

                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 >> Usuários >> Permissões >> Definir funções >> Professor (editor) >> 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

                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. 

                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.

                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.  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.

                Já a opção Evitar funciona ao contrário da opção Permitir.  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. 

            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 >> Fórum de notícias >> Editar >> Sobrepor permissões).

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

                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.

                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:

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

9 comentários:

  1. Realmente um bom artigo, bem explicado e ilustrado

    ResponderExcluir
  2. Olá Eduardo, gostei muito do seu Blog ótimas informações. Tenho uma dúvida não sei , se pode me ajudar.

    Exemplo no tipo de privilégio: Usuário autenticado, eu precisava atribuir permissões para estes, porque tenho cursos onde alunos podem fazer e e outros cursos que só clientes podem fazer.

    Você sabe como devo proceder?

    ResponderExcluir
  3. Olá Cleyton,
    Primeiramente descupas pela demora. Mas nesse caso eu criaria dois papeis/perfil no nível global, um para alunos e outro para clientes. Assim você pode atribuir permissões distintas para cada grupo, e ainda pode ter cursos só com alunos, só com clientes e também com os dois.

    ResponderExcluir
  4. Obrigado pela atenção!
    Mas como criaria este nível global no moodle? Pesquisei e não encontrei como faço

    Obrigado!

    ResponderExcluir
  5. Olá,

    Tenho a seguinte dúvida... eu crei o usuário "A" e este usuário deve ser gerente, onde que eu defino o perfil (gerente, professor, etc) desse usuário?

    Obrigado,
    Abraço
    Luis

    ResponderExcluir
  6. Olá, gostaria de saber você como eu modifico uma permissão de usuário autenticado para professor? Já olhei em todas as funções e não encontrei nada.

    ResponderExcluir
  7. Ola boa tarde, tenho um problema em tenho os alunos como inscritos na disciplina mas não são participantes, como posso resolver o problema.

    ResponderExcluir
  8. Sabe como faço para resetar estes perfis para o padrão(primeiro uso)?

    ResponderExcluir
  9. olá! senhor Eduardo Xavier, como faço para que professores não possam editar conteúdos que não tenham haver com a disciplina que leciona

    ResponderExcluir