Standaarden:Content Afspelen

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken

Standaarden: Content Afspelen

‘Content afspelen’ is de benaming voor het Nederlandse toepassingsprofiel van ADL-SCORM. Tijdens het gebruik (afspelen) van deze content kan informatie over de leerling en zijn voortgang uitgewisseld worden tussen de content en de afspeelomgeving. Gegevens over de leerling kunnen op die manier in de content worden gebruikt. Daarnaast is het mogelijk gegevens over het gebruik van de content, zoals toetsscores en doorlooptijden in de afspeelomgeving op te slaan. Dit wordt ondersteund door de afspraken 'Content packaging' en 'Afspelen van educatieve content'.

Documentatie

Bullet book.png EduStandaard afspraak 'Content Afspelen' Nl.gif (referentie)
Bullet book.png Beschrijving van de afspraak v1.0 Nl.gif (pdf)
Bullet book.png EduStandaard afspraak 'Content packaging' Nl.gif (referentie)
Bullet book.png Beschrijving van de afspraak v1.3 Nl.gif (pdf)


Errata in de tekst van de afspraak

Issues

Bij EduStandaard zijn geen issues bekend.

Tooling

Bullet wrench.png Reload Editor Icon web.png (status onbekend)
Conversie van IMS CP 1.1.2 naar 1.1.4 en van ADL SCORM 1.2 naar SCORM 2004.
Bullet wrench.png ADL SCORM 2004 Reload Editor Icon web.png (status onbekend)
Conversie van ADL SCORM 1.2 naar SCORM 2004 4th Edition en van ADL SCORM 2004 3rd Edition naar SCORM 2004 4th Edition.

Implementatie

Vragen over de afspraak

Hoe herken je het onderscheid tussen SCORM 1.2, SCORM 2004, IMS of 'gewone ZIP'? Een SCORM-conform leermateriaal pakket herken je aan het manifest bestand "imsmanifest" in het pakket. Bij SCORM-pakketten moeten de volgende uitbreidingen op het manifest volgens IMS CP zijn aangebracht: De meest duidelijke aanduiding zijn de waarden van de velden <schema> en <schemaversion> binnen het element <metadata> binnen <manifest>. Voor SCORM pakketten is de waarde van <schema> "ADL SCORM". Voor SCORM 1.2 pakketten is de waarde van <schemaversion> "1.2". Voor SCORM 2004 3rd Edition pakketten is de waarde van <schemaversion> "2004 3rd Edition"; voor SCORM 2004 4th Edition pakketten is de waarde van <schemaversion> "2004 4th Edition". Voor IMS CP v1.1.4 pakketten zijn de waarden van de velden <schema> en <schemaversion> "IMS Content" respectievelijk "1.1".

Meer technische aanduidingen zijn als volgt:

  • Definitie van de default namespace. Wordt hierin de default namespace "http://www.imsproject.org/xsd/imscp_rootv1p1p2" gedefinieerd dan betreft dit een IMS CP v1.1.2 pakket. Wordt hierin de default namespace "http://www.imsglobal.org/xsd/imscp_v1p1" dan betreft dit een IMS CP v1.1.4 pakket. Het eerste zou ook een SCORM 1.2 pakket kunnen zijn wanneer deze SCORM uitbreidingselementen zijn gespecificeerd. Het tweede zou ook een SCORM 2004 pakket kunnen zijn wanneer deze SCORM 2004 uitbreidingselementen zijn gespecificeerd.
  • In de metadata van het leermateriaal. Wordt hierin de waarde "SCORMv1.2" voor het veld 3.3 Metadataschema gebruikt dan betreft dit een SCORM 1.2 pakket. Wordt hierin de waarde "SCORM_CAM_v1.3" dan betreft dit een SCORM 2004 pakket. Ontbreken deze beide SCORM-waarden in het veld 3.3 dan zou niet om een SCORM pakket gaan.
  • Voor SCORM 1.2 pakketten mag het attribuut "scormtype" bij het element <resource> binnen <resources> niet ontbreken. Voor SCORM 2004 pakketten mag het attribuut "scormType" (let op de hoofdletter) bij het element <resource> binnen <resources> niet ontbreken.


Wat is in een SCORM-pakket de plaats van het manifest?

Het manifest bestand is altijd direct in het root van het pakket geplaatst.


Wat is in een SCORM-pakket de plaats van de metadata?

De metadata van een SCORM pakket kan in het manifest bestand "imsmanifest" staan (in element <lom> binnen <metadata> binnen <manifest>) of in het metadata bestand. In het laatste geval staat de locatie van het metadata bestand in het SCORM uitbreidingselement <location> binnen <metadata> binnen <manifest>.


Hoe en waar geef ik aan dat een leerobject een SCORM RTE leerobject is?

Allereerst moet je je kunnen afvragen waarom het nodig is om te weten of iets een SCORM RTE leerobject is:

  • het kan iets zeggen over de gebruikte techniek. Om een SCORM RTE leerobject af te kunnen spelen heb je daarvoor SCORM RunTime Environment nodig: de omgeving die kan communiceren met het leerobject. Een SCORM RTE leerobject zal in een gewone browser vaak ongewenste foutmeldingen opleveren of in het ergste geval zelfs helemaal niet werken. Er zijn overigens ook andere mogelijkheden om een SCORM RTE object te herkennen.
  • het kan iets zeggen over de didactische werkvorm. Een SCORM RTE leerobject maakt in principe interactie tussen de leeromgeving en het leerobject mogelijk. Dit kan invloed hebben of mogelijkheden bieden voor de didactische werkvorm maar hoeft niet. Daarnaast zijn er ook andere leerobjecten denkbaar, niet SCORM RTE, maar wel interactief. Conclusie is dat het voor de didactische werkvorm niet relevant is om te weten of iets een SCORM RTE leerobject is.
  • het kan iets zeggen over de kwaliteit van het leerobject. Kwaliteit is echter een zeer subjectief begrip. Je zou bijvoorbeeld in het geval van een leerobject waar je lang mee bezig bent kunnen wensen dat de leeromgeving in staat is om bij te houden waar de student is gebleven als hij of zij er halverwege even mee stopt. Dit is echter geen verplicht onderdeel van een SCORM RTE leerobject en ook over de fijnmazigheid (de nauwkeurigheid van bijhouden waar iemand gestopt is) ligt van tevoren niets vast. Conclusie is dat het feit dat een leerobject een SCORM RTE leerobject is niets zegt over de kwaliteit van het leerobject.

In veld 4.1 zou een mime-type voor SCORM RTE moeten worden ingevuld. Applicaties verwachten hier informatie te vinden over het formaat van het leerobject, in dit geval een SCORM RTE package. Ik heb tot op heden geen voorbeeld van een dergelijke MIME-type notatie gezien. Wat vinden jullie van het volgende voorstel?

  application/x-scorm-rte

Daarnaast moet je natuurlijk ook javascript, html, zip en andere gebruikte formaten opnemen.

  application/zip
  application/javascript
  text/html
  ...

In veld 4.5 is ruimte voor een beschrijving van hoe het leerobject moet worden geïnstalleerd. In de LOM specificatie wordt hier bijvoorbeeld beschreven hoe je een package handmatig moet installeren en opstarten. Dit veld zou informatie kunnen bevatten over het feit dat het leerobject een SCORM RTE package is, maar aangezien het formaat van het veld vrije tekst is, zullen weinig applicaties hier iets mee (kunnen) doen. Dit veld is dus minder geschikt dan veld 4.1

Veld 4.6 is ook van het formaat "vrije tekst" en om die reden waarschijnlijk onvoldoende geschikt om aan te geven dat een leerobject een SCORM RTE leerobject is met als doel de geautomatiseerde nabewerking van het leerobject ermee te bepalen.

Velden 5.1 en 5.3 kun je gebruiken om iets over de interactiviteit en interactieniveau van het leermateriaal kenbaar te maken. In veld 5.1 kan je de soort interactiviteit opnemen en veld 5.3 het interactieniveau. Tot nu toe zijn daar de volgende vocabulaires voor beschikbaar: 5.1) active, expositive, mixed 5.3) very low, low, medium, high, very high Niet echt verhelderende vocabulaires dus. Daarbij komt dat de velden in categorie 5 voornamelijk pedagogische en didactische informatie bevatten, terwijl velden in categorie 4 technisch van aard zijn. Je kan velden 5.1 en 5.3 dus gebruiken als je een SCORM RTE leerobject beschrijft, maar niet om aan te geven dat het een SCORM RTE leerobject is. De beste optie is dus toch om velden in categorie 4 te gebruiken.


Wat zijn de belangrijkste dingen die een SCO (SCORM leerobject) moet doen?

Er zijn vijf belangrijke dingen die een SCO moet doen:

1. Vind de SCORM API

Wanneer eenmaal het SCO van het leermateriaal is opgestart, is het eerste wat dit SCO moet doen de SCORM API vinden. Zonder deze API, kan het helemaal niet communiceren met de afspeelomgeving (en leermateriaal dat niet kan communiceren is een HTML-pagina en kan dus geen voortgang en resultaten aan de afspeelomgeving doorgeven). Het vinden van de API is niet triviaal. Het kan geplaatst zijn in het ouder frame of de ouder window binnen de browser. De meeste voorbeelden van API zoekmechanismen werken prima en zoeken deze API op de voorkomende locaties. Tenslotte, wanneer de API niet kan worden gevonden, vertel het de gebruiker. De gebruiker moet dit direct weten omdat het geen score of studiepunten voor het gedane werk zal krijgen.

2. Stel de status direct in

Het eerste dat een SCO met de API moet doen is de aanroep van GetValue(cmi.completion_status). Wanneer de actuele status is "not attempted" (niet geprobeerd), is het cruciaal dat het SCO deze status direct wijzigt in "incomplete" (niet voltooid). Wanneer het SCO faalt deze wijziging te maken, is de afspeelomgeving verplicht de voltooiing van het SCO bij het verlaten te bepalen.

3. Voor de gebruikersvriendelijkheid, gebruik bookmarks

Het gebruik van bookmarks (boekenleggers) is niet cruciaal maar zorgt ervoor dat gebruikers gebruikersvriendelijk worden behandeld. SCORM biedt de mogelijkheid voor het gebruik van bookmarks (cmi.location). Zodra de lerende vorderingen maakt, verzet de bookmark periodiek. Dan, wanneer de lerende terugkeert, geef hem de mogelijkheid terug te keren waar het de vorige keer gebleven was. Dit zijn dingen die je zelf ook van lees- en leermateriaal verwacht.

4. Leg de voltooiing vast

Het grootste deel van SCORM leermateriaal wordt gevolgd door aanmoediging van een ander. In een bedrijfsomgeving, training wordt verplicht gesteld aan lerenden voor standaardisatie redenen. In het onderwijs, willen leerbegeleiders weten of het leermateriaal is ingezien. Veelal betekent SCORM het vastleggen van de resultaten. De enige manier voor de afspeelomgeving om te weten of de lerende het leermateriaal voltooid heeft, is wanneer het leermateriaal dit de afspeelomgeving doorgeeft. Geef dit dus door aan de afspeelomgeving.

5. Sluit netjes af

Het sluiten van het venster is niet de juiste manier om een stuk leermateriaal af te sluiten. Soms is het leermateriaal in een nieuw eigen venster. In dit geval is het sluiten vna het venster waarschijnlijk wel goed. Echter, soms is het leermateriaal geopend in een apart frameset binnen het venster. In dit geval wordt het leren helemaal afgebroken.

Dit antwoord is beschreven aan de hand van het artikel van Tim Martin: Top 5 Things Every Piece of SCORM Content Should Do At Runtime].


Moet het data element “cmi.exit” de waarde “suspend” krijgen een volgende sessie de “learner session” data beschikbaar te hebben?

Wanneer je de waarde "suspend" geeft aan "cmi.exit" dan wordt de poging niet afgesloten. De volgende keer wanneer je hetzelfde SCO weer start dan ga je weer door waar je de vorige keer bent gebleven. Met dezelfde gegevens.

Alle andere waarden ("time-out", "normal" of "") zorgen ervoor dat de poging van de leerling wordt afgesloten en dat een volgende keer het SCO met een schoon of nieuw datamodel wordt opgestart. Dat wil zeggen, dat behaalde tussenresultaten en eerdere leeractiviteiten niet in dat actuele datamodel zijn vastgelegd en de leerling werkt met het SCO alsof het een eerste keer betreft. SCORM zegt trouwens expliciet niets over wat het LMS moet doen met de informatie van het "oude datamodel" (zie paragraaf 2.1.1. Run-Time Environment Temporal Model in "SCORM 2004 RunTime Environment"). Het kan worden bewaard om de leergeschiedenis nog eens na te slaan. Het LMS kan bijvoorbeeld ook een leerling driemaal hetzelfde SCO laten doorlopen om de gemiddelde score van de drie pogingen als eindscore voor dit SCO te bepalen. Dit ligt allemaal aan de inhoud van het SCO en hoe er onderwijskundig mee om te gaan.

Wanner je suspend gebruikt dan kun je trouwens ook nog gegevens naar een volgende sessie doorgeven via het LMS door gebruik te maken van het gegevenselement "cmi.suspend_data".

Kortom, de gegevens zijn voor het SCO inderdaad een volgende keer niet meer beschikbaar wanneer niet de waarde "suspend" wordt gebruikt. Maar dit betekent niet dat het LMS deze gegevens moet weggooien.