Замена Moodle-ових нативних Open Badges беџева платформом Badges Ninja (бољи дизајнер, исти API)

Moodle нуди нативне Open Badges, али је дизајнер ограничен, а искуство примаоца је закључано унутар Moodle-а. Уместо тога, издајте Badges Ninja креденцијале на основу Moodle завршетака.

Nacho Coll Аутор Ажурирано 7 мин читања
Moodle нуди нативне Open Badges, али је дизајнер ограничен, а искуство примаоца је закључано унутар Moodle-а. Уместо тога, издајте Badges Ninja креденцијале на основу Moodle завршетака.

Moodle нативно издаје Open Badges још од верзије 2.5, и многим администраторима курсева то је довољан разлог да никада не потраже друго решење. Уграђено је, бесплатно је и технички производи креденцијал усклађен са стандардима. Зашто онда толико Moodle администратора на крају буде фрустрирано док изда свој педесети беџ?

Искрен одговор: Moodle-ов систем беџева осмишљен је да закачи кућицу усклађености, а не да буде производ за издавање креденцијала. Ради, али ради онако како ради функција накнадно прикачена на LMS — функционално, застарело и ограничено оквирима платформе унутар које постоји. Ако сте икада покушали да Moodle беџ изгледа као нешто друго осим округле clip-art иконице, или сте чули дипломца како пита „чекај, где ја то заправо видим?“, тај јаз вам је већ познат.

Ово није критика Moodle-а — реч је о одличном LMS-у, а његов механизам критеријума за беџеве (завршетак курса, завршетак активности, ручна доделa, чланство у кохорти) заиста је добро осмишљен за покретање креденцијала. Проблем је све што долази после окидача: алати за дизајн, искуство примаоца и видљивост беџа изван ваше Moodle инстанце. Управо за тај део направљен је badges.ninja, а не морате да се одрекнете Moodle-ове логике завршетка да бисте га користили — само усмерите окидач ка другачијем механизму за издавање.

Где Moodle-ови нативни беџеви подбацују

Дизајнер је композитор слика заснован на координатама, а не алат за дизајн. Moodle-ов уређивач беџева омогућава вам да изаберете основну слику, додате неколико унапред задатих иконица преко ње и подесите позицију помоћу помераја у пикселима. Нема библиотеке облика, нема система палета, нема избора фонтова осим оних уграђених у скуп иконица. Ако ваша организација има бренд — логотип, палету боја, специфичан визуелни језик за ваше сертификате — Moodle-ов уређивач то не може да изрази. Већина институција на крају дизајнира графику беџа у Photoshop-у или Canva-и и отпрема равну PNG слику, чиме се поништава сврха постојања уграђеног дизајнера.

Примаоцима је потребна Moodle пријава да би видели сопствене беџеве. Беџеви додељени полазнику налазе се унутар његове Moodle профилне странице. Ако је наставио даље од курса, заборавио институционалне креденцијале, или је институција у међувремену укинула његов налог, беџ практично нестаје са његове стране — иако основна тврдња (assertion) можда и даље може да се разреши преко Moodle-овог backpack конектора или јавне странице беџа. Не постоји наменско, брендирано, увек доступно место на коме прималац може да се пријави само помоћу е-поште и види сваки креденцијал који је икада зарадио на било ком курсу.

Дељење је накнадна мисао. Moodle може да пошаље беџеве у услугу компатибилну са Mozilla Backpack-ом и излаже јавни URL за верификацију сваког беџа, али нема уграђеног тока „Додај на LinkedIn“, нема дугмета за дељење једним кликом, нити аналитике ангажовања о томе да ли је ико икада погледао беџ након издавања. За програме који желе да беџ делује као маркетинг од уста до уста — bootcamp-ове, пружаоце сталног усавршавања, корпоративне обуке — то је стваран пропуштени трошак.

Групне операције су незграпне. Додела беџа целој кохорти функционише ако сви истовремено унутар Moodle-а заврше активност окидача. Али ако треба накнадно да попуните беџеве за прошлу кохорту, увезете историјске завршетке из табеле, или издате беџ за нешто што се десило потпуно изван LMS-а, остаје вам да пишете SQL над Moodle-овом базом података или да се боритe са алатима за увоз CSV-а који нису направљени посебно за беџеве.

Образац замене: задржите Moodle-ове окидаче, промените издаваоца

Да бисте ово решили, не морате да мигрирате са Moodle-а. Најчистији образац је да пустите Moodle да настави да ради оно у чему је добар — праћење завршетка курса, завршетка активности, чланства у кохорти — и да га натерате да позове Badges Ninja API у тренутку када се испуни услов завршетка, уместо (или уз) доделу сопственог нативног беџа.

Moodle то подржава на неколико начина:

  1. Webhook за завршетак курса / polling Moodle Web Services (REST). Moodle-ов core_completion API излаже стање завршетка по кориснику и по курсу. Лаган заказани задатак (Moodle-ов заказани cron задатак, или спољашњи cron посао који погађа Moodle-ов REST API) може да проверава новозавршене уписе и за сваки од њих позове Badges Ninja awards крајњу тачку.

  2. Кука локалног додатка (plugin-а). Ако у тиму имате програмера, Moodle-ов систем догађаја (\core\event\course_completed) може да посматра мали локални додатак који одмах по завршетку покреће HTTP захтев — без кашњења услед polling-а.

  3. Zapier/Make/n8n као спона, ако радије не бисте дирали Moodle-ову кодну базу — Moodle може да шаље догађаје завршетка ка пријемнику webhook-ова који их no-code алат за аутоматизацију претвара у позив за доделу.

Ево стварног позива за доделу, чим имате име и е-пошту корисника који је завршио курс:

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

Или у Node-у, унутар било ког заказаног задатка или пријемника webhook-ова који користите:

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

Е-пошта примаоца се хешира SHA-256 алгоритмом при чувању, доделa аутоматски добија јединствени URL за верификацију, QR код и A4 PDF сертификат, и — што је кључно — прималац може да га преузме путем пријаве magic-link-ом на badges.ninja/me, без потребе за посебним Moodle налогом. Погледајте потпун облик захтева/одговора у референци API-ја за доделе и водичу за аутентификацију о томе како API кључеви функционишу од почетка до краја.

Ако радије то радите у серијама — рецимо, накнадно попуњавање завршетака за читав семестар у једном пролазу уместо повезивања догађаја у реалном времену — извезите завршетке из Moodle-а као CSV и директно користите ток групне доделе, који подржава паузу/наставак за велике датотеке. То је детаљно обрађено у како издати Open Badges из CSV-а.

Дизајнирање самог беџа

Када је инфраструктура спремна, стварни дизајн беџа траје минуте, а не пријаву вашем веб тиму. Визуелни дизајнер вам даје преко 80 шаблона облика, прави систем палета боја, библиотеке иконица и отпремање прилагођених фонтова — тако да беџ за „Advanced Statistics — Completed“ заиста може да изгледа као да припада бренду ваше институције, уместо генеричкој Moodle иконици постигнућа.

API Keys — empty state

Сваки API кључ има дефинисан опсег и може да се опозове са исте контролне табле на којој управљате беџевима и издаваоцима, тако да предаја интеграционог креденцијала програмеру (или алату за аутоматизацију попут Zapier-а) не значи дељење пријаве на ваш главни налог.

Create key — name form

Упоредо: искуство примаоца

Moodle нативни беџBadges Ninja
Где га примаоци прегледајуУнутар Moodle профила, потребна пријаваbadges.ninja/me, magic-link, без лозинке
Јавна верификацијаДа, јавни URL по беџуДа, Open Badge v2.0 JSON-LD крајња тачка
Алати за дизајнФиксна иконица + помераји позиције80+ шаблона, палете, прилагођени фонтови/иконице
Дељење на LinkedIn-уРучно, без уграђеног дугметаНативни ток додавања на LinkedIn профил
Групно историјско издавањеSQL или ручно CSV решењеУграђена групна доделa са паузом/наставком
Видљивост ангажовањаНиједнаСтатистика прегледа/дељења по додели
Приступ након напуштања институцијеВезан за статус Moodle налогаТрајан, у власништву примаоца

Moodle и даље побеђује у једној ствари: ако вам је једини захтев „беџ постоји, технички је усклађен са Open Badge v2.0 и налази се унутар LMS-а који полазник већ користи“, нативни беџеви не коштају ништа додатно и не захтевају никакав интеграциони посао. Компромис се појављује у тренутку када вам је стало до квалитета дизајна, преносивости након завршетка курса, или претварања издавања у сигнал за регрутацију/маркетинг — а то је, временом, случај код већине институција.

За шири преглед како се друге платформе за Open Badges упоређују по цени и функцијама, погледајте поређење најјефтиније платформе за Open Badges. А ако ваша институција одмерава Open Badge v2.0 наспрам новије спецификације проверљивих креденцијала, објашњење Open Badge v2 наспрам v3 обрађује коју од њих данас заправо треба лансирати.

Спремни да издате свој први проверљиви креденцијал? Почните бесплатно на badges.ninja — визуелни дизајнер, страница за јавну верификацију, PDF сертификат, излаз у формату Open Badge v2.0. Кредитна картица није потребна.

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.

Назад на блог

Повезани чланци