You are on page 1of 0

A SCORM 1.

2 futsidej krnyezete
Duchon Jen

A futsidej krnyezet lnyege


Legfontosabb kvetelmny, hogy a tananyagot egy oktatsi krnyezetnek kpesnek kell lennie beolvasni, kezelni, s
megfelel minsgben a hallgatk el trni. A szabvny nem tartalmaz informcikat arra vonatkozan, hogy egy
oktatsi krnyezet (LMS) hogyan mkdik, a szabvny csak arrl ad tjkoztatst, hogy a SCORM szerint felptett
tananyag miknt illeszthet egy LMS-hez, s azzal milyen kommunikcikat kell lefolytatnia.

CL: A tanulsi folyamat erforrsainak jrafelhasznlsa illetve jrahasznostsa egy sszetett Tanuls Menedzsel
Rendszer (LMS) segtsgvel.

A SCORM futsidej krnyezete a kvetkez brn lthat:

Elindt mechanizmus: Definilja a LMS-nek a webalap tanuls erforrsainak indtshoz szksges


mdot, s eljrsokat, ktelezettsgeket definil a kommunikcis rendszer szmra. Erre azrt van szksg,
hogy a LMS a HTTP protokollon keresztl elindtson egy asset hozzfrst (ennek az asset-nek pedig az API
megtallsa a feladata).

API (Alkalmazi Program Interfsz): Kommunikcis mechanizmus, az oda-vissza kommunikcit


valstja meg a LMS s a SCO kztt (pl a LMS informlsa a SCO llapotrl, adatklds, s fogads a SCOtl). Elrejti a megvalstsi rszleteket a SCO-tl: a SCO csak azt mondja meg a LMS-nek, hogy mit csinljon, a
hogyan mr a LMS feladata.

Adatmodell: A kommunikcihoz szksges informcikat tartalmazza (pl. a tudsbzis llapota)

API
Az API egy kommunikcis mechanizmus, az oda-vissza kommunikcit valstja meg a LMS s a SCO kztt (pl a LMS
informlsa a SCO llapotrl, adatklds, s fogads a SCO-tl). Elrejti a megvalstsi rszleteket a SCO-tl: a SCO
csak azt mondja meg a LMS-nek, hogy mit csinljon, a hogyan mr a LMS feladata.

A SCORM kzvetlenl a futsidej krnyezet AICC ltal definilt CMI001 Guidelines for Interoperability dokumentumra
pt ezen a terleten.

Az API-ra vonatkoz alapvet szablyok

A funkci nevek kis- s nagybet rzkenyek, s muszj mindig pontosan azt kifejeznik, amit csinlnak.

A funkci paramterek s argumentumok kis- s nagybet rzkenyek. Az sszes paramter kisbets.

Minden egyes hvs egy API funkci, a tbbi hibakezel funkci, hibakdok alaphelyzetbe lltanak.

A LMS ktelezettsgei az API fel


A SCORM megkveteli: egy LMS tmogasson egy API csatolt, amely megvalstja a szksges API funkcikat. Ennek
a csatolnak kell megvdenie a SCO-kat a sajtsgos csatol megvalstsok rszleteitl gy, hogy a SCO-knak nem
kell ismernik a rejtett kommunikcis infrastruktra ismerett, mert a szabvnyostott LMS Alkalmazi Program
Interfsz (API) ltezse elegend.

A kvetkezk szksgesek egy API csatol hasznlathoz:

A LMS-nek kell indtania a SCO-t egy bngsz ablakban, amely a LMS ablak egy gyermek ablaka/kerete ami
tartalmazza az API csatolt.

Az API csatolt a LMS-nek kell elltnia.

Az egyetlen tmogatott mechanizmusa az API interakcinak a SCO-ktl ECMAScript (JavaScript) hvsokkal


trtnik.

Az API csatolnak hozzfrhetnek kell lennie a DOM-on keresztl, mint egy objektum nv: "API"

Plda: Egy API csatol megvalsts Java Applet segtsgvel:


public class API extends Applet
{
public String LMSInitialize( String parameter )
{ . . .}
public String LMSGetValue( String element )
{ . . }
public String LMSSetValue( String element, String value )
{. . .}
public String LMSCommit( String parameter )
{. . .}
public String LMSFinish( String parameter )
{. . .}
public String LMSGetLastError()
{. . .}
public String LMSGetErrorString( String errorCode )
{. . .}
public String LMSGetDiagnostic( String errorCode )
{. . .}

Megjegyzs: Az API csatolnak megvalsthatnak kell lenni ms programnyelvben is (pl. C++),s "betltttnek" kell
lennie, pldul egy bngsz plug-in formjban.

A SCO ktelezettsge az API fel


A SCO minimlis ktelezettsge, hogy elkldje a LMS-nek az Initialize("") s LMSFinish("") API hvsokat. Azrt, hogy
ezt megtegye, a tartalomnak kpesnek kell lennie lokalizlni az API csatolt. A LMS ktelezettsge, hogy elhelyezzen
egy API csatolt a DOM ablak hierarchiban azrt, hogy a SCO azt rekurzvan megkereshesse a szl s/vagy
megnyitott ablakhierarchiban. A tartalom ktelezettsge, hogy megtallja, s kommunikcit ltestsen a LMS API
csatoljval. Azt, hogy ezt hogyan csinlja, azt a SCORM nem rja el!

A kvetkez plda bemutat egy algoritmust, amelyet a SCO kpes hasznlni a LMS API csatoljnak lokalizlshoz.
Ezeket a funkcikat nem rja el a SCORM, gy vlaszthatunk ms utat is a lokalizlshoz.

<SCRIPT LANGUAGE=JAVASCRIPT >


var findAPITries = 0;
function findAPI(win)
{
// Ciklus AMIG az ablak (win) tartalmazza az API-t s
// ha az ablak (win) nem tartalmazza az APIt s
// az ablaknak (win) van szl ablaka, s a szl ablak
// nem ugyanaz, min az ablak (win)
while ( (win.API == null) &&
(win.parent != null) &&
(win.parent != win) )
{
// Nveli a findAPITries szmllt 1-el.
findAPITries++;
// Megjegyzs: 7 egy tetszleges szm,
// lennie, mint ami elegend
// Ha 7 sikertelen prblkozsunk van,
// s a funkci ?null" tartalommal tr
if (findAPITries > 7)
{
alert("Error finding API -- too deeply
return null;
}

de ennek tbbnek kell


akkor hiba jelzs
vissza

nested.");

// bellt a (win) vltozt gy, hogy mutasson


// az aktulis ablak szljre, aztn keresse az API-t jra.
win = win.parent;
}
// A ciklus vgn ott llunk az ablak hierarchiban, ahol kell
// Megvan az API!!!!!
return win.API;
}
function getAPI()
{

// Elszr megkeressk az API-t az aktulis ablakban


var theAPI = findAPI(window);
// Ha az API ?null" (Nem tudtuk megtallni az aktulis ablakban)
// s az aktulis ablaknak van nyitott ablaka
if ( (theAPI == null) &&
(window.opener != null) &&
(typeof(window.opener) != "undefined") )
{
// Keressk az aktulis ablak nyitott ablakban
theAPI = findAPI(window.opener);
}
// Ha az API nem tallhat
if (theAPI == null)
{
// Figyelmeztetjk a felhasznlt, hogy nem tallhat az API
alert("Unable to find an API adapter");
}
return theAPI;
}

API adapter funkcii

Execution State (Vgrehajtsi llapot):LMSInitialize("") s LMSFinish("")

State Management (llapot Menedzsels): LMSGetLastError(), LMSGetErrorString(hibakd) s


LMSGetDiagnostic(paramter)

Data Transfer (Adatklds):LMSGetValue(adatmodellelem), LMSSetValue(adatmodellelem, rtk) s


LMSCommit(""))

Execution State (Vgrehajtsi llapot)


Ebben az llapotban kt funkci hasznlhat.
Az egyik esetben a SCO inicializlst kezdemnyez a LMS-tl, a msik esetben pedig a SCO szeretn bezrni a
kommunikcit.

LMSInitialize() - Inicializls kezdemnyezse

LMSFinish() - kommunikci bezrsa

LMSFinish()
Lers: A SCO-nak ezt kell meghvnia, amikor mr nincs szksge tovbbi kommunikcira a LMS-el. (Ha a
LMSInitialize() sikeresen meghvdott.)
Kt dolgot trtnik:
1. A SCO megbizonyosodik arrl a nhny bellt adatrl (LMSSetValue()) amely a LMS ltal vgrehajtdott.
2. A SCO befejezi a kommunikcit a LMS-el.
Szintaxis: LMSFinish(parameter)

parameter

"" - Egy res Sztring (Ms rtkek ksbbi fejlesztsekre fenntartva.)

Visszatrsi rtk: Sztring reprezentl egy boolean rtket.

"true" - sikeres befejezs

"false" - sikertelen befejezs

Ha a visszatrsi rtk "True", akkor a SCO nem hv tbb API funcit.


Ha a visszatrsi rtk "False", az azt jelenti a SCO szmra, hogy a LMS egy ismeretlen llapotban van, s tovbbi
API hvsokat lehet vagy nem lehet vgrehajtdnia a LMS ltal.
Plda:
var result = LMSFinish("");

LMSInitialize()
Lers: Ez a funkci jelzi az API csatolnak, hogy a SCO kommuniklni fog a LMS-el. Engedlyt kr a LMS specifikus
kezdeti paramterek kiadsra. A SCO-nak ktelez ezt a funkcit hvnia, mieltt meghvna brmely ms API funkcit.
Szintaxis: LMSInitialize(parameter)

Parameter

"" - Egy res Sztring (Ms rtkek ksbbi fejlesztsekre fenntartva.)

Visszatrsi rtk: Sztring reprezentl egy boolean rtket.

"true" - sikeres inicializls

"false" - sikertelen inicializls

Ha a visszatrsi rtk "False", az azt jelenti a SCO szmra, hogy a LMS egy ismeretlen llapotban van, s azt, hogy
nhny tovbbi API hvs nem fog vgrehajtdni a LMS-ben.
Plda:
var result = LMSInitialize("")
if (result == "false")
{
// hiba, le kell kezelni
}
else
{
// folytathat a SCO vgrehajts
}

A SCO kzli az API csatolval azokat a tartalmakat, amelyek szksgesek a kommunikcihoz a LMS-el.
Tipikus visszatrsi rtk: "True"

Data Transfer (Adatklds)


Az adatklds llapota. A SCO s a LMS kommunikci itt zajlik. Kizrlag rtkbelltsra (set) s rtkolvassra (get)
korltozdik a kommunikci
Fggvnyei:

LMSGetValue(data model element)

LMSSetValue(data model element, value)

LMSCommit("")

LMSCommit()
Lers: Ha egy API csatol "kesselt" rtket vesz a SCO fell LMSSetValue() hvson keresztl. Ez a hvs megkvnja,
hogy legyenek mg fel nem dolgozott rtkek. Nhny megvalstsnl az API csatol amilyen gyorsan csak lehet,
megprbl rtket adni a vett rtknek, s azt nem a kliensre bzni. Az ilyen megvalstsok esetn, ez az API hvs
felesleges, s nem okoz tovbbi akcikat az API fell.
Szintaxis: LMSCommit(parameter)

Parameter

"" - res sztring (Ms rtkek ksbbi fejlesztsekre fenntartva.)

Visszatrsi rtk: Sztring reprezentl egy boolean rtket.

"true" - a mvelet sikeres volt

"false" - a mvelet sikertelen volt.

Ha a visszatrsi rtk "False", az azt jelenti a SCO szmra, hogy a LMS egy ismeretlen llapotban van, s tovbbi
API hvsoknak lehet vagy nem lehet vgrehajtdnia a LMS ltal.
Plda:
var result = LMSCommit("");

LMSGetValue()
Lers: Ez a funkci megengedi a SCO szmra, hogy informcit nyerjen a LMS-tl. A kvetkezk miatt hasznljk:

rtkads a klnbz kategriknak (csoportoknak-Groups) s elemeknek az adatmodellben

Adatmodell verzitmogats

Specilis kategria vagy elem tmogatsa

Aktulis adatelemek szma egy tmbben vagy elemlistban

A teljes adatelemek neve s/vagy kulcsszava (keyword) elrhet paramterknt. A szksges adatmodell paramter
aktulis rtkt visszakapjuk. Az egyes hvsoknl mindig 1 rtket (sztring) kapunk vissza.
Szintaxis: LMSGetValue(parameter)

parameter

Datamodel.group.element - A megnevezett elem rtkvel tr vissza.

Datamodel._version - A LMS ltal tmogatott adatmodell verzijnak megllaptsa.

Datamodel.element._count - Egy tmb aktulis elemeinek szmnak megllaptsa. (Elemek


darabszmt adja, nem az utols elem indexszmt.) [egsz szm]

Datamodel.element._children - A LMS ltal tmogatott csoportok vagy kategrik (group or


category) eleminek megllaptsa.

Visszatrsi rtk: Az sszes rtk sztring tpus

Szeparlt lista az sszes elemnvrl

res sztring, ha egy elemnek nincs gyermeke, de az tmogatott.

res sztring, ha LMS ltal nem tmogatott elemrl van sz

Egy alszekvencia hvs az utols hibra (LMSGetLastError()) kpes beazonostani a nem tmogatott elemeket.

Plda:
var value = LMSGetValue("cmi.core.student_name") //Tipikus visszatr rtk
lehet: "Hyde, Jackson".
var value = LMSGetValue("cmi.core.lesson_status") //Tipikus visszatr rtk
lehet: "incomplete".
var value = LMSGetValue("cmi._version")
var value = LMSGetValue("cmi.student_preferences._children")

LMSetValue()
Lers: A SCO ezzel a funkcival kld informcit a LMS-nek. Az API csatolnak kell megtervezni az azonnali
informcikldst a LMS fel, vagy elre megadott kldsi informcik alapjn, ms ton. A funkci hasznlhat az
adatmodell klnbz elemeinek s csoportjainak adott rtkn. A teljes adatelemek neve elrhet paramterknt.
Egy rtk kldhet az egyes hvsoknl.
Szintaxis: LMSSetValue(parameter, value)

parameter: Az adatmodellben definilt, teljes, hibtlan neve. Az argumentum sztring, idzjelek kztt.

Plda paramterek:
datamodel.element - Kategria vagy csoportnv definils az adatmodellben.
datamodel.group.element - Egy elem nevnek definilsa az adatmodellben.

value: Sztring, de kompatibilisnek kell lennie az adatmodellel.

Visszatrsi rtk: Sztring reprezentl egy boolean rtket.

"true" - a mvelet sikeres volt

"false" - a mvelet sikertelen volt.

Plda:
// A cmi.core.score.raw rtkt 95-re lltjuk.
// Ha meghvjuk ezutn a LMSGetValue("cmi.core.score.raw") funkcit, az 95-el
fog visszatrni.
var result = LMSSetValue("cmi.core.score.raw","95");

State Management (llapot menedzsment)


Hrom funkcival rendelkezik, hogy lekezelje a hibkat

LMSGetLastError(),

LMSGetErrorString(errornumber)

LMSGetDiagnostic(parameter)

LMSGetDiagnostic()
Lers: Rszletes lerssal szolgl egy-egy hibrl.
Szintaxis: LMSGetDiagnostic(parameter)

parameter - Kt formja van

Egsz szm (hibakd) - Rszletes listt ad az adott hibrl.

res sztring - A legutbbi hibrl ad lerst.

Visszatrsi rtk: Sztring.


Plda:
var moreInfo = LMSGetDiagnostic("403");

LMSGetErrorString()
Lers: Ez a funkci engedlyezi a tartalomhoz hozzrendelni egy hibakddal megadott hiba szveges lerst.
Szintaxis: LMSGetErrorString(errornumber)

errornumber: Egsz szm, sztringknt megadva

Visszatrsi rtk: Sztring, a hiba rvid neve


Plda:
var errorString = LMSGetErrorString("403"); // errorString = "Element is read
only"

LMSGetLastError()
Lers: Ez a funkci egy hiba sttuszkdot ad eredmnyl az t megelz API hvs eredmnyessgrl. a SCO-nak
minden egyes hiba fellpse esetn helyre kell hoznia a hibs kdot. Nhny hvs (LMSGetErrorString(), s

LMSGetDiagnostic()) esetn a kd trldhet.


Szintaxis:

LMSGetLastError()

Visszatrsi rtk: Egsz szm sztring formtumban.


Hiba kategrik:

100- General errors (ltalnos hibk)

200- Syntax errors (Szintaktikai hibk)

300- LMS errors (LMS hibk)

400- Data model errors (Adatmodell hibk)

Tipikus hibazenetek: (Rszleteket lsd ksbb)

0 - No error

101 - General exception

201 - Invalid argument error

202 - Element cannot have children

203 - Element not an array - cannot have count

301 - Not initialized

401 - Not implemented error

402 - Invalid set value, element is a keyword

403 - Element is read only

404 - Element is write only

405 - Incorrect Adattpus

Plda:
var errorCode = LMSGetLastError();

API hibakdok
Kd
"0"

Ismertet
Nincs hiba

Felhasznls
Az API hvs sikeres volt.

"101"

ltalnos
megszakts

ltalnos kivtel jelzsre szolgl.


Akkor jelez, ha a SCORM futsidej krnyezetnek adatmodell eleme nem
ltezik, vagy egy rvnytelen paramtert hvtunk az API-n keresztl. Pl.

"201"

rvnytelen
argumentum hiba

Pl.

LMSGetValue("cmi.core.zip_code") //"cmi.core.zi
p_code" Nem egyvaldi CMI adatmodell elem

LMSInitialize("init") //Az LMSInitialize("")


paramtere res sztring

Akkor keletkezik, ha a LMSGetValue() hvs olyan kategrit vagy elemet hv az


adatmodellbl, amelyik nem rendelkezik _children tmogatssal.
"202"

Elemnek nincs
gyermeke

Pl.
LMSGetValue("cmi.student_id._children")

Akkor keletkezik, ha az LMSGetValue() hvs olyan kategrit vagy elemet hv


az adatmodellbl, amelyik nem rendelkezik _count tmogatssal.

"203"

Az elem nem tmb.


Nem lehet
Pl.
megszmolni.

LMSGetValue("cmi.core._count")

"301"

Nincs inicializlva

Akkor keletkezik, ha LMSInitialize("") hvs eltt trtnik brmilyen API funkci.


Akkor keletkezik, amikor egy hvs ltrehoz egy adatmodell elemet, amelyik
nincs tmogatva az LMS ltal, vagy ha msik, SCORM adatmodellen kvli
adatmodell van hasznlva.
Pl.

"401"

Nem
megvalsthat
hiba.
Pl.

LMSGetValue("cmi.objectives.0.id")
//A "cmi.objectives.0.id" elem nem opcionlis
elem.
//HA az LMS nem tmogatja ezt az elemet, akkor
az LMSnek res sztringgel kell visszaadnia s
401-es hibakdot kldeni.

LMSGetValue("xyz.score.result")
//A "xyz.score.result" egy rvnyes valid SCORM
Run-Time Environment adatmodell elem.
//Ebbl kvetkizik: LMS-nek kldenie kell a
401-es hibakdot, s res sztring rtket.

Akkor keletkezik, ha egy LMSSetValue() hvs paramtere kulcssz.


"402"

rvnytelen bellt Pl.


rtk, az elem egy
kulcssz.

LMSSetValue("cmi.core._children","student_id,st
udent_name") //A "cmi.core._children" egy
kulcssz

Akkor keletkezik, ha egy LMSSetValue() hvs egy rsvdett elemen trtnik


"403"

Az elem rsvdett

Pl.
LMSSetValue("cmi.core.student_id","JoeStudent")
//A "cmi.core.student_id" egy rsvdett CMI
elem

Akkor keletkezik, ha egy LMSGetValue() hvs egy csak rhat elemen trtnik
"404"

Az elem csak rhat

Pl.
LMSGetValue("cmi.core.exit") //A
"cmi.core.exit" egy csak rhat CMI elem

Akkor keletkezik, ha megksrlnk egy inkorrekt adattpussal belltani egy


elemet.
Pl.
"405"

Hibs adattpus

LMSSetValue("cmi.core.score.raw","eighty five")
// "eighty five" nem egy helyes adattpus a
"cmi.core.score.raw" szmra.
// A korrekt adattpushoz konverzi szksges:
CMIDecimal ("85").

Kommunikci a SCO s a LMS kztt


A kommunikci a SCO s a LMS kztt az API-n keresztl trtnik. Miutn a SCO elindult, csak get illetve set tpus
utastsok zajlanak kzttk. Az API adapter funkcii a kvetkezk:

Az llapotok:

Nincs inicializlva: A SCO feladata az API csatol megkeresse, s ha megvan, akkor a LMSInitialize("") API
hvs megttele, tovbb ha az sikertelen volt, akkor hibakezel API hvsok.

Inicializlt: A sikeres LMSInitialize("") s LMSFinish("") hvsok kztti rsz. Az sszes API hvs
alkalmazhat, kivve a LMSInitialize("")-t.

Befejezs: a LMSFinish("") utni szakasz. Ha "false" rtkkel tr vissza, akkor a hibakezel fggvnyek
hvhatk (tovbbi fggvnyhvsokra nem garantlt, hogy a LMS API csatol helyesen reagl).

A SCORM futsidej adatmodellje


Cl: Egy ltalnos adatmodell, amely a SCO-krl egy elre definilt mdon llapotkvetst valst meg a klnbz
LMS krnyezetek szmra. Ha pldul egy tanul pontozsa kvetelmny, ktelez, hogy a SCO jelentse az elrt
pontot az LMS szmra.
A SCORM adatmodell megksrli funkci szerint csoportostani a SCO s LMS krnyezet kztti adatcserre vonatkoz
informcikat. (pl. tanuli profil informci, krdsek s teszt interakcik, llapot informcik, rtkels, stb.)
A SCORM futsi krnyezetnek adatmodellje kzvetlenl az AICC CMI Data Model-bl szrmazik, amely megtallhat
az AICC CMI Guidelines for Interoperability dokumentciban.
Minden elemnek a van egy sajt lerneve, amely cmi kezdet szekcival indul. Ez jelenti azt, hogy az adott elem rsze
az AICC-CMI adatmodellnek. Termszetesen ms modellek esetn ajnlott annak szignjval kezdeni.
Pl. cmi.elementName

Az adatmodellre vonatkoz szablyok

Az els szimblum az adatelem nevben azonostsa az adatmodellt. (pl. cmi -> AICC CMI Data Model.) Ez
kibvti az API funkcionalits, mely szerint ugyanazon API-val hasznlhatunk klnbz adatmodelleket.

Ltezik 3 elre foglalt kulcssz. Mindegyik kisbets, s alulvonssal kezddik.

_version: az LMS ltal tmogatott adatmodell verziszmt hatrozza meg

_children: Meghatrozza, melyik adatmodell elemek vannak tmogatva az LMS ltal.

_count: Meghatrozza egy listn adott elemek szmt

sszes tmb 0 alap tmb. Az adatelemnek a tmbben sorrendhelyesen kell lennie.

Az adatmodell nevek kis- s nagybet rzkenyek.

Adatmodell elemek
Az adatmodell elemei kt kategriba sorolhatak: ktelez s opcionlis. Az AICC CMI001 Guidelines for
Interoperability dokumentci specifiklja, hogy melyiket ktelez megvalstani a LMS ltal, s melyik csak opcionlis.
Az sszes ktelez adatmodell elemnek tmogatva kell lennie az LMS ltal. A LMS krnyezeteknek kell megvalstania
a tmogatst az sszes, vagy csak nhny opcionlis adatmodell elemhez.
Az sszes adatelem opcionlisan hasznlhat a SCO ltal. A SCOk szmra csupn az LMSInitialize("") s LMSFinish("")
API funkcik ktelezek, a LMSSetValue() vagy LMSGetValue() hvsok nem szksgszerek. A SCO-k nagyon kicsik s
alapestben nem ktelez nekik a nyomkvetst megvalstani, de ha nyomkvetnek, akkor az sszetett LMS
krnyezetben az jrafelhasznlhatsg miatt alkalmazkodniuk kell egy ltalnos adatmodellhez.

Kezelsi listk
Szmos adatelem listban vagy tmbben helyezkedik el.
Lista esetn az elemolvasshoz, vagy belltshoz indexszmokat hasznlunk. Az egyetlen eset, amikor az indexszm
elhagyhat, ha egyetlen tagja van a listnak. Az indexszmok 0-val kezddnek. Ha egy rtk hozzfz a listhoz, a
SCO-nak ismerni kell az utols indexszmot. Az sszes j tmbelem sorrendben fog elhelyezkedni. A SCO nem fog

kihagyni egy tmb szmot, vagy res tmbelemet ltrehozni, amikor ltrehoz egy tmb rtk listt. A _count kulcssz
hasznlhat a record lista aktulis elemszmnak megllaptsra.
Pldul:
var numOfObjectives = LMSGetValue("cmi.objective._count");

Ha a SCO nem ismeri a clrekord szmllrtkt, elkezdi az aktulis dik szmlljt 0-rl. Ez fllr minden olyan
informcit, amely az els index pozciban volt trolva. A fllrs vagy hozzfzs a SCO szerzjnek dntsi
eredmnye, amikor ltrehozza a SCO-t.
A lista elemeinek azonosts pont-szm jellssel trtnik:

Az els status elem 1 rtkre a kvetkezkppen hivatkozunk: "cmi.objective.0.status".

Ugyanennek az elemnek a negyedik elemre gy: "cmi.objective.3.status".

SCORM Futsidej krnyezet - Adattpusok


Az adattpusokat az AICC CMI Data Model dokumentcija alapjn lettek meghatrozva.
Adattpus

Lers

CMIBlank

Egy res sztring ("").

CMIBoolean

Kt lehetsges sz. ("true" vagy "false").

CMIDecimal

Egy szm decimlis ponttal. Ha nem elzi meg mnuszjel, akkor a szm pozitv. (pl
"2","2.2" s "-2.2")

CMIFeedback

A tanul vlaszainak egy strukturlt lersa egy interakciban. A struktra, s a


visszajelzs tartalma meghatrozza az interakci tpust. A jelenleg definilt interakcik:

true-false: A visszajelzs egyike a kvetkezknek: "0","1","t", "f".

choice: A visszajelzs egy vagy tbb karakter vesszvel elvlasztva. Leglis


karakterek: 0-9 s a-z. Ha az sszes karaktert kell vlasztani a visszajelzskor
akkor {} zrjellel vesszk krl.

fill-in: 255 karakter hossz alfanumerikus sztring. Az els karakter utn a


szkz megengedett.

numeric: CMIDecimal

likert: Egyszer karakter. Leglis karakterek: 0-9 s a-z.

matching: Egy vagy tbb azonostprral. Egyes azonostk egy egyszer bet
vagy szm (0-9 s a-z). Az azonostkat a pron bell perjel vlasztja szt.
Vessz vlasztja el a prokat. Ha az sszes prnak egyeznie kell az interakci
helyes figyelembevtelekor, akkor a prok listjt {} zrjelbe kell rakni.

performance: Ez egy nagyon rugalmas formtum. Alapveten egy


alfanumerikus Sztring255.

sequencing: Karakterek egyszer sorozata vesszvel elvlasztva. Leglis


karakterek: 0-9 s a-z. A karakterek sorrendjt meghatrozza a visszajelzs
helyessge.

CMIIdentifier

Egy alfanumerikus karaktercsoport szkz vagy nem nyomtathat karakterek nlkl. Max
hossz: 255 karakter

CMIInteger

Egy egsz szm 0 s 65536 kztt.

CMISInteger

Eljeles egsz szm -32768 s +32768 kztt.

CMIString255

ASCII karakterek sorozata. Max 255 karakter

CMIString4096

ASCII karakterek sorozata. Max 4096 karakter

CMITime

Egy idpont a 24 rs rn. Az azonosts rban, percben s msodpercben trtnik.


Formtum: HH:MM:SS.SS
Az ra minimum csak 2 jegy lehet. A perc pontosan 2 digitbl llhat. A msodperc
szintn 2 digit egy opcionlisa tizedes ponttal, s egy vagy kt kiegszt szmjegybl.
(pl. 34.45)

CMITimespan

Az id hosszt adja. Az azonosts rban, percben s msodpercben trtnik.


Formtum: HH:MM:SS.SS
Az ra minimum csak 2 jegy jegy lehet. A perc pontosan 2 digitbl llhat. A
msodperc szintn 2 digit egy opcionlisa tizedes ponttal, s egy vagy kt kiegszt
szmjegybl. (pl. 34.45)

CMIVocabulary

Egy specifikus szjegyzk csatolsra a krnyezeten bell egy smban. A szjegyzk


szavainak ki kell tlteni s helyesen egyeznie kell azon bell. Egyszer betk s
rvidtsek nem hasznlhatk az API kommunikciban. Lsd a tblzatot a lehetsges
szjegyzkekrl.

SCORM Futsidej krnyezet - Adatmodell elemei


Az adatmodell elemei:

cmi.core - Az sszes LMS rendszer ltal megkvetelt ltszksglet informcik.

cmi.suspend_data - Informcit gyjt a korbbi alkalmazs alatt, melyet a jelenlegi alkalmazs felhasznl.

cmi.launch_data - Egyedi informci ltrehozsa a SCO-k teremtsekor, amelyre minden alkalmazsnak


szksge van.

cmi.comments - Mechanizmus a megjegyzsek sszegyjtsre s felosztsra a SCO szmra.

cmi.objectives - Azonostja, mikppen van hallgat a SCO-hoz rendelve.

cmi.student_data - Informci a hallgat teljestmnyrl.

cmi.student_preference - Vlaszthat opci a ksbbi SCO-knak.

cmi.interactions - A hallgat SCO-n elkvetett interakciit trolja.

cmi.comments
Tmogatott API hvs: LMSGetValue(), LMSSetValue()
LMSben ktelez: Nem
Adattpus: CMIString4096
SCO hozzfrhetsg: Read / Write
Definci: Szabadformtum visszacsatols a SCO-tl. Pldul a tanul rendelkezhet megjegyzshagysi opcival a
SCO bizonyos pontjaiban, vagy rkrdezhet a megjegyzsekre az SCO futsnak vgn. A megjegyzs tartalmazhat
egy jelzt, amely megmutatja hol s mikor hoztk ltre az SCO-n bell. Az elrsi t lehet cmkzett, vagy begyazott
a megjegyzsben.
Felhasznls: A SCO megjegyzseket kldhet a LMS-nek sajt magrl. Felhasznlhat a tanulk sajt
megjegyzseinek trolsra.
Formtum: Szabadformtum alfanumerikus szveg s specilis karakterek

LMS viselkeds:

Initialization: res sztringgel kellene inicializlni. Az SCO felelssge ennek az rtknek a belltsa. Ha egy
LMSGetValue() hvs rkezik rtkllts eltt, a visszatrsi rtk res sztring.

LMSGetValue(): Visszatr az adatmodellben trolt rtkkel. Az rtk csak helyes adattpus lehet. Ha nincs
megjegyzs, akkor a LMS res sztringet kld vissza.

Error Code:

401 - Not implemented error. Ha az elem nincs tmogatva egy res sztringgel tr vissza a
hvs, s hibakd generldik.

LMSSetValue(): Belltja az adatmodell elemet a kvnt rtkre. LMSSetValue() krs lltja a


megjegyzseket. A megjegyzseket megszakts nlkl egyszerre kell kldeni.

Error Code:

401 - Not implemented error. Ha ez az elem nincs tmogatva 401-es hibakdot kld az LMS.

405 - Incorrect Adattpus: Ha az elem tmogatott s a krs megprbl alkalmazni egy


LMSSetValue() funkcit adott rtkkel ezen az elemen, s az nem megfelel adattpus a LMSnek hibt kell jeleznie.

Plda visszatrsi/belltsi rtkek: SCO megvalsts fgg.


SCO felhasznlsi plda:
var comments = LMSGetValue("cmi.comments")
if (LMSGetLastError() == "0"){
// Hasznlja a lauch_data objektumot (SCO indtsa)
}

cmi.comments_from_lms
Tmogatott API hvs: LMSGetValue()
LMSben ktelez: Nem
Adattpus: CMIString4096
SCO hozzfrhetsg: Read Only
Definci: Ez azokat a megjegyzseket reprezentlja, amelyeknek a LMS-tl kellene jnnik. Pldul tanri
megjegyzsek formjban lehet ezt hasznlni. A megjegyzseknek ez a formja irnytott, akkor kell a SCO-nak
prezentlni a hallgatnak, ha az helynval.
Felhasznls: A SCO lsson nhny olyan megjegyzst, amely sszefggsben van a SCO-val, s a LMS-bl
szrmazik.
Formtum: Nincs specifiklt formtum
LMS viselkeds:

Initialization: Ezeknek a megjegyzseknek inicializlva kell lennik az LMS ltal.

LMSGetValue(): Visszatr az adatmodellben trolt rtkkel. Az rtk csak helyes adattpus lehet. Ha nincs
megjegyzs, akkor az LMS res sztringet kld vissza.

Plda API hvs:

LMSGetValue("cmi.comments_from_lms")
Plda visszatrsi rtk: Megvalsts fgg

Error Code:

401 - Not implemented error. Ha nem tmogatott, egy res sztringgel tr vissza a hvs, s
hibakd generldik.

LMSSetValue(): Az LMSnek a kvetkez hibakdokat kell generlnia

Error Code:

403 - Element is read only. krs megprbl alkalmazni egy LMSSetValue() funkcit ezen az
elemen az LMSnek 403-es hibt kell jeleznie

401 - Not implemented error. Ha ez az elem nem tmogatott, 401-es kddal jelez az LMS

SCO felhasznlsi plda:


// Az SCO ltni szeretn, ha van megjegyzs az LMStl az
// hallgat fel
var commentsFromLMS = LMSGetValue("cmi.comments_from_lms");
if (LMSGetLastError() == "0") {
// A LMSbl jv megjegyzsek felhasznlsa
}

You might also like