A Moodle natív Open Badges rendszerének leváltása Badges Ninjával (jobb tervező, ugyanaz az API)

A Moodle natívan kínál Open Badges jelvényeket, de a tervező korlátozott, és a jogosult élménye be van zárva a Moodle-ba. Bocsáss ki inkább Badges Ninja tanúsítványokat a Moodle-teljesítések alapján.

Nacho Coll Szerző: Frissítve 6 perc olvasás
A Moodle natívan kínál Open Badges jelvényeket, de a tervező korlátozott, és a jogosult élménye be van zárva a Moodle-ba. Bocsáss ki inkább Badges Ninja tanúsítványokat a Moodle-teljesítések alapján.

A Moodle már a 2.5-ös verzió óta natívan bocsát ki Open Badges jelvényeket, és sok kurzusadminisztrátor számára ez elég ok arra, hogy sose nézzen máshova. Beépített, ingyenes, és technikailag szabványkonform tanúsítványt állít elő. Akkor miért lesz annyi Moodle-adminisztrátor frusztrált, mire kiadja az ötvenedik jelvényét?

Az őszinte válasz: a Moodle jelvényrendszerét arra tervezték, hogy egy megfelelőségi pipát kipipáljon, nem arra, hogy tanúsítvány-kibocsátó termék legyen. Működik, de úgy, ahogy egy LMS-re rácsavarozott funkció működik – funkcionális, elavult, és korlátozza az a platform, amelybe be van ágyazva. Ha valaha próbáltál egy Moodle-jelvényt úgy kinézetni, hogy ne egy kör alakú clip-art ikon legyen, vagy hallottál már végzőst megkérdezni, hogy „várjunk, hol is látom ezt tulajdonképpen?”, akkor már ismered a hiányosságot.

Ez nem a Moodle lejáratása – kiváló LMS, és a jelvénykritérium-motorja (kurzusteljesítés, tevékenységteljesítés, kézi odaítélés, kohorsztagság) valóban jól átgondolt egy tanúsítvány kiváltásához. A probléma minden, ami a kiváltás után jön: a tervezőeszközök, a jogosult élménye, és a jelvény láthatósága a Moodle-példányodon kívül. Pontosan erre épült a badges.ninja, és a használatához nem kell lemondanod a Moodle teljesítési logikájáról – csak a kiváltót kell egy másik kibocsátó motorra irányítanod.

Hol vallanak kudarcot a Moodle natív jelvényei

A tervező egy koordináta-alapú képösszeállító, nem tervezőeszköz. A Moodle jelvényszerkesztője lehetővé teszi, hogy válassz egy alapképet, ráhelyezz néhány előre beállított ikonréteget, és pixeles eltolással állítsd be a pozíciót. Nincs alakzatkönyvtár, nincs palettarendszer, és nincsenek betűtípus-választási lehetőségek az ikonkészletbe sütötteken kívül. Ha a szervezetednek van márkája – logója, színpalettája, sajátos vizuális nyelve a tanúsítványaihoz –, a Moodle szerkesztője ezt nem tudja kifejezni. A legtöbb intézmény végül Photoshopban vagy Canvában tervezi meg a jelvénygrafikát, és egy lapos PNG-t tölt fel, ami teljesen értelmetlenné teszi az alkalmazáson belüli tervező meglétét.

A jogosultaknak Moodle-bejelentkezésre van szükségük, hogy lássák a saját jelvényeiket. A tanuló odaítélt jelvényei a Moodle profiloldalán élnek. Ha már túl van a kurzuson, elfelejtette az intézményi belépési adatait, vagy az intézmény azóta megszüntette a fiókját, a jelvény az ő oldaláról gyakorlatilag elveszett – még akkor is, ha az alapul szolgáló állítás (assertion) még mindig feloldható a Moodle backpack-csatlakozóján vagy a nyilvános jelvényoldalon keresztül. Nincs egy dedikált, márkázott, mindig elérhető hely, ahol a jogosult csupán az e-mail címével bejelentkezhetne, és láthatná az összes tanúsítványt, amit valaha, bármelyik kurzuson szerzett.

A megosztás csak utólagos gondolat. A Moodle képes jelvényeket küldeni egy Mozilla Backpack-kompatibilis szolgáltatásba, és minden jelvényhez nyilvános ellenőrző URL-t biztosít, de nincs beépített „Hozzáadás a LinkedIn-hez” folyamat, nincs egykattintásos megosztógomb, és nincs elköteleződési statisztika arról, hogy valaki egyáltalán megnézte-e a jelvényt a kibocsátás után. Azoknak a programoknak, amelyek azt szeretnék, hogy a jelvény szájról szájra terjedő marketingként működjön – bootcampek, továbbképzés-szolgáltatók, vállalati képzések –, ez valódi elmaradt haszon.

A tömeges műveletek esetlenek. Egy egész kohorsz jelvényezése akkor működik, ha mindenki egyszerre teljesíti a kiváltó tevékenységet a Moodle-ban. De ha egy múltbeli kohorsznak utólag kell jelvényeket pótolnod, táblázatból kell importálnod korábbi teljesítéseket, vagy egy teljesen az LMS-en kívül történt eseményért kell jelvényt kiadnod, akkor ott ragadsz az SQL-írásnál a Moodle adatbázisával szemben, vagy a kifejezetten nem jelvényekhez épített CSV-importáló eszközökkel kell küzdened.

A csereminta: tartsd meg a Moodle kiváltóit, cseréld le a kibocsátót

Ennek megoldásához nem kell elhagynod a Moodle-t. A legtisztább minta az, ha hagyod, hogy a Moodle továbbra is azt csinálja, amiben jó – kurzusteljesítés, tevékenységteljesítés, kohorsztagság nyomon követése –, és abban a pillanatban, amikor egy teljesítési feltétel kiváltódik, meghívatod vele a Badges Ninja API-t, a natív jelvénye odaítélése helyett (vagy amellett).

A Moodle ezt néhányféleképpen támogatja:

  1. Kurzusteljesítési webhook / lekérdezés a Moodle Web Services (REST) API-n keresztül. A Moodle core_completion API-ja felhasználónkénti és kurzusonkénti teljesítési állapotot tesz elérhetővé. Egy könnyűsúlyú ütemezett feladat (egy Moodle ütemezett cron-feladat, vagy egy külső cron job, amely a Moodle REST API-ját hívja) lekérdezheti az újonnan teljesített beiratkozásokat, és mindegyikhez meghívhatja a Badges Ninja jelvény-odaítélő végpontját.

  2. Egy helyi bővítmény horog. Ha van fejlesztőd a csapatban, a Moodle eseményrendszerét (\core\event\course_completed) megfigyelheti egy kis helyi bővítmény, amely a teljesítés pillanatában HTTP-kérést indít – lekérdezési késleltetés nélkül.

  3. Zapier/Make/n8n mint összekötő elem, ha inkább elkerülnéd, hogy hozzányúlj a Moodle kódbázisához – a Moodle teljesítési eseményeket küldhet egy webhook-fogadónak, amelyet egy no-code automatizálási eszköz alakít át odaítélési hívássá.

Íme a tényleges odaítélési hívás, miután megvan a teljesítő felhasználó neve és e-mail címe:

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"
  }'

Vagy Node-ban, bármilyen ütemezett feladaton vagy webhook-fogadón belül, amit futtatsz:

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();

A jogosult e-mail címe tároláskor SHA-256 hasheléssel van védve, az odaítélés automatikusan kap egy egyedi ellenőrző URL-t, egy QR-kódot és egy A4-es PDF-tanúsítványt, és – ami kritikus – a jogosult egy magic-linkes bejelentkezéssel igényelheti a badges.ninja/me oldalon, külön Moodle-fiók nélkül. A teljes kérés/válasz felépítést lásd az odaítélési API referenciában, az azonosítási útmutatóban pedig azt, hogyan működnek végig az API-kulcsok.

Ha inkább kötegelve csinálnád – mondjuk egy egész félév teljesítéseit pótolnád be egyetlen menetben, valós idejű események bekötése helyett –, exportáld a teljesítéseket a Moodle-ból CSV-ként, és használd közvetlenül a tömeges odaítélési folyamatot, amely nagy fájloknál támogatja a szüneteltetést/folytatást. Ezt részletesen tárgyalja a hogyan bocsáss ki Open Badges jelvényeket CSV-ből című cikk.

Maga a jelvény megtervezése

Ha az összekötés megvan, a tényleges jelvénytervezés percekbe telik, nem egy jegybe a webes csapatodnak. A vizuális tervező 80+ alakzatsablont, valódi színpaletta-rendszert, ikonkönyvtárakat és egyéni betűtípus-feltöltést kínál – így egy „Haladó statisztika – Teljesítve” jelvény tényleg úgy nézhet ki, mintha az intézményed márkájához tartozna, nem pedig egy általános Moodle-teljesítményikonhoz.

API-kulcsok – üres állapot

Minden API-kulcs hatóköre korlátozott, és visszavonható ugyanabból az irányítópultból, ahol a jelvényeket és a kibocsátókat kezeled, így az integrációs hitelesítő adat átadása egy fejlesztőnek (vagy egy automatizálási eszköznek, mint a Zapier) nem jelenti a fő fiókod belépési adatainak megosztását.

Kulcs létrehozása – név űrlap

Egymás mellett: a jogosult élménye

Moodle natív jelvényBadges Ninja
Hol tekinti meg a jogosultA Moodle profilon belül, bejelentkezést igényelbadges.ninja/me, magic-link, jelszó nélkül
Nyilvános ellenőrzésIgen, jelvényenkénti nyilvános URLIgen, Open Badge v2.0 JSON-LD végpont
TervezőeszközökRögzített ikon + pozíció-eltolások80+ sablon, paletták, egyéni betűtípusok/ikonok
LinkedIn-megosztásKézi, beépített gomb nélkülNatív Hozzáadás-a-LinkedIn-profilhoz folyamat
Tömeges visszamenőleges kibocsátásSQL vagy kézi CSV-megoldásBeépített tömeges odaítélés, szüneteltetéssel/folytatással
Elköteleződés láthatóságaNincsMegtekintési/megosztási statisztika odaítélésenként
Hozzáférés az intézmény elhagyása utánAz intézmény Moodle-fiókstátuszához kötöttTartós, a jogosult tulajdonában

A Moodle egy dologban mégis nyer: ha az egyetlen követelményed az, hogy „a jelvény létezzen, technikailag megfeleljen az Open Badge v2.0-nak, és a tanuló által már használt LMS-en belül éljen”, akkor a natív jelvények semmi pluszba nem kerülnek, és nem igényelnek integrációs munkát. A kompromisszum abban a pillanatban jelentkezik, amikor számít a tervezés minősége, a kurzus végét követő hordozhatóság, vagy a kibocsátás toborzási/marketingjelzéssé alakítása – ami előbb-utóbb a legtöbb intézményre igaz.

Ha szélesebb körű képet szeretnél arról, hogy más Open Badges platformok hogyan viszonyulnak egymáshoz árban és funkciókban, nézd meg a legolcsóbb Open Badges platformok összehasonlítását. Ha pedig az intézményed az Open Badge v2.0-t mérlegeli az újabb ellenőrizhető hitelesítvények szabványával szemben, az Open Badge v2 vs v3 elmagyarázva című cikk bemutatja, melyiket érdemes ténylegesen bevezetni ma.

Készen állsz az első ellenőrizhető tanúsítványod kibocsátására? Kezdd el ingyen a badges.ninja-n – vizuális tervező, nyilvános ellenőrző oldal, PDF-tanúsítvány, Open Badge v2.0 kimenet. Bankkártya nem szükséges.

Nacho Coll

A szerzőről

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.

Vissza a Blogra

Kapcsolódó cikkek