Caso você tem a necessidade de bloquear acesso dos alunos ou tutor na Plataforma  Moodle, em determinados dias de semana ou certas horas do dias, use a plataforma de serviço Badiu.Net.

A plataforma Badiu.Net é integrado ao Moodle através do plugin badiunet. Este plugin possibilita efetuar comunicação com qualquer módulo da plataforma de serviço Badiu.Net. O mais conhecido hoje, é o módulo de relatório MReport. Neste post vamos explicar como integrar o Moodle com o módulo proxy.

O módulo proxy é um serviço que monitora navegação do usuário e dispara alguma ação que foi definida no servidor. Há três tipos de proxy:

  • Bloqueio de acesso
  • Redirecionamento de url de navegação
  • Envio de mensagem de alerta /aviso

Neste post vamos explicar como configurar proxy para efetuar bloqueio de acesso. O proxy de controle de acesso é composto por uma regra, excepção a regra e mensagem.

1 – Regras do proxy

As regras do proxy são configuradas na Plataforma de serviço. Nas versões futuras, terá interface no Moodle para gerenciar as regas.  Vamos explicar como funciona as regras do proxy.

A regra do proxy é composta por regra e exceção a regra.Funcionam da seguinte forma:

  • Se a regra não for definida, a exceção não será levada em conta;
  • O que não existe na regra, de forma explícita, vale a definição da exceção;
  • O que existe na regra e também exista na exceção de forma explícita, significa a negação da regra;

A tabela a seguir ilustra como funciona, dando um exemplo de proxy que faz bloqueio de acesso por dias de semana que vai de 0 (zero equivale ao domingo)  a 6 (equivale ao sábado)

Regra sobre acesso nos dias de semana Excepção Bloqueio 
0-6 0,6 Acesso bloqueado nos finais de semana. Bloqueio feito pela excepção
1,2,3,5 0,6 Acesso permitido todos os dias na semana
1,2 Acesso permitido só segunda e terça
1,2 3-5 Acesso permitido de segunda a sexta.

2 – Parâmetros de data para configuração da regra

As regras de data de de acesso são verificadas de cima para baixo. Começa com ano e termina com hora. Os valores podem ser definidos separados por vírgula. O hífen pode ser usado para indicar intervalo de um valor ao outro. Essas regras devem ser definidas na plataforma de serviço.

A regra é configurada no formato JSON. A tabela a seguir descreve cada campo da regra.

Campo Descrição
year Ano deve ser informado com 4 dígitos. Exemplo 2020-2022 ou 2020,2021,2022,2020-2025
month Meses do ano. O valor deve ser de 1 a 12. Exemplo 1-6 ou 1,2,3,4,5,6,8-10
dayofweek Dias de semana de domingo a sábado. Deve ser configurado com valor de 0 a 6.  0  equivale a domingo e 6 sábado.Exemplo: 1-5 ou 1,2,4-6
dayofmonth Dias do mês. Valor de 1 a 31Exemplo: 1-15,16,17
day Especifica um determinado dia. Formato deve ser AAAA/MM/DDExemplo: 2020/05/18,2021/01/15Cada data deve ser especificado separado por vírgula. Não deve ser usado hífen para indicar período de datas.
hour Especifica hora e minuto. Se o minuto for omitido a hora vale por inteira. Se o minuto for especificado, a hora vale até o minuto especificado.Exemplo: 8-12,13:30-13:59,14-18,18:30-22:40

3 – Customizar parâmetro data no Moodle para cada usuário

As regras de data podem ser customizadas na Plataforma Moodle para cada usuário por meio de campo de perfil do usuário. Cada campo definido na tabela anterior pode ser criado no Moodle como campo de perfil e atribuir valores referente a data e horários de acesso permitido. Neste caso, a customização feita no campo de perfil do usuário prevalece em relação a regra definida no proxy da plataforma de serviço.

Para cada campo de data definido na tabela acima deve ser criado um campo do perfil Moodle. Esse deve ser do tipo texto, o nome breve deve obedecer o seguinte padrão:  badiuproxyprofile[regera]. Por exemplo, campo que especifica dias de semana que um usuário deve acessar deve ter o seguinte nome: badiuproxyprofiledayofweek. Os demais campos devem seguir o mesmo padrão.

A tabela a seguir especifica a configuração de cada campo perfil no Moodle. Os campos devem ser do  tipo campo de uma linha de texto. Pode usar de outro tipo, mas é recomendado campo de texto simples.

Configuração dos campos de perfil no Moodle

Indentificação
Nome breve (deve ser único)
Label do campo
Nome
badiuproxyprofileyear Ano que pode acessar
badiuproxyprofilemonth Mês que pode acessar
badiuproxyprofiledayofweek Dia de semana que pode acessar
badiuproxyprofiledayofmonth Dia de mês  que pode acessar
badiuproxyprofileday Dia que pode acessar
badiuproxyprofilehour Hora do dia que pode acessar

No Moodle não precisa criar todos os campos. Apenas os  que são necessários. Se o controle for só do horário, basta criar campo da hora.

Se o campo estiver preenchido, a regra de customização do usuário estará valendo para proxy. Por exemplo, se o aluno só deve acessar no horário comercial, configure o campo Hora do dia que pode acessar ( badiuproxyprofilehour) com os seguintes valores: 8-12,14-18. Esse configuração define que o horário de acesso é de 8h ao 12h e de 14h às 18h. Se o acesso ocorrer fora desse intervalo, o aluno receberá uma mensagem de bloqueio.

Se o acesso não for permitido nos finais de semana. Basta configurar o campo  Dia de semana que pode acessar (badiuproxyprofiledayofweek), com  os seguintes valores: 1-5 ou 1,2,3,4,5.  Essa configuração, se for combinada com a anterior, o aluno só poderá acessar nos dias úteis e no horário comercial. Ainda não há funcionalidade que prevê feriados.

A configuração pode ser aplicado para qualquer perfil, ou seja, pode ser para alunos e tutores.

4 -  Outros parâmetros de configuração da regra

Na definição da regra, há outras configurações além da data de acesso. A tabela a seguir especifica uma lista de regras que podem ser configuradas.

Regra Descrição
context Contexto do site moodle em que o usuário pode navegar. No Moodle existem seguintes contexto: sistema, curso, atividade etc. A regra de proxy pode ser limitado a um determinado contexto.
isloggedin Verifica se o usuário está logado. Isso permite que proxy seja aplicado apenas aos usuários logados
uri Endereço relativo do site Moodle em que o usuário está navegando. Isso permite aplicar proxy a um determinado padrão de endereço
uriexception Específica endereço URL do moodle que é excepção, ou seja, que deve ser desconsiderado no filtro do proxy
shortnamerole Especifica perfil do usuário no Moodle em que o proxy se aplica. O perfil é o shortname do role. Por padrão são: admin,manager,student,editingteacher etc
shortnameroleexception Perfil de usuário que não se aplica o filtro
sendtouri URL em que o usuário deve ser redirecionado caso o filtro for aplicado

5 – Exemplo de configuração da regra

Uma regra de proxy é composta de três parte:

  • Regra
  • Exceção a regra
  • Mensagem

A regra e a exceção compõe a lista requisitos que definem filtro. Já a mensagem é a resposta que será apresentado ao usuário em caso de bloqueio, ou seja, se atender as regras de filtro do proxy. A seguir vamos apresentamos um exemplo de configuração.

Regra

{
"isloggedin": 1,
"uri": "/",
"shortnamerole": "student",
"dayofweek": "1-5",
"hour": "8-18"
}

Exceção da regra 

{
"uri": "/login/,
/local/badiunet/proxy/"
}

Mensagem a ser exibida em caso de filtro (bloqueio) 

Por questões administrativa, você não pode acessar a Plataforma Moodle nesse horário. Em caso de dúvida, entre em contato com equipe administrativa.

 

A regra acima define que usuário que estiverem logados no Moodle, com perfil de aluno só podem acessar o Moodle de segunda à sexta feira entre 8h e 18h. A exceção da regra, neutraliza aplicação da regra se o aluno estiver navegando nos na tela login ou na tela de proxy que mostra mensagem sobre o motivo do bloqueio.

Considerações finais

O proxy é uma alternativa de solução para controlar navegação de usuário no Moodle. Pode ser customizado para atender diferentes contextos tais como entrega de mensagem personalizada, bloqueio de acesso, redirecionamento de links etc. Por enquanto o que está implementado é o controle de acesso por data e hora.

Caso queira implementar isso no seu Moodle, instale o plugin badiu.net, o mesmo que é usado para MReport. Depois, entre em contato pelo email contato@badiu.net e solicite que seja habilitado módulo proxy para o seu Moodle.