Pular para conteúdo

MIDDAG for Moodle

O MIDDAG for Moodle é um plugin Moodle com escopo amplo de produto. Ele reúne funcionalidades de gestão, operações pedagógicas, integrações externas e análise de dados dentro de uma arquitetura unificada e gerenciável.

Internamente, o plugin combina três níveis complementares:

  • Framework interno: núcleo arquitetural que organiza container, adapters, contratos, ciclo de vida e capacidades transversais.
  • Extensions: módulos que entregam funcionalidades específicas, independentes entre si ou com dependências declaradas.
  • Integrações externas: pontos pelos quais plugins de terceiros e outros sistemas consomem ou estendem contratos e interfaces do MIDDAG.

Por que essa arquitetura existe

O modelo anterior baseado em subplugins do Moodle aumentava acoplamento operacional, exigia instalação e manutenção fragmentadas e limitava práticas arquiteturais mais flexíveis.

O modelo atual busca:

  • reduzir dependência estrutural do mecanismo de subplugins do Moodle
  • centralizar o contato com o Moodle por meio de adapters isolados
  • permitir evolução mais dinâmica do produto sem quebras em cascata
  • criar uma base estável para extensions internas e integrações de terceiros
  • sustentar compatibilidade e manutenção de longo prazo para um produto comercial

Como "flexibilidade" funciona aqui

No MIDDAG, flexibilidade não significa ausência de regra. Significa contratos estáveis combinados com graus diferentes de restrição por camada:

  • Framework: regras mais rígidas — define contratos, lifecycle e garantias estruturais.
  • Extensions nativas: seguem o framework como padrão esperado para preservar consistência.
  • Integradores externos: integram com maior liberdade, mas com orientação clara sobre o que é obrigatório, recomendado ou livre.

Papel do núcleo

O núcleo do MIDDAG não existe para concentrar regras de negócio de uma única área. Seu papel é fornecer infraestrutura e mecanismos reutilizáveis para diferentes aplicações dentro do Moodle:

  • resolução de dependências e ciclo de vida de serviços
  • isolamento do Moodle por adapters
  • modelo de extensions internas com lifecycle governado
  • integração entre módulos via contratos, eventos e hooks
  • rastreabilidade operacional, diagnóstico e auditoria
  • base estável para APIs e contratos públicos

Papel das extensions

As extensions são a forma principal de entregar funcionalidades de negócio no MIDDAG. Em vez de instalar vários plugins independentes, o produto concentra essas capacidades em um único plugin com módulos internos ativáveis e evolutivos.

Isso permite:

  • ativar apenas as capacidades necessárias
  • evoluir funcionalidades sem replicar infraestrutura
  • compartilhar contratos, eventos e mecanismos comuns
  • manter coerência entre produto, arquitetura e operação

Como integrar com o MIDDAG

O MIDDAG foi projetado para ser extensível. Desenvolvedores e plugins externos podem integrar-se ao framework de diferentes formas, desde módulos completos com lifecycle próprio até customizações pontuais via hooks — sem precisar criar um plugin Moodle.

Para detalhes técnicos, consulte Modos de Integração na documentação para desenvolvedores.

O que o MIDDAG não é

  • Não é uma coleção de plugins independentes: todas as funcionalidades compartilham a mesma infraestrutura e ciclo de vida gerenciado.
  • Não é um substituto do Moodle: o MIDDAG vive dentro do Moodle e consome suas APIs nativamente.
  • Não é um ORM genérico: a persistência é otimizada para o modelo específico do MIDDAG, não para mapear qualquer tabela SQL arbitrária.

Por onde ir

Você é... Acesse
Administrador Moodle → Guia de Uso
Parceiro ou Integrador → Documentação para Desenvolvedores
Equipe MIDDAG → Vault (restrito)