prostředí Run-Time v kostce
pro implementaci rozhraní API sestávajícího z 8 funkcí (viz část 3.3 dokumentu SCORM Run-Time Environment pro úplnou specifikaci), ke kterému má obsah přístup ke komunikaci s LMS, je vyžadováno prostředí vyhovující SCORM.
- LMSInitialize ()
- Lmsgetvalue ()
- LMSSetValue ()
- LMSCommit ()
- LMSGetLastError ()
- Lmsgetdiagnostic()
toto API je implementováno tím, co SCORM nazývá adaptérem API. Adaptér API musí být umístěn v okně, které je otvíracím oknem nebo nadřazeným rámcem okna, které obsahuje obsah. To znamená, že LMS může spustit obsah buď v novém okně nebo v sadě snímků. Adaptér API musí být objekt ECMAScript (JavaScript) s názvem „API“, který je přístupný přes DOM. Adaptér musí implementovat 8 výše uvedených funkcí.
veškerá komunikace mezi obsahem a LMS je zpracována tímto adaptérem, takže se autor obsahu nemusí starat o komunikaci se serverem, potřebuje pouze najít adaptér API a provést příslušná volání JavaScriptu. Toto oddělení klienta a Serveru je nezbytné pro SCORM v tom, že zajišťuje přenositelnost obsahu tím, že ho nutí běžet na standardní platformě (webový prohlížeč). Je důležité si uvědomit, že obsah může komunikovat pouze s LMS prostřednictvím tohoto adaptéru JavaScript API. Neexistuje žádná SCORM konformní metoda pro obsah komunikovat s LMS prostřednictvím jiných metod, jako jsou webové služby, nebo HTTP požadavky.
pro minimální SCORM konformity, jediná věc, kterou kus obsahu je třeba udělat, je volání LMSInitialize() při spuštění a pak volat LMSFinish() při ukončení. Může to být tak jednoduché.
v reálném světě však chceme mnohem bohatší interakci. Chceme být schopni hlásit výsledky testů, sledovat čas, záložku naší poslední polohy a další. Zde přicházejí hrát další tři funkce. SCORM definuje datový model sestávající z prvků datového modelu, ze kterých může obsah číst a zapisovat, což usnadňuje tento druh funkčnosti (úplný seznam prvků datového modelu viz bod 3.4 dokumentu SCORM Run-Time Environment). LMSGetValue () načte hodnotu prvku datového modelu z LMS, LMSSetValue () zapíše hodnotu prvku datového modelu do LMS a LMSCommit () může být volán po nastavení všech hodnot, aby se zajistilo, že data přetrvávají.
například:
cmi.jádro.lesson_location je datový prvek, který popisuje umístění uživatele v obsahu
když obsah začíná (poté, co nazval LMSInitialize ();), může chtít provést toto volání, aby zjistil, kde uživatel přestal, a vrátil ho k tomuto bodu:
strLastLocation = objAPI.LMSGetValue("cmi.core.lesson_location");
když obsah přejde do jiné oblasti, může toto volání uložit polohu uživatele:
blnSuccess = objAPI.LMSSetValue("cmi.core.lesson_location", "page3"); blnSuccess = objAPI.LMSCommit("");
další tři funkce umožňují obsahu zachytit a inteligentně řešit chyby.
implementace tohoto API adaptéru v LMS je o něco více zapojena než jeho použití z obsahu. Adaptér API musí implementovat všechny funkce API a podporovat většinu datového modelu SCORM. Choulostivý problém spojený s implementací SCORM konformní LMS je, jak zvládnout komunikaci mezi prohlížečem a serverem. Mnoho lidí se rozhodne to udělat s appletem Java, ale jiní byli úspěšní pomocí Flash, ovládacích prvků ActiveX a čistého JavaScriptu.