Implementierung von xAPI zur Unterstützung von Articulate Content
Letzte Aktualisierung des Artikels:
Dieser Artikel gilt für:
Implementieren Sie die auf dieser Seite beschriebenen xAPI-Funktionen (Tin Can API), um Articulate-Inhalte in Ihrem Lernmanagementsystem (LMS) vollständig zu support. Erfahren Sie mehr über die xAPI-Spezifikation.
- Arten von Aktivitäten
- Verben
- Aktivitäts-Metadaten
- Public Content starten
- Kommunikation
- Beispielmetadaten und Statemendaten nach Fragetyp
Arten von Aktivitäten
Articulate Inhaltsberichte zu den Aktivitätstypen, die in der folgenden Tabelle aufgeführt sind. Bitte beachten Sie die erwarteten Werte für die übergeordnete ID der Aktivität (definiert im Objekt context.contextActivities).
Arten von Aktivitäten |
Beschreibung |
Eltern-ID |
Modul |
Beschreibt eine einzelne Folie innerhalb eines Kurses. |
Die übergeordnete ID ist immer die Kurs-ID. |
cmi.interaktion |
Eine Frage zur Punktzahl oder Umfrage. |
Die übergeordnete ID ist die ID des Ziels, zu dem die Interaktion gehört. |
Zielsetzung |
Articulate Interaktionen von Content-Gruppen zusammen mithilfe von Bewertungsfolien. Eine Überprüfungsfolie wird unter Verwendung eines xAPI-Ziels definiert. Ein Kurs kann ein oder mehrere Ziele haben. Darüber hinaus kann eine Überprüfungsfolie auch andere Überprüfungsfolien zusammenfassen. |
Die übergeordnete ID ist entweder die Kurs-ID oder die Ziel-ID, von der es ein Kind ist. |
Kurs |
Der Articulate Kurs. |
Die übergeordnete ID wird immer eine eigene ID sein. |
Verben
XAPI bietet Verben, um Benutzeraktivitäten zu beschreiben. Hier ist eine Liste der Verben, die Articulate Content verwendet, zusammen mit der Bedeutung der Verben.
Verben |
Arten von Aktivitäten |
Beschreibung |
versucht |
Kurs |
Benachrichtigt das LMS darüber, dass ein Kurs begonnen hat. |
erfahrene |
Modul |
Wird gesendet, wenn eine Folie angesehen wurde. |
fortgeschritten (nur Rise 360) |
Kurs, Modul, Ziel |
Wird am Ende jeder Lektion gesendet, nachdem die erfahrene Aussage gesendet wurde. Stellt die Ergebnisdaten für den Kurs sowie eine Ergebniserweiterung bereit, die den Gesamtfortschritt des Kurses verfolgt. |
beantwortet |
cmi.interaktion |
Gibt an, dass eine Frage für eine Umfrage oder eine bewertete Frage beantwortet wurde. |
abgeschlossen |
natürlich, objektiv |
Wird verwendet, wenn ein Kurs oder ein Ziel abgeschlossen wurde und der Abschluss auf der Anzahl der angesehenen Folien basiert oder wenn der Abschluss auf der Grundlage des Abschlusses einer Umfrage bestimmt wird. |
bestanden |
natürlich, objektiv |
Benachrichtigt das LMS, dass ein Kurs oder ein Ziel mit einem bestandenen Ergebnis abgeschlossen wurde. Dieses Verb wird nur verwendet, wenn die Fertigstellung auf einer Reihe von bewerteten Fragen basiert. |
fehlgeschlagen |
natürlich, objektiv |
Benachrichtigt das LMS, dass ein Kurs oder ein Ziel mit einem fehlgeschlagenen Ergebnis abgeschlossen wurde. Dieses Verb wird nur verwendet, wenn die Fertigstellung auf einer Reihe von bewerteten Fragen basiert. |
links (nur Storyline) |
Modul |
Gesendet, wenn ein Lernender die Folie verlässt |
Hinweis: Ab dem Update vom November 2021 für Storyline 360 können Sie mithilfe von Triggern benutzerdefinierte xAPI-Anweisungen definieren und auf weitere Verben zugreifen.
Aktivitäts-Metadaten
XAPI ermöglicht es, eine Aktivität in der Datei tincan.xml oder direkt innerhalb einer Anweisung zu definieren. Articulate definiert Aktivitäten in beiden.
Wenn Sie eine Anweisung an einen xAPI-Endpunkt posten, referenziert die Anweisung auf Objekte, die in der tincan.xml durch ID definiert sind. Die Datei tincan.xml enthält auch Definitionen für Auswahlmöglichkeiten, Skalierung, Quelle, Ziel und Schritte für den entsprechenden cmi.interaktionstyp. Die xsd-Datei, die das Format der Datei tincan.xml beschreibt, finden Sie unter: http://projecttincan.com/tincan.xsd.
Public Content starten
Sie müssen Articulate-Inhalte mit der Methode starten, die im Incorporating a xAPI LRS in ein LMS-Dokument beschrieben wird. Articulate Content kann im LMS oder auf einer externen Website gehostet werden. Standardmäßig wird die veröffentlichte tincan.xml so konfiguriert, dass sie lokal gestartet wird. Um Articulate-Content zu starten, verwenden Sie die Seite, die im Start-Tag der Kursaktivität definiert ist:
<activity id="61XkSYC1ht2_course_id" type="course"> <name lang="und">Titel des Kurses</name> <description lang="und">Beschreibung des Kurses</description> <launch lang="und">index_lms.html</launch> </activity> |
Sie müssen der URL eine Abfragezeichenfolge hinzufügen, die die Informationen enthält, die zum Nachverfolgen des Kurses erforderlich sind. Zu den erforderlichen Werten gehören der xAPI-Endpunkt (Endpunkt), das Berechtigungstoken (Auth) und die Lerninformationen (Akteur).
Die Abfragezeichenfolge sollte auch die Aktivitäts-ID (activity_id) und die Registrierung (Registrierung) enthalten, wenn die LMS-Implementierung diese Werte benötigt, wenn Anfragen vom Inhalt empfangen werden. (Rise 360-Kurse benötigen keine activity_id oder Registrierung.)
Im Folgenden finden Sie ein Beispiel für einen Startlink mit Zeilenumbrüchen und ohne URL-Codierung zur Lesbarkeit:
http://my.lms.com/TCActivityProvider/index_lms.html ? Endpunkt = http://my.lms.com/lrs/endpoint/ & auth =Basic ojfjmgy4ntyxnzuwogi4ywy0njfknzu5mwuxmze1zGQ1 & Schauspieler = {"name“: ["First Last"], „mbox“: ["mailto: firstlast@mycompany.com „]} & activity_id =61xksyc1ht2_Course_ID & Anmeldung =760e3480-ba55-4991-94b0-01820dbd23a2 |
Ein ordnungsgemäß URL-codierter Startlink sieht wie folgt aus (Zeilenumbrüche wurden zur Lesbarkeit hinzugefügt):
http://my.lms.com/TCActivityProvider/index_lms.html ? Endpunkt =Http%3A%2F%2Fmy.lms.com%2Flrs%2FendPoint%2F & auth =Basic ojfjmgy4ntyxnzuwogi4ywy0njfknzu5mwuxmze1zGQ1 & Schauspieler =%7B%22Name% 22% 3A% 20% 5B%22Erst%20Last% 22% 5D%2C% 20% 22mbox & activity_id =61xksyc1ht2_Course_ID & Anmeldung =760e3480-ba55-4991-94b0-01820dbd23a2 |
Sie können der Abfragezeichenfolge des Startlinks auch benutzerdefinierte Parameter hinzufügen. Alle zusätzlichen Parameter werden wiedergegeben, wenn der Inhalt Anweisungen an das LMS meldet.
Kommunikation
Articulate Content meldet Anweisungen an den xAPI-Endpunkt, wie im Abschnitt Ursprungsübergreifende Anfragen in Internet Explorer in xAPI beschrieben. Zusammenfassend lässt sich sagen, wenn der Endpunkt http://mycompany.com/TCAPI/endpoint/ ist, werden alle Anweisungen in http://mycompany.com/TCAPI/endpoint/ -Anweisungen veröffentlicht? stateEntid=. Alle erforderlichen Header werden den Anforderungsdaten als Formularparameter hinzugefügt, die durch „&“ begrenzt sind. Der JSON-Inhalt wird ebenfalls codiert und im Parameter „content“ übergeben. Alle Aussagen werden auf diese Weise unabhängig vom Browser oder der Plattform gemeldet.
Articulate Content unterstützt die Wiederaufnahme von Inhalten, von denen ein Benutzer aufgehört hat. Die Zustandsdaten werden gespeichert und abgerufen, indem Anfragen an http://mycompany.com/TCAPI/endpoint/ Aktivitäten/Bundesstaat? method= [REQUEST METHOD]. Der Wert von [REQUEST METHOD] wird durch GET beim Abrufen der Statusdaten und PUT beim Speichern von Statusdaten ersetzt. Header und Inhalte werden wie oben beschrieben gesendet. Weitere Informationen zum Speichern und Abrufen von Statusdaten finden Sie im Abschnitt Status in xAPI.
Beispielmetadaten und Statemendaten nach Fragetyp
Im Folgenden finden Sie einige Beispiel-Aktivitätsdefinitionen in der veröffentlichten Datei tincan.xml von Articulate. Nach jeder Aktivitätsbeschreibung folgt eine JSON-Beispielanweisung, die für die zuvor definierte Aktivität auf den xAPI-Endpunkt veröffentlicht würde.
Multiple Choice |
Metadaten |
<activity id="5jIOVMY3lI7.a05ae619-d0e3-4755-9cf0-c944c8861581" type="cmi.interaction"> <name lang="und">Was ist der dritte Planet von der Sonne</name> <description lang="und">Was ist der dritte Planet von der Sonne</description> <interactionType>Wahl</interactionType> <correctResponsePatterns> <correctResponsePattern>Choice_5utot0BW3Sc</correctResponsePattern> </correctResponsePatterns> <choices> <component> <id>Choice_5utot0BW3Sc</id> <description lang="und">Die Erde</description> </component> <component> <id>choice_5ubsa57tore</id> <description lang="und">Venus</description> </component> <component> <id>choice_6ft1Rxqy1KK</id> <description lang="und">Mars</description> </component> </choices> </activity> |
Erklärung JSON |
{ „ergebnis“: { „Erfolg“ :wahr, „response“ :"choice_5uTOT0BW3SC“, „Ergebnis“: { „roh“ :10 } }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"5jiovmy3li7.a05ae619-d0E3-4755-9CF0-C944c8861581" } }
|
Mehrfache Antwort |
Metadaten |
<activity id="6Uo7vTiQ6UT.675caf81-6862-461d-b401-76a9f043435a" type="cmi.interaction"> <name lang="und">Wählen Sie die Planeten aus der untenstehenden Liste aus. </name> <description lang="und">Wählen Sie die Planeten aus der untenstehenden Liste aus. </description> <interactionType>Wahl</interactionType> <correctResponsePatterns> <correctResponsePattern>choice_5hmqro1qc5O</correctResponsePattern> <correctResponsePattern>choice_6bijytcDook</correctResponsePattern> </correctResponsePatterns> <choices> <component> <id>choice_5hmqro1qc5O</id> <description lang="und">Mars</description> </component> <component> <id>choice_6bijytcDook</id> <description lang="und">Die Erde</description> </component> <component> <id>choice_6dt2qgkpjtn</id> <description lang="und">Sonne</description> </component> <component> <id>choice_61GVRLVAXIJ</id> <description lang="und">Mond</description> </component> </choices> </activity> |
Erklärung JSON |
{ „ergebnis“: { „Erfolg“ :wahr, „response“ :"choice_5hmqro1qc5O [,] choice_6BijytcDook“, „Ergebnis“: { „roh“ :10 } }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"6uo7vtiq6ut.675Caf81-6862-461D-B401-76A9F043435A“ } } |
Füllen Sie das Leerzeichen aus |
Metadaten |
<activity id="6cRKIhEssyA.d7911223-2749-424f-bee8-e241f458bff3" type="cmi.interaction"> <name lang="und">Wie heißt der Planet, auf dem wir leben? </name> <description lang="und">Wie heißt der Planet, auf dem wir leben? </description> <interactionType>ausfüllen</interactionType> </activity> |
Erklärung JSON |
{ „ergebnis“: { „Erfolg“ :wahr, „response“ :"Erde“, „Ergebnis“: { „roh“ :10 } }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"6crkihessya.d7911223-2749-424f-bee8-E241F458BFF3" } }
|
Passende |
Metadaten |
<activity id="5cgcNZPuHSe.a7450fa0-c56b-4bbf-8716-30e987a55d4d" type="cmi.interaction"> <name lang="und">Passen Sie die Planeten ihren Beschreibungen an. </name> <description lang="und">Passen Sie die Planeten ihren Beschreibungen an. </description> <interactionType>übereinstimmende</interactionType> <correctResponsePatterns> <correctResponsePattern>statement_6moqizokywp [.] choice_6dxw50j12QB</correctResponsePattern> <correctResponsePattern>Statement_6x5PmavJiqb [.] choice_5bjmcpsqBu1</correctResponsePattern> <correctResponsePattern>Statement_5rbwGppx93b [.] choice_6jkgvbqyq5Y</correctResponsePattern> </correctResponsePatterns> <source> <component> <id>Statement_6moqizokyWP</id> <description lang="und">Der Planet, auf dem wir leben</description> </component> <component> <id>Statement_6x5PmavJiqb</id> <description lang="und">Der nächste Planet zur Erde</description> </component> <component> <id>Aussagung_5rbwGppx93B</id> <description lang="und">Der der Sonne am nächsten gelegene Planet</description> </component> </source> <target> <component> <id>Choice_6DxW50J12QB</id> <description lang="und">Die Erde</description> </component> <component> <id>choice_5bjmcpsqBu1</id> <description lang="und">Mars</description> </component> <component> <id>choice_6jkgvbqyq5Y</id> <description lang="und">Merkur</description> </component> </target> </activity>
|
Erklärung JSON |
{ „ergebnis“: { „Erfolg“ :wahr, „response“ :"statement_6moqizokyWP [.] choice_6DxW50j12qb [,] statement_6x5PmavJiqb [.] „Ergebnis“: { „roh“ :10 } }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"5cgcnzpuhse.a7450fa0-C56B-4BBF-8716-30E987A55D4D“ } }
|
Sequenz |
Metadaten |
<activity id="6hoSx7vtpP4.6b284974-20f5-4f92-bf8b-12634c643277" type="cmi.interaction"> <name lang="und">Platzieren Sie die Planeten basierend auf ihrer durchschnittlichen Entfernung von der Sonne in Ordnung. </name> <description lang="und">Platzieren Sie die Planeten basierend auf ihrer durchschnittlichen Entfernung von der Sonne in Ordnung. </description> <interactionType>Sequenzierung</interactionType> <correctResponsePatterns> <correctResponsePattern>choice_6p5ewtr0av5</correctResponsePattern> <correctResponsePattern>Choice_5dmhla2LVHz</correctResponsePattern> <correctResponsePattern>choice_61dfqPolbPV</correctResponsePattern> <correctResponsePattern>choice_64or8qrynqj</correctResponsePattern> <correctResponsePattern>choice_5rvv1nawm35</correctResponsePattern> <correctResponsePattern>choice_5ah0ia79vpz</correctResponsePattern> <correctResponsePattern>choice_5L5S2Dnwezc</correctResponsePattern> <correctResponsePattern>choice_6ahafxshdaf</correctResponsePattern> </correctResponsePatterns> <choices> <component> <id>choice_6p5ewtr0av5</id> <description lang="und">Merkur</description> </component> <component> <id>Choice_5dmhla2LVHz</id> <description lang="und">Venus</description> </component> <component> <id>choice_61dfqPolbPV</id> <description lang="und">Die Erde</description> </component> <component> <id>choice_64or8qrynqj</id> <description lang="und">Mars</description> </component> <component> <id>choice_5rvv1nawm35</id> <description lang="und">Jupiter</description> </component> <component> <id>choice_5ah0ia79vpz</id> <description lang="und">Saturn</description> </component> <component> <id>choice_5L5S2Dnwezc</id> <description lang="und">Uranus</description> </component> <component> <id>choice_6ahafxshdaf</id> <description lang="und">Neptun</description> </component> </choices> </activity>
|
Erklärung JSON |
{ „ergebnis“: { „Erfolg“ :wahr, „response“ :"choice_6P5eWTR0av5 [,] choice_5dmhla2LvHz [,] Choice_61dfqPolbPV [,] „Ergebnis“: { „roh“ :10 } }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"6hosx7Vtpp4.6b284974-20F5-4F92-BF8B-12634C643277" } }
|
Numerisch |
Metadaten |
<activity id="5wgwpXGIaWk.8fbebd0a-0127-4a10-809e-6e3b40fd91e7" type="cmi.interaction"> <name lang="und">Wie viele Planeten gibt es in unserem Sonnensystem? (Pluto nicht eingeschlossen)</name> <description lang="und">Wie viele Planeten gibt es in unserem Sonnensystem? (Pluto nicht eingeschlossen)</description> <interactionType>numerisch</interactionType> </activity>
|
Erklärung JSON |
{ „ergebnis“: { „Erfolg“ :wahr, „response“ :"8", „Ergebnis“: { „roh“ :10 } }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"5wgwpxgiawk.8fbebd0a-0127-4A10-809E-6E3b40fd91E7" } }
|
Likert |
Metadaten |
<activity id="5mAuWE6HMJX.86ebc142-18dd-4d75-af5f-269f604cfbd2.Statement_5xDTWOL4BBj" type="cmi.interaction"> <name lang="und">Ich wünschte, Pluto galt als immer noch als Planet. </name> <description lang="und">Ich wünschte, Pluto galt als immer noch als Planet. </description> <interactionType>likert</interactionType> <scale> <component> <id>6A0s985Ruf4</id> <description lang="und">Stimme absolut nicht zu</description> </component> <component> <id>6mSxH59Uus7</id> <description lang="und">Stimme nicht zu</description> </component> <component> <id>5dezjq4qskB</id> <description lang="und">Neutral</description> </component> <component> <id>6Hssior0LFV</id> <description lang="und">Stimmen Sie zu</description> </component> <component> <id>5xzBlute5WB</id> <description lang="und">Stimmen Sie stark zu</description> </component> </scale> </activity>
|
Erklärung JSON |
{ „ergebnis“: { „response“ :"5dezjq4qskb“ }, „context“: { „ContextActivities“: { „Gruppierung“: { „id“ :"6x9US05Rlub_Course_ID“ }, „Elternteil“: { „id“ :"5cv16q9HG8Q“ } }, „Registrierung“ :"cd471f87-a842-4929-87e9-fde6a5360b8b“ }, „Schauspieler“: { „ObjectType“ :"Person“, „mbox“: [ „mailto: myname@mycompany.com“ ], „name“: [ „myFirstName myLastName“ ] }, „Verb“ :"beantwortet“, „object“: { „id“ :"5Mauwe6hmjx.86EBC142-18DD-4D75-AF5F-269F604cfbd2.statement_5xdtwol4bbj“ } }
|