Sostituire gli Open Badge nativi di Moodle con Badges Ninja (designer migliore, stessa API)

Moodle include Open Badge nativi, ma il designer è limitato e l'esperienza del destinatario resta chiusa dentro Moodle. Emetti invece credenziali Badges Ninja a partire dai completamenti di Moodle.

Nacho Coll Di Aggiornato 8 min di lettura
Moodle include Open Badge nativi, ma il designer è limitato e l'esperienza del destinatario resta chiusa dentro Moodle. Emetti invece credenziali Badges Ninja a partire dai completamenti di Moodle.

Moodle emette Open Badge nativi fin dalla versione 2.5, e per molti amministratori di corsi questo è già un motivo sufficiente per non guardare altrove. È integrato, è gratuito e produce tecnicamente una credenziale conforme agli standard. Allora perché così tanti amministratori Moodle finiscono per essere frustrati entro il cinquantesimo badge emesso?

La risposta onesta: il sistema di badge di Moodle è stato progettato per spuntare una casella di conformità, non per essere un vero prodotto di credenziali. Funziona, ma funziona come funziona una funzionalità aggiunta a un LMS — operativa, datata e limitata dai vincoli della piattaforma in cui vive. Se hai mai provato a far sembrare un badge Moodle qualcosa di diverso da un’icona clip-art circolare, o hai sentito un neolaureato chiedere «aspetta, dove vedo di nuovo questa cosa?», conosci già il problema.

Questo non è un attacco a Moodle: è un LMS eccellente e il suo motore di criteri per i badge (completamento del corso, completamento dell’attività, assegnazione manuale, appartenenza a una coorte) è pensato davvero bene per innescare una credenziale. Il problema è tutto ciò che viene dopo l’innesco: gli strumenti di design, l’esperienza del destinatario e la visibilità del badge al di fuori della tua istanza Moodle. Questo è esattamente ciò per cui è stato costruito badges.ninja, e non devi rinunciare alla logica di completamento di Moodle per usarlo: ti basta puntare l’innesco verso un motore di emissione diverso.

Dove gli Open Badge nativi di Moodle non sono all’altezza

Il designer è un compositore di immagini basato su coordinate, non uno strumento di design. L’editor dei badge di Moodle ti permette di scegliere un’immagine di base, aggiungere alcune icone preimpostate e regolarne la posizione con offset in pixel. Non c’è una libreria di forme, non c’è un sistema di palette, nessuna scelta di font oltre a quelli già inclusi nel set di icone. Se la tua organizzazione ha un’identità visiva — un logo, una palette di colori, un linguaggio visivo specifico per le tue certificazioni — l’editor di Moodle non è in grado di esprimerla. La maggior parte delle istituzioni finisce per progettare la grafica del badge in Photoshop o Canva e caricare un PNG piatto, il che vanifica lo scopo stesso di avere un designer integrato.

I destinatari hanno bisogno di un login Moodle per vedere i propri badge. I badge assegnati a uno studente vivono all’interno della sua pagina di profilo Moodle. Se ha terminato il corso, ha dimenticato le proprie credenziali istituzionali, o l’istituzione ha nel frattempo disattivato il suo account, il badge è di fatto perso dal suo punto di vista — anche se l’asserzione sottostante potrebbe ancora essere risolvibile tramite il connettore backpack di Moodle o la pagina pubblica del badge. Non esiste un luogo dedicato, personalizzato con il proprio brand e sempre raggiungibile dove un destinatario possa accedere semplicemente con la propria email e vedere ogni credenziale mai ottenuta in tutti i corsi.

La condivisione è un ripensamento. Moodle può inviare i badge a un servizio compatibile con Mozilla Backpack ed espone un URL di verifica pubblico per ogni badge, ma non ha un flusso integrato «Aggiungi a LinkedIn», nessun pulsante di condivisione con un clic e nessuna analisi di coinvolgimento su chi abbia mai guardato il badge dopo l’emissione. Per i programmi che vogliono che il badge funzioni come marketing passaparola — bootcamp, enti di formazione continua, formazione aziendale — questo rappresenta un vero costo-opportunità.

Le operazioni in blocco sono macchinose. Assegnare un badge a un’intera coorte funziona se tutti completano l’attività che fa da innesco all’interno di Moodle nello stesso momento. Ma se devi recuperare i badge per una coorte passata, importare completamenti storici da un foglio di calcolo, o emettere un badge per qualcosa avvenuto interamente fuori dall’LMS, ti ritrovi a scrivere query SQL contro il database di Moodle o a lottare con strumenti di importazione CSV che non sono stati pensati specificamente per i badge.

Lo schema di sostituzione: mantieni gli inneschi di Moodle, cambia l’emittente

Non è necessario migrare via da Moodle per risolvere il problema. Lo schema più pulito è lasciare che Moodle continui a fare ciò in cui è bravo — tracciare il completamento dei corsi, il completamento delle attività, l’appartenenza alle coorti — e fargli chiamare l’API di Badges Ninja nel momento in cui si verifica una condizione di completamento, invece di (o insieme a) assegnare il suo badge nativo.

Moodle supporta questo approccio in diversi modi:

  1. Webhook di completamento corso / polling dei Moodle Web Services (REST). L’API core_completion di Moodle espone lo stato di completamento per utente e per corso. Un’attività pianificata leggera (un task cron pianificato di Moodle, oppure un job cron esterno che interroga l’API REST di Moodle) può eseguire il polling delle iscrizioni appena completate e, per ciascuna, chiamare l’endpoint awards di Badges Ninja.

  2. Un hook tramite plugin locale. Se hai uno sviluppatore in team, il sistema di eventi di Moodle (\core\event\course_completed) può essere osservato da un piccolo plugin locale che invia una richiesta HTTP nell’istante in cui avviene il completamento — senza alcun ritardo dovuto al polling.

  3. Zapier/Make/n8n come collante, se preferisci evitare di toccare il codice di Moodle: Moodle può inviare gli eventi di completamento a un ricevitore webhook che uno strumento di automazione no-code trasforma in una chiamata di assegnazione.

Ecco la vera e propria chiamata di assegnazione, una volta ottenuti nome ed email dell’utente che ha completato il corso:

curl -X POST https://api.badges.ninja/awards \
  -H "X-Api-Key: bws_3f9a1c2d4e5b6a7c8d9e0f1a2b3c4d5e" \
  -H "Content-Type: application/json" \
  -d '{
    "badgeId": "badge_moodle_course_completion",
    "recipient": { "name": "Jordan Alvarez", "email": "learner@example.edu" },
    "issuedOn": "2026-08-31"
  }'

Oppure in Node, all’interno di qualsiasi attività pianificata o ricevitore webhook tu stia eseguendo:

const response = await fetch("https://api.badges.ninja/awards", {
  method: "POST",
  headers: {
    "X-Api-Key": process.env.BADGES_NINJA_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    badgeId: "badge_moodle_course_completion",
    recipient: { name: completedUser.fullname, email: completedUser.email },
    issuedOn: Date.now(),
  }),
});
const award = await response.json();

L’email del destinatario viene sottoposta a hash SHA-256 a riposo, l’assegnazione ottiene automaticamente un URL di verifica univoco, un codice QR e un certificato PDF in formato A4 e — punto cruciale — il destinatario può rivendicarla tramite un accesso con magic link su badges.ninja/me, senza bisogno di un account Moodle separato. Consulta la struttura completa di richiesta/risposta nel riferimento API awards e nella guida all’autenticazione per capire come funzionano le chiavi API end-to-end.

Se preferisci procedere in blocco — ad esempio recuperando in un’unica passata i completamenti di un intero semestre invece di collegare eventi in tempo reale — esporta i completamenti da Moodle in un CSV e usa direttamente il flusso di assegnazione in blocco, che supporta pausa/ripresa per i file di grandi dimensioni. L’argomento è trattato in dettaglio in come emettere Open Badge da un CSV.

Progettare il badge vero e proprio

Una volta messa a punto l’infrastruttura, la progettazione vera e propria del badge richiede minuti, non un ticket al tuo team web. Il designer visivo ti offre oltre 80 template di forme, un vero sistema di palette di colori, librerie di icone e il caricamento di font personalizzati — così un badge per «Statistica avanzata — Completato» può davvero sembrare parte del brand della tua istituzione invece di una generica icona di achievement di Moodle.

API Keys — empty state

Ogni chiave API è delimitata nell’ambito e revocabile dalla stessa dashboard in cui gestisci badge ed emittenti, quindi consegnare la credenziale di integrazione a uno sviluppatore (o a uno strumento di automazione come Zapier) non significa condividere il login del tuo account principale.

Create key — name form

Confronto diretto: esperienza del destinatario

Badge nativo MoodleBadges Ninja
Dove lo vede il destinatarioDentro il profilo Moodle, richiede loginbadges.ninja/me, magic-link, senza password
Verifica pubblicaSì, URL pubblico per ogni badgeSì, endpoint JSON-LD Open Badge v2.0
Strumenti di designIcona fissa + offset di posizioneOltre 80 template, palette, font/icone personalizzati
Condivisione su LinkedInManuale, nessun pulsante integratoFlusso nativo Aggiungi al profilo LinkedIn
Emissione storica in bloccoWorkaround via SQL o CSV manualeAssegnazione in blocco integrata con pausa/ripresa
Visibilità del coinvolgimentoNessunaStatistiche di visualizzazione/condivisione per assegnazione
Accesso dopo aver lasciato l’istituzioneLegato allo stato dell’account MoodlePersistente, di proprietà del destinatario

Moodle vince ancora su una cosa: se il tuo unico requisito è «il badge esiste, è tecnicamente conforme a Open Badge v2.0 e vive dentro l’LMS che lo studente sta già usando», i badge nativi non costano nulla in più e non richiedono alcun lavoro di integrazione. Il compromesso emerge nel momento in cui ti importa della qualità del design, della portabilità dopo la fine del corso, o del trasformare l’emissione in un segnale di recruiting/marketing — cosa che, prima o poi, riguarda la maggior parte delle istituzioni.

Per una panoramica più ampia su come si confrontano le altre piattaforme di Open Badge in termini di prezzo e funzionalità, consulta il confronto delle piattaforme Open Badge più economiche. E se la tua istituzione sta valutando Open Badge v2.0 rispetto alla più recente specifica delle credenziali verificabili, Open Badge v2 vs v3 spiegato illustra quale scegliere davvero oggi.

Pronto a emettere la tua prima credenziale verificabile? Inizia gratis su badges.ninja — designer visivo, pagina di verifica pubblica, certificato PDF, output Open Badge v2.0. Nessuna carta di credito richiesta.

Nacho Coll

Informazioni sull'autore

Founder & Engineer at Badges Ninja

Nacho founded Badges Ninja to make issuing verifiable digital credentials as simple as a single API call — Open Badge v2.0 badges and certificates, minted, hosted, and verifiable without standing up your own issuer infrastructure. Writes about the Open Badges spec, credential verification, and running a credentialing platform serverless on AWS, from the operator side of the wire.

Torna al Blog

Articoli correlati