Configurar a ligação com o Moodle para formação
Smartosh permite transmitir dados de formação entre Smartosh e Moodle. Smartosh calcula as formações que cada pessoa deve realizar segundo os EPIs que usa, o posto que ocupa, o centro de trabalho, etc. A partir desse cálculo, regista o utilizador no Moodle, lança a convocatória e posteriormente recolhe a data de assistência e os resultados das avaliações quando for o caso.
O circuito de necessidades de formação é idêntico ao das necessidades de formação manuais: a geração de certificados e os restantes passos regem-se exatamente pelas mesmas normas.
Requisitos prévios no Moodle
Seção intitulada “Requisitos prévios no Moodle”Embora a configuração interna do Moodle fique fora do âmbito deste guia, há pontos imprescindíveis para que a integração funcione:
- Ativar os serviços web (extensões no Moodle).
- Criar um utilizador, um conjunto de serviços e um token que será usado na ligação.
- Os protocolos definidos devem ser REST e XML-RPC.
- As condições de finalização do curso devem estar corretamente definidas no Moodle, pois é o Moodle que determina se um utilizador completou um curso.
O detalhe destas operações está explicado na documentação oficial do Moodle: Web service settings.
Configurar a ligação no Smartosh
Seção intitulada “Configurar a ligação no Smartosh”Cada ligação relaciona de forma biunívoca um curso de um servidor Moodle concreto com uma convocatória do Smartosh.
Passo prévio: definir a convocatória
Seção intitulada “Passo prévio: definir a convocatória”Antes de criar a ligação, deve existir no Smartosh a formação e a convocatória que serão relacionadas com o Moodle. Recomenda-se definir uma convocatória com uma formação e uma sessão formativa para simplificar a gestão.
Criar a ligação
Seção intitulada “Criar a ligação”Aceder a Configuração → Ligação Moodle e preencher os seguintes campos:
| Campo | Descrição |
|---|---|
| Nome | Nome interno com que se identifica esta ligação. |
| Formação | Escolhe-se entre as formações definidas no Smartosh. |
| Convocatória | Só se podem selecionar convocatórias que incluam a formação do campo anterior. |
| URL do serviço | Fornecida pelo administrador do Moodle. Página onde se lança o pedido do webservice. |
| Token | Token para aceder ao serviço, definido no Moodle. |
| Identificador da formação no Moodle | Número que identifica o curso no Moodle. |
| Estado | Ao lançar a operação passa a Importando e ao finalizar mostra: Finalizada com erro, Finalizada com advertências ou Finalizada corretamente. |
| Email para notificação de erros | Se definido, quando um processo diário deteta erros envia-se um aviso por email (sem detalhe; é necessário consultar o histórico). |
| Moodle exclusivo para este tenant | Ativa avisos adicionais que só fazem sentido quando os colaboradores do Smartosh coincidem com os do Moodle. |
| Desativado | Se marcado, o processo noturno não é executado. Ainda assim, pode lançar-se a ligação manualmente. |
| Histórico | Detalhe das datas e resultados de cada execução. |
| Funções | Reservado para usos futuros e outras versões do Moodle. |
Executar a sincronização
Seção intitulada “Executar a sincronização”Uma vez configurada a ligação Moodle, a formação, a convocatória e as parametrizações necessárias no Moodle (cursos, inquéritos, etc.), o processo de sincronização pode ser lançado de três formas:
- Automaticamente todas as noites através do processo
ConexionDatosWorker.SincronizarTodasConexiones, desde que o check Desativado esteja desmarcado. - Manualmente desde Configuração → Ligações Moodle, usando a operação Realizar Ligação. Ao finalizar mostra-se o resultado no Histórico da ligação.
- Desde Formação → Convocatórias, selecionando uma convocatória com uma ligação Moodle ativa. Aparece o botão Sincronizar com Moodle e um separador com o estado e o histórico.
O processo de transferência divide-se em dois blocos claramente diferenciados: exportação de participantes para o Moodle e recolha de resultados desde o Moodle.
Bloco 1: exportar participantes para o Moodle
Seção intitulada “Bloco 1: exportar participantes para o Moodle”O sistema revê todas as necessidades de formação marcadas como Não Convocadas para a formação vinculada à ligação e, para cada uma, executa:
1. Pesquisa do colaborador no Moodle
Seção intitulada “1. Pesquisa do colaborador no Moodle”A aplicação procura o colaborador no Moodle usando o identificador que tem no Smartosh (DNI, NIE, etc.). A pesquisa faz-se por:
- Identificador = username
- Identificador = IdNumber (campo adicional do Moodle)
- email = email do Smartosh
Se não for encontrado o colaborador, o Smartosh envia para o Moodle os seguintes dados para o registar:
- Username (identificador)
- Password (gerado pela aplicação)
- Nome
- Apelido 1
- Email (obrigatório no Moodle e não pode duplicar-se; o sistema verifica)
- Identificador
- Ordem para reiniciar a password no primeiro acesso
No log regista-se: Utilizador {Nome e apelido1} ({Identificador}) - registo no sistema.
2. Matrícula no curso
Seção intitulada “2. Matrícula no curso”Verifica-se se o colaborador já está matriculado no curso. Se não estiver, a aplicação matricula-o.
No log regista-se: Utilizador {Nome e apelido1} ({Identificador}) - matrícula no curso no Moodle.
3. Atualização no Smartosh
Seção intitulada “3. Atualização no Smartosh”A necessidade de formação atualiza-se com a convocatória e a data da convocatória, ficando marcada como Em Curso.
No log regista-se: Utilizador {Nome e apelido1} ({Identificador}) - convocado no SmartOSH.
4. Notificação por email ao utilizador
Seção intitulada “4. Notificação por email ao utilizador”A cada colaborador convocado envia-se um email, salvo se tiver marcado o check “Desativar envio de emails”:
- Utilizador novo → template «Registo de utilizador no Moodle», com utilizador e password para iniciar a formação.
- Utilizador existente, nova formação → template «Matrícula no Moodle».
Bloco 2: recolher resultados desde o Moodle
Seção intitulada “Bloco 2: recolher resultados desde o Moodle”A aplicação consulta ao Moodle os participantes do curso e, para cada um:
- Identificação do utilizador no Smartosh dentro dessa convocatória, por
idnumber(NIF) ou porusername. - Recuperar data de assistência e pontuação: a informação guarda-se como nota de avaliação e data de assistência, marcando como assistido na sessão correspondente. Se a formação tiver marcado “deve ser avaliada”, também se regista a data da avaliação e a nota.
- Recuperar finalização: se o Moodle indicar que o curso está finalizado, a ação marca-se como completada no Smartosh e a pessoa desmatricula-se do curso no Moodle (não poderá voltar a aceder a ele).
Ao finalizar, o sistema guarda a lista de operações e incidências geradas no histórico da ligação Moodle.
Permissões necessárias no Moodle
Seção intitulada “Permissões necessárias no Moodle”O utilizador associado ao token deve ter permissões para lançar as seguintes funções da API do Moodle:
core_completion_get_activities_completion_statuscore_completion_get_course_completion_statuscore_course_get_coursescore_enrol_get_enrolled_userscore_enrol_get_users_coursescore_grades_get_gradesougradereport_user_get_grade_items(para versões superiores a 3.2)core_webservice_get_site_infoenrol_manual_enrol_usersenrol_manual_unenrol_userscore_user_create_userscore_user_get_userscore_user_update_users
Considerações gerais
Seção intitulada “Considerações gerais”- Quando uma convocatória está ligada ao Moodle, os exames de avaliação realizam-se no Moodle.
- Ao finalizar uma ação formativa, o sistema gera o certificado (se assim estiver parametrizado), exatamente igual que numa convocatória manual.
Considerações para SmartOSH SPA PRO
Seção intitulada “Considerações para SmartOSH SPA PRO”Nos ambientes SPA, deve criar-se uma convocatória e uma ligação Moodle por curso em cada ambiente, mesmo quando o curso no Moodle exista apenas em idioma espanhol.
Fonte: KB029 «Configuração e funcionamento da ligação Moodle para formação», módulo Formação, versão 1.0.00, 17-09-2025.