Udskift Moodles indbyggede Open Badges med Badges Ninja (bedre designer, samme API)
Moodle leveres med indbyggede Open Badges, men designeren er begrænset, og modtageroplevelsen er låst inde i Moodle. Udsted i stedet Badges Ninja-beviser ud fra gennemførte forløb i Moodle.
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.
Moodle har udstedt Open Badges indbygget siden version 2.5, og for mange kursusadministratorer er det grund nok til aldrig at kigge andre steder hen. Det er indbygget, det er gratis, og det producerer teknisk set et standardkompatibelt bevis. Så hvorfor ender så mange Moodle-administratorer med at blive frustrerede, når de har udstedt deres halvtredsindstyvende badge?
Det ærlige svar: Moodles badge-system blev designet til at afkrydse en compliance-boks, ikke til at være et produkt til digitale beviser. Det virker, men det virker på den måde, en funktion boltet fast på et LMS virker – funktionelt, forældet og indespærret af begrænsningerne i den platform, det lever i. Hvis du nogensinde har forsøgt at få et Moodle-badge til at ligne andet end et rundt clipart-ikon, eller har hørt en dimittend spørge ”vent, hvor ser jeg egentlig den her igen?”, kender du allerede kløften.
Dette er ikke en nedgøring af Moodle – det er et fremragende LMS, og dets motor til badgekriterier (kursusgennemførelse, aktivitetsgennemførelse, manuel tildeling, kohortemedlemskab) er virkelig gennemtænkt til at udløse et bevis. Problemet er alt det, der sker efter udløsningen: designværktøjerne, modtageroplevelsen og badgets synlighed uden for din Moodle-instans. Det er præcis den del, badges.ninja er bygget til, og du behøver ikke opgive Moodles gennemførelseslogik for at bruge det – du peger bare udløseren mod en anden udstedelsesmotor.
Hvor Moodles indbyggede badges kommer til kort
Designeren er en koordinatbaseret billedsammensætter, ikke et designværktøj. Moodles badge-editor lader dig vælge et basisbillede, tilføje nogle få forudindstillede ikonoverlejringer og justere position med pixelforskydninger. Der er intet formbibliotek, intet paletsystem, ingen skrifttypevalg ud over dem, der er bagt ind i ikonsættet. Hvis din organisation har et brand – et logo, en farvepalet, et bestemt visuelt sprog for dine certificeringer – kan Moodles editor ikke udtrykke det. De fleste institutioner ender med at designe badge-grafik i Photoshop eller Canva og uploade en flad PNG, hvilket underminerer hele formålet med at have en indbygget designer.
Modtagere skal bruge et Moodle-login for at se deres egne badges. En kursists tildelte badges lever på deres Moodle-profilside. Hvis de er kommet videre fra kurset, har glemt deres institutionelle loginoplysninger, eller institutionen siden har nedlagt deres konto, er badget reelt væk fra deres side – selvom den underliggende assertion muligvis stadig kan slås op via Moodles backpack-forbindelse eller den offentlige badge-side. Der findes ikke et dedikeret, brandet, altid tilgængeligt sted, hvor en modtager kan logge ind med blot deres e-mail og se alle de beviser, de nogensinde har optjent på tværs af alle kurser.
Deling er en eftertanke. Moodle kan sende badges til en Mozilla Backpack-kompatibel tjeneste, og det udstiller en offentlig verifikations-URL for hvert badge, men der er ingen indbygget ”Tilføj til LinkedIn”-funktion, ingen del-med-ét-klik-knap, og ingen engagementsanalyse af, om nogen overhovedet har kigget på badget efter udstedelsen. For programmer, der ønsker, at badget skal fungere som mund-til-mund-markedsføring – bootcamps, udbydere af efteruddannelse, virksomhedsundervisning – er det en reel tabt mulighed.
Bulk-handlinger er klodsede. At tildele et badge til en hel kohorte fungerer, hvis alle gennemfører den udløsende aktivitet i Moodle på samme tid. Men hvis du skal eftertildele badges til en tidligere kohorte, importere historiske gennemførelser fra et regneark, eller udstede et badge for noget, der skete helt uden for LMS’et, sidder du fast med at skrive SQL mod Moodles database eller kæmpe med CSV-importværktøjer, der ikke er bygget specifikt til badges.
Erstatningsmønsteret: behold Moodles udløsere, skift udstederen
Du behøver ikke migrere væk fra Moodle for at løse det. Det reneste mønster er at lade Moodle blive ved med at gøre det, den er god til – spore kursusgennemførelse, aktivitetsgennemførelse, kohortemedlemskab – og få den til at kalde Badges Ninja-API’et i det øjeblik en gennemførelsesbetingelse udløses, i stedet for (eller sammen med) at tildele sit indbyggede badge.
Moodle understøtter det på et par måder:
-
Webhook for kursusgennemførelse / polling via Moodle Web Services (REST). Moodles core_completion-API viser gennemførelsesstatus pr. bruger pr. kursus. En let, planlagt opgave (en planlagt cron-opgave i Moodle, eller et eksternt cron-job, der kalder Moodles REST-API) kan polle efter nyligt gennemførte tilmeldinger og for hver af dem kalde Badges Ninjas tildelings-endpoint.
-
Et hook via et lokalt plugin. Hvis du har en udvikler ansat, kan Moodles hændelsessystem (
\core\event\course_completed) overvåges af et lille lokalt plugin, der udløser en HTTP-forespørgsel i samme øjeblik gennemførelsen sker – uden forsinkelse fra polling. -
Zapier/Make/n8n som lim, hvis du hellere vil undgå at røre ved Moodles kodebase – Moodle kan sende gennemførelseshændelser til en webhook-modtager, som et no-code-automatiseringsværktøj omdanner til et tildelingskald.
Her er selve tildelingskaldet, når du har navn og e-mail på en bruger, der har gennemført kurset:
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"
}'
Eller i Node, inde i en hvilken som helst planlagt opgave eller webhook-modtager, du kører:
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();
Modtagerens e-mail bliver SHA-256-hashet, når den gemmes, tildelingen får automatisk en unik verifikations-URL, en QR-kode og et A4 PDF-certifikat, og – afgørende – modtageren kan gøre krav på det via et magic-link-login på badges.ninja/me, uden at der kræves en separat Moodle-konto. Se den fulde request/response-struktur i API-referencen for tildelinger, og autentificeringsguiden for at forstå, hvordan API-nøgler fungerer fra ende til anden.
Hvis du hellere vil batche det – f.eks. eftertildele et helt semesters gennemførelser i én omgang i stedet for at koble realtidshændelser på – kan du eksportere gennemførelserne fra Moodle som en CSV og bruge bulk-tildelingsflowet direkte, som understøtter pause/genoptagelse for store filer. Det er beskrevet i detaljer i sådan udsteder du Open Badges fra en CSV.
Design af selve badget
Når kablingen er på plads, tager selve badge-designet minutter, ikke en sag til dit webteam. Den visuelle designer giver dig 80+ formskabeloner, et rigtigt farvepalet-system, ikonbiblioteker og upload af egne skrifttyper – så et badge for ”Advanced Statistics – Completed” faktisk kan se ud, som om det hører til din institutions brand, i stedet for et generisk Moodle-præstationsikon.

Hver API-nøgle har et afgrænset omfang og kan tilbagekaldes fra det samme dashboard, hvor du administrerer badges og udstedere, så det at overdrage integrationsoplysningerne til en udvikler (eller et automatiseringsværktøj som Zapier) ikke betyder, at du deler loginoplysningerne til din hovedkonto.

Side om side: modtageroplevelsen
| Moodles indbyggede badge | Badges Ninja | |
|---|---|---|
| Hvor modtagere ser det | Inde i Moodle-profilen, kræver login | badges.ninja/me, magic-link, ingen adgangskode |
| Offentlig verifikation | Ja, offentlig URL pr. badge | Ja, Open Badge v2.0 JSON-LD-endpoint |
| Designværktøjer | Fast ikon + positionsforskydninger | 80+ skabeloner, paletter, egne skrifttyper/ikoner |
| Deling på LinkedIn | Manuel, ingen indbygget knap | Indbygget flow til Tilføj-til-LinkedIn-profil |
| Bulk eftertildeling | SQL eller manuel CSV-løsning | Indbygget bulk-tildeling med pause/genoptagelse |
| Synlighed for engagement | Ingen | Visnings-/delingsstatistik pr. tildeling |
| Adgang efter man forlader institutionen | Bundet til Moodle-kontoens status | Vedvarende, ejet af modtageren |
Moodle vinder stadig på ét punkt: hvis dit eneste krav er, at ”badget eksisterer, er teknisk kompatibelt med Open Badge v2.0, og lever inde i det LMS, kursisten allerede bruger,” koster indbyggede badges ikke noget ekstra og kræver intet integrationsarbejde. Kompromiset viser sig i det øjeblik, du bekymrer dig om designkvalitet, portabilitet efter kursets afslutning, eller at gøre udstedelse til et rekrutterings-/markedsføringssignal – hvilket med tiden gælder de fleste institutioner.
For et bredere blik på, hvordan andre Open Badges-platforme sammenlignes på pris og funktioner, se sammenligningen af de billigste Open Badges-platforme. Og hvis din institution overvejer Open Badge v2.0 over for den nyere specifikation for verificerbare beviser, gennemgår Open Badge v2 vs v3 forklaret, hvilken du faktisk bør vælge i dag.
Klar til at udstede dit første verificerbare bevis? Kom i gang gratis på badges.ninja – visuel designer, offentlig verifikationsside, PDF-certifikat, Open Badge v2.0-output. Intet kreditkort krævet.
Sådan blev denne artikel til
Nogle indlæg på denne blog udarbejdes med hjælp fra en AI-assistent og gennemgås, faktatjekkes og redigeres af Badges Ninja-teamet inden udgivelse. Alle kodeeksempler og priser verificeres mod det live produkt. Læs mere om vores redaktionelle proces og AI-proces på vores side om vores redaktionelle proces .

Om forfatteren
Nacho Coll
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.
Mere fra Nacho Coll
- Automatiser Open Badges med Zapier, Make og n8n (no-code-opskrifter)27. aug. 2026 · 9min. læsning
- Sådan tilføjer du en LinkedIn “Add to Profile”-knap til dine Open Badges20. aug. 2026 · 9min. læsning
- Open Badges vs. PDF-certifikater: Hvad er det rigtige valg til dit program i 2026?10. aug. 2026 · 6min. læsning

