Come aggiungere un modulo in Moodle: la guida definitiva (attività, risorse, H5P, plugin)

Dal download del plugin alla configurazione avanzata: tutto ciò che serve per aggiungere un modulo in Moodle, con best practice SEO e sicurezza.

Dall’installazione alla messa in produzione: permessi, tracciamento, cron, cache, backup e risoluzione problemi.

1) Cos’è un modulo in Moodle

In Moodle, con “modulo” si indicano componenti che aggiungono funzionalità didattiche a un corso:
attività (quiz, compito, lezione, forum, SCORM), risorse (pagina, file, URL),
e persino plugin terzi (es. mod_hvp o mod_custom). Ogni modulo è un “course module”
collegato a una sezione del corso e integra impostazioni, permessi, tracciamento e (spesso) valutazione.

Tipi di moduli comuni

  • Attività: quiz, compito, forum, feedback, glossario, SCORM.
  • Risorse: file, cartella, pagina HTML, URL esterno.
  • Interattivi: H5P, lezione, quiz avanzati.
  • Terze parti: plugin “mod_” scaricabili dal community directory.
Obiettivo – aggiungere nuove attività/risorse con
controllo su permessi, completamento e report.

Nota: per ambienti produzione usa prima una staging identica,
così testi l’upgrade senza impatti sugli studenti.

2) Prerequisiti, ruoli e ambiente

Ruoli consigliati

  • Amministratore: installa plugin, gestisce site admin, cron, cache, temi.
  • Manager / Docente: aggiunge e configura i moduli a livello corso.

Compatibilità e versione

  • Verifica la versione di Moodle (es. 4.1/4.2/4.3) e i requisiti PHP/DB del plugin.
  • Attiva il maintenance mode per aggiornamenti importanti.

3) Tre metodi di installazione del modulo

3.1 Installazione via interfaccia (upload ZIP)

  1. Vai su Amministrazione del sito → Plugin → Installa plugin.
  2. Carica lo ZIP del plugin (o incolla l’URL). Moodle posizionerà i file nella cartella corretta.
  3. Conferma l’upgrade: apparirà la pagina di controllo componenti.
  4. Completa la procedura guidata (creazione tabelle, registrazione capacità, impostazioni).
Consiglio: preferisci sempre plugin compatibili con la tua versione e
con manutenzione attiva (changelog aggiornati).

3.2 Installazione manuale (FTP/SSH)

  1. Scarica lo ZIP e decomprimi.
  2. Carica la cartella nella directory del tipo corretto:
    • mod/ per attività/risorse (es. mod/mio_modulo)
    • blocks/ per blocchi, local/ per estensioni locali, ecc.
  3. Apri la dashboard: Moodle rileverà il nuovo componente e proporrà l’upgrade.

3.3 Installazione via CLI (server)

Per ambienti con molte istanze o CI/CD, usa lo script CLI:

# Da root Moodle
php admin/cli/maintenance.php --enable
# Copia/sincronizza la cartella del plugin (es. mod/mio_modulo)
php admin/cli/upgrade.php --non-interactive --allow-unstable
php admin/cli/maintenance.php --disable

Struttura minima di un plugin attività (esempio)

mod/mio_modulo/
├─ version.php
├─ lib.php
├─ settings.php
├─ db/
│  ├─ access.php       (capabilities)
│  ├─ install.xml      (tabelle)
│  └─ upgrade.php      (migrazioni)
├─ lang/it/mio_modulo.php
├─ classes/...
└─ renderer.php

4) Configurare il modulo dentro un corso

  1. Entra nel corso → Attiva modifica.
  2. Nella sezione desiderata, clicca Aggiungi un’attività o una risorsa.
  3. Seleziona il modulo (es. “Lezione”, “H5P”, “SCORM”, o quello appena installato).
  4. Compila Nome, Descrizione, impostazioni specifiche (date, tentativi, valutazione).
  5. Configura Restrizioni di accesso, Gruppi e Completamento attività.
  6. Salva e visualizza per testare come docente e come studente (usa “Cambia ruolo in…”).

Impostazioni consigliate

  • Restrizioni: per data, punteggio, gruppo, profilo utente.
  • Tag e competenza: per mappare gli obiettivi formativi.
  • Notifiche: se l’attività genera eventi (consegne, voti).

Area “Prodotti/Materiali associati” (opzionale)

Collega risorse esterne o materiali:

PDF Guida Docente
Template Quiz
Banca Domande
Manuale Valutazioni

5) Permessi e capabilities

Ogni modulo dichiara capabilities (in db/access.php): esempi
mod/mio_modulo:addinstance, mod/mio_modulo:view,
mod/mio_modulo:submit, mod/mio_modulo:grade.
Assegnale ai ruoli (Studente, Docente, Manager) in
Amministrazione del sito → Utenti → Permessi → Definisci ruoli.

// Estratto esemplificativo di db/access.php
$capabilities = [
  'mod/mio_modulo:addinstance' => [
    'riskbitmask' => RISK_SPAM | RISK_XSS,
    'captype' => 'write',
    'contextlevel' => CONTEXT_COURSE,
    'archetypes' => ['editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW]
  ],
  'mod/mio_modulo:view' => [
    'captype' => 'read',
    'contextlevel' => CONTEXT_MODULE,
    'archetypes' => ['student' => CAP_ALLOW, 'teacher' => CAP_ALLOW]
  ]
];

6) Completamento e valutazione

  • Tracciamento completamento: per visualizzazione, tentativi, punteggio minimo.
  • Registro valutatore: integra i voti in Grader report se l’attività è valutabile.
  • Competency frameworks: collega risultati ad abilità/competenze.
Tip: attiva il completamento a livello sito e corso prima di configurare le singole attività.

7) H5P e altri formati

Con H5P puoi caricare contenuti interattivi (video quiz, drag & drop, timeline). Installa il modulo H5P
e abilita i content types. Per SCORM, carica il pacchetto .zip, imposta sco, tracking e tentativi.

  • H5P: supporta tentativi e report di riepilogo.
  • SCORM: compatibile con tracciamento CMI (completamento, punteggio, tempo).

8) Backup, aggiornamenti e rollback

Backup consigliati

  • DB (dump) e moodledata (file) prima di installare/aggiornare.
  • Backup del plugin (cartella) e del tema se personalizzato.

Aggiornare un modulo

  1. Attiva maintenance mode, carica la nuova versione.
  2. Esegui l’upgrade web o admin/cli/upgrade.php.
  3. Verifica log e regressioni su staging.

Rollback

Se qualcosa va storto, ripristina cartelle del plugin e DB dal backup. In casi gravi, esegui restore completo della VM/container.

9) Prestazioni: cache, cron e log

  • Cache: configura MUC (Memcached/Redis) e ottimizza le definizioni cache dei plugin.
  • Cron: assicurati che php admin/cli/cron.php giri ogni minuto via crontab.
  • Log/Analytics: usa report log per monitorare accessi e performance del modulo.
* * * * * /usr/bin/php /var/www/moodle/admin/cli/cron.php >/dev/null 2>&1

10) Debug e troubleshooting

  • Attiva Debug sviluppatore e mostra messaggi in Amministrazione sito → Sviluppo.
  • Controlla errori di dipendenza (versione minima core o di altri plugin).
  • Esamina version.php, db/install.xml, db/upgrade.php del plugin.
  • Verifica permessi file/cartelle e ownership (webserver user).
# Log applicativo
tail -f /var/log/apache2/error.log
# Permessi consigliati (esempio)
find /var/www/moodle -type f -exec chmod 0640 {} \;
find /var/www/moodle -type d -exec chmod 0750 {} \;

11) Sicurezza e best practice

  • Usa plugin firmati e provenienti da autori affidabili.
  • Non lasciare cartelle install o file temporanei sul server.
  • Imposta HTTPS e cookie sicuri; controlla le policy di privacy.
  • Rimuovi i plugin inutilizzati e tieni un registro versioni (changelog interno).

12) Checklist rapida

  • Plugin compatibile con la tua versione Moodle.
  • Staging aggiornata, backup completo pronto.
  • Installazione con upload ZIP / FTP / CLI, upgrade completato.
  • Permessi/capabilities assegnati ai ruoli corretti.
  • Completamento e valutazione impostati.
  • Cron attivo e cache configurata.
  • Test con “Cambia ruolo in Studente”.
  • Documentazione interna per docenti.

13) FAQ

Posso installare plugin senza accesso come amministratore?
No: l’installazione a livello di sito richiede privilegi di amministratore.
Cosa succede se disinstallo un modulo?
Le tabelle e i dati possono essere rimossi; esegui un backup preventivo e valuta l’impatto sui corsi.
Come gestisco gli aggiornamenti massivi?
Automatizza con CLI + configurazioni Ansible/CI; esegui prima su staging, poi su produzione in finestra di manutenzione.
H5P è meglio di SCORM?
Dipende dall’uso: H5P è moderno e modulare; SCORM è standardizzato e ampiamente supportato da molti authoring tool.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.