← Back to plugins Activity

Child course

Adds the "Linked Course" activity, enables automatic enrollment, links groups and roles, and maintains incremental synchronization of completion and grades, with support for the Moodle App.

Frankenstyle mod_childcourse
Category Activity
Reported sites 42 sites
Screenshot of Child course

About Child course

Curso filho

mod_childcourse adiciona uma atividade Moodle que funciona como um atalho dentro de um curso pai. Ao clicar, o usuário é redirecionado para um curso filho e (opcionalmente) o plugin executa inscrição automática, mapeamento de grupos e sincronização incremental de conclusão e notas.

Inscrição automática Grupos Regras de conclusão Sincronização incremental Suporte mobile
Modelo mental
O curso pai contém uma atividade “Curso filho” → o usuário clica → (inscrição opcional + mapeamento de grupos) → redireciona para o curso filho.
Ilustração: uma atividade de curso funcionando como atalho para outro curso
Dica: substitua esta imagem pelo banner do plugin ou por uma captura da configuração da atividade / dashboard do professor.

O que o plugin resolve (na prática)

O Moodle pode vincular cursos de várias formas, mas a maioria das soluções fica frágil quando você precisa de acesso controlado, mapeamento consistente de grupos, e rastreamento confiável. Este módulo adiciona a camada que faltava: regras de inscrição + sincronização com estado dentro de uma única atividade.

Atalho limpo dentro do curso pai
Uma única atividade aponta para o curso filho, com opção de “abrir em nova aba” para simplificar a navegação.
Inscrição automática (opcional)
Inscreva usuários quando acessarem a atividade, preservando papéis e reduzindo atritos de “erro de permissão”.
Mapeamento de grupos que faz sentido
Inscreva em um grupo específico ou herde grupos do curso pai para o curso filho (opcional).
Sincronização incremental (conclusão + notas)
Uma tarefa agendada mantém o estado e sincroniza mudanças incrementalmente, evitando execuções de “reconstrução completa”.
Projetado para cursos reais
  • Supports Backup/Restauração.
  • Pode ocultar o curso filho de “Meus cursos / Visão geral” para reduzir a poluição visual.
  • Ao excluir, escolha se deseja desinscrever usuários inscritos pelo vínculo ou manter as inscrições.

Como funciona

O módulo armazena configuração na tabela da instância e acompanha o mapeamento/estado operacional em tabelas dedicadas. No acesso, ele opcionalmente inscreve e mapeia grupos, depois redireciona o usuário. A sincronização roda por agendamento (e pode ser forçada manualmente).

Fluxo de acesso do estudante
  1. O usuário abre a atividade “Curso filho”.
  2. Se habilitado: a inscrição é executada (papel preservado, se configurado).
  3. Opcional: mapeamento de grupos (grupo fixo ou grupos herdados).
  4. Redireciona para o curso filho (mesma aba ou nova aba).
Importante
Se a inscrição automática estiver desabilitada, o usuário já precisa ter permissão para acessar o curso filho; caso contrário, o Moodle exibirá erro de permissão no curso filho.
Ferramentas para professor / gestor
  • Ação de sincronização manual (quando o usuário tem permissão) para sincronização incremental imediata.
  • Gerenciar instâncias por uma página de gestão do curso (requer moodle/course:update).
  • Índice página listando todas as instâncias dentro do curso.
Páginas do plugin
  • view.php - página principal da atividade (estudante é redirecionado; professor vê um dashboard)
  • manage.php - lista/gerencia instâncias no curso
  • index.php - lista instâncias do módulo no curso

Regras de conclusão da atividade

Quando a conclusão do Moodle está definida como Automática, a atividade pode se marcar como concluída usando regras adicionais baseadas no curso filho.

Nenhuma
O plugin não controla automaticamente a conclusão desta atividade.
Curso concluído
Marca a atividade como concluída quando o usuário conclui o curso filho.
Todas as atividades
Marca a atividade como concluída quando o usuário conclui todas as atividades rastreáveis no curso filho (conforme a lógica do plugin).
Observação
O curso filho precisa ter enablecompletion = 1 para que regras baseadas em conclusão funcionem.

Sincronização (notas e conclusão)

A sincronização foi projetada para ser incremental. Em vez de recalcular tudo, o plugin acompanha o estado e atualiza apenas o que mudou.

Tarefa agendada
A tarefa \mod_childcourse\task\sync_task roda por padrão a cada 15 minutos (veja db/tasks.php) e executa sincronização incremental para todas as instâncias.
Ideia operacional
Mantenha um cache de estado por usuário/instância e sincronize apenas deltas para reduzir carga em sites grandes.
Sincronização manual
Na página da atividade (para usuários com permissão), um Sincronizar botão/ação força uma execução incremental imediata.
  • Útil após mudanças de configuração.
  • Útil para depuração ou suporte.
  • Não exige esperar o agendamento do cron.

Suporte mobile (Moodle App)

No Moodle App, a atividade renderiza uma tela simples com um único botão para abrir o curso filho. Ao clicar, executa o mesmo fluxo de inscrição + acesso da versão web.

Regra de UI mobile
Mantenha simples: um botão, sem ruído - rápido, confiável e fácil para estudantes.

Estrutura de dados (tabelas)

O plugin usa tabelas dedicadas para manter a configuração limpa e a sincronização escalável.

{childcourse}
Configurações da instância (incluindo regras de conclusão e timestamps de sincronização).
{childcourse_map}
Rastreia inscrições / grupos criados por instância e por usuário.
{childcourse_state}
Cache de estado para sincronização incremental (notas / conclusão).
Por que isso importa
Separar “configurações”, “mapeamento” e “estado” evita varreduras lentas e mantém a sincronização previsível conforme as inscrições crescem.

Suporte

Para dúvidas, bugs, melhorias ou sugestões, abra uma issue com contexto suficiente para reproduzir.
Voltar ao topo
Ao abrir um ticket, inclua
  • Versão do Moodle
  • Passos para reproduzir
  • Qual instância de atividade (IDs do curso pai + curso filho)
  • Se autoinscrição / grupos / preservação de papel estavam habilitados
  • Logs de cron / tarefa (se for sobre sincronização)
Boas práticas
  • Habilite autoinscrição quando quiser uma experiência de “acesso em um clique”.
  • Use mapeamento de grupos para manter coortes consistentes entre cursos pai/filho.
  • Prefira sincronização incremental em sites grandes (evite o hábito de sincronização completa manual).
  • Teste regras de conclusão em ambiente de homologação antes de levar para produção.
Por que esta abordagem funciona
  • Sem modificações no core.
  • UX de atividade única dentro do curso pai.
Related

Other Moodle plugins

Screenshot of Mod Super Video

Mod Super Video

mod_supervideo

The Super Video Module and Kapture enhance the teaching experience on Moodle by providing optimized video viewing and efficient video lecture production, enriching the learning environment for both teachers and students.

1794 sites Details →
Screenshot of Beautiful certificate

Beautiful certificate

mod_certificatebeautiful

The Certificate Beautiful plugin for Moodle allows you to create customized certificates with elegant and professional designs. It features an intuitive and user-friendly interface.

816 sites Details →
Screenshot of PDF Protect

PDF Protect

mod_pdfprotect

This is a Moodle module developed to provide an extra layer of security for PDF files, preventing users from downloading, printing, or copying the content of the PDF. It is ideal for protecting sensitive material and preventing unauthorized sharing of documents.

657 sites Details →