Avendoo® Online Hilfe

Avendoo® API

Hauptseite eines Kurses

Avendoo® API Version 1

Kurshauptseite erstellen

BefehlErklärung

window.top.

Wenn der Inhalt der Kurs-Hauptseite mit Hilfe eines IFrames eingebunden wird, muss diese Angabe vor jede Funktion gesetzt werden, um aus dem Iframe heraus auf die Funktion in der Avendoo-API zuzugreifen.

fn_openCourseObject(Typ, Id, Kursfreigabe Id, Sprache, Modus)

Die Funktion öffnet ein Kursobjekt unter Angabe der folgenden Parameter:
  1. Typ des Lernobjektes
  • Id des Lernobjektes
  • Id der Kursfreigabe
  • Sprache
  • Modus (steht auf false)
  • Beispiel:

    fn_openCourseObject('21','1518516897896,1','1527684111986,1','de', 'false');

    fn_getTypes()[X]

    Die Funktion ermittelt den Typ des Lernobjektes an Position [X] auf dem Lernpfad.

    Wichtiger Hinweis:
    Die Zählung beginnt bei null!
    Das heißt, das erste Lernobjekt auf dem Lernpfad wird über die Angabe [0] angesprochen, das zweite Lernobjekt wird über die Angabe [1] angesprochen usw.

    Weitere Lernobjekte , die in dem Kurs enthalten sind, können mit der gleichen Funktion angesprochen werden. Dafür müssen Sie lediglich die Positionsangabe in den eckigen Klammern anpassen.

    fn_getIds()[X]

    Die Funktion ermittelt die Id des Lernobjektes an Position [X] auf dem Lernpfad.

    fn_getAssignmentId()

    Die Funktion ermittelt die Id der aktuellen Kursfreigabe.

    fn_getUserLanguage()

    Die Funktion ermittelt die vom Benutzer gewählte Sprache.

    function fn_isTutorMode()

    Mithilfe dieser Funktion lässt sich ermitteln, ob man sich im User-Bereich oder im Autoren-Bereich befindet. Ist man im Autorenbereich gibt die Funktion den Wert „true“ zurück. Andernfalls wird „false“ zurückgegeben.

    function fn_getObjectData(index, apiDataKey)

    Liest die Daten aus.
    Beispiel:
    fn_getObjectData(0, „objectType“), wobei apiDataKey = objectType.

    Beispiel

    Für das zweite Lernobjekt auf dem Lernfpad verwenden Sie beispielsweise die Angabe [1] , für das dritte Lernobjekt die Angabe [2]

    fn_openCourseObject(fn_getTypes()[1],fn_getIds()[1], fn_getAssignmentId(),fn_getUserLanguage());

    Avendoo® API Version 2

    BefehlErklärung

    function fn_getLearnpath()

    Die Funktion „fn_getLearnpath()“ wird benutzt, um bestimmte Informationen zu Objekten auf dem Lernpfad zu erhalten. Die Funktion liefert ein Array mit allen Elementen des Lernpfads zurück.

    Hinweis:

    Die Zählung bei Arrays beginnt immer mit 0!

    In Kombination mit dem Array und verschiedenen Methoden können Informationen vom Lernpfad für die Kurshauptseite genutzt werden. Einen Überblick über alle Methoden und deren Beschreibung finden Sie hier.

    Beispiel

    Im folgenden Beispiel wird zu jedem Lernobjekt auf dem Lernpfad ein alert ausgegeben, das den Titel des Lernobjektes enthält.

    In einer Schleife, die in „Einser-Schritten“ von „0“ bis zur „Anzahl der Elemente auf dem Lernpfad“ läuft, werden in jedem Durchgang alle Werte in die Variable LPE (Learn Path Element) geschrieben. Durch das Anhängen der Methode „title“ (Methoden sind beliebig austauschbar. Je nach Bedarf könnte an dieser Stelle auch teaser, mandatory, objectId, state, … etc. stehen) wird dann der jeweilige Wert ausgegeben.

    $(function () {
            for (var index = 0; fn_getLearnpath().length; index++) {
                var LPE = fn_getLearnpath()[index];
                alert(LPE.title);
            }
        });

    Anwendungsbeispiel

    Auf dem Lernpfad befindet sich an dritter Stelle ein Wissenstest, der durch einen zusätzlichen Button im Text aufrufbar sein soll. Der Button wird grün, sobald der Test bestanden ist.

    Avendoo API Kurshauptseite function fn_getLearnpath()

    var LPE = fn_getLearnpath()[2];
    // in die Variable LPE werden die Werte zu dem jeweiligen LernPfadElement geschrieben.
    if(LPE.state == "completed") {
     $("#idOfButton").css("background", "green");
    }
    // wenn der Wert für LPE.state „completed“ ist, wird der Button mithilfe von 
    jQuery anhand seiner ID gesucht und bekommt die CSS-Eigenschaft „background: green;“ zugewiesen.

    Methoden zu der Funktion fn_getLearnpath()

    In den beiden obigen Beispielen werden der Variablen mehrere Werte zugewiesen, die dann über die Methode eingegrenzt werden. Durch eine direkte Zuweisung kann man aber auch nur einen Wert in eine Variable schreiben.

    Dabei enthält die Variable var 3LPEtitle = fn_getLearnpath()[2].title zum Beispiel nur den Title des Lernobjektes an dritter Stelle. Im Beispiel des Screenshots (s.o.) wäre der Titel also „API – Abfrage“.

    Im Folgenden werden die unterschiedlichen Methoden in dieser Form dargestellt. Dabei steht „x“ immer für eine Zahl (Position des Lernobjekts auf dem Lernpfad).

    BezeichnungErklärung

    title

    fn_getLearnpath()[x].title
    enthält den Titel des Lernobjektes

    teaser

    fn_getLearnpath()[x].teaser
    enthält den Teaser des Lernobjektes

    mandatory

    fn_getLearnpath()[x].mandatory
    gibt den Wert „true“ oder „false“ zurück. Je nachdem ob ein Lernobjekt auf „bearbeiten“ oder „freiwillig“ steht.

    objectTypeId

    fn_getLearnpath()[x].objectTypeId
    gibt einen Zahlenwert zurück. Dabei haben Lehrmittel beispielsweise die objectTypeId 21, eine Aufgabenhürde hat die objectTypeId 132 und eine Wissenstest 22.

    objectTitle

    fn_getLearnpath()[x].objectTitle
    gibt die Art des Lernobjektes an. Verhält sich somit ähnlich zu der objectTypeId. Allerdings wird hier die Art des Lernobjektes als Wort wiedergegeben. (z.B. Lehrmittel, Wissenstest, Veranstaltung, etc.)

    objectId

    fn_getLearnpath()[x].objectId
    gibt die objectId des jeweiligen Lernobjektes zurück. Diese eindeutige 13-stellige Zahl sieht in etwa so aus „1437638469552_1“. Zwei unterschiedliche Elemente auf dem Lernpfad können niemals die gleiche objectId haben.

    state

    fn_getLearnpath()[x].state
    gibt den Status des jeweiligen Lernobjektes zurück.
    Folgende Status gibt es:
    • „none“ (noch nicht bearbeitet),
    • „incomplete“ (angefangen aber noch nicht beendet),
    • „completed“ (vollständig bearbeitet)
    • „failed“ (durchgefallen)

    estimatedTimeMinutes

    fn_getLearnpath()[x].estimatedTimeMinutes
    gibt die Anzahl der Minuten der voraussichtlichen Lerndauer des Lernobjektes aus (z.B. 30, 10, 15, 150).

    estimatedTimeFormated

    fn_getLearnpath()[x].estimatedTimeFormated
    gibt die Anzahl der Minuten der voraussichtlichen Lerndauer des Lernobjektes im Zeitformat aus (z.B. 00:30, 00:10, 00:15, 02:30).

    imageSrc

    fn_getLearnpath()[x].imageSrc
    falls ein optionales Lernpfad-Bild eingesetzt wurde kann über diese Methode der Pfad zu dieser Datei ausgelesen werden.

    buttonTitle

    fn_getLearnpath()[x].buttonTitle
    gibt die geänderte Bezeichnung der Auswahl-Schaltfläche aus. Wenn die Bezeichnung nicht geändert wurde wird der Wert „null“ zurückgegeben.

    certificateTitle

    fn_getLearnpath()[x].certificateTitle
    gibt den Titel des Zertifikats aus

    available

    fn_getLearnpath()[x].available
    Lernobjekte können aus verschiedenen Gründen gesperrt sein (siehe folgende Methoden). Wenn das Lernobjekt aus irgendeinem Grund gesperrt ist, gibt die Methode den Wert „false“ zurück. Andernfalls wird „true“ zurückgegeben.

    blockedByHurdle

    fn_getLearnpath()[x].blockedByHurdle
    gibt den Wert „true“ zurück, für alle Lernobjekte, die durch eine Hürde gesperrt sind. Für alle Objekte, die vor einer Hürde stehen, freiwillig sind oder nach einer bestandenen Hürde kommen ist der Wert dieser Methode „false“.

    blockedCourseObject

    fn_getLearnpath()[x].blockedCourseObject
    Lernobjekte, die durch den Autoren gesperrt werden bekommen den Wert „true“. Bei nicht gesperrten Lernobjekten gibt die Methode den Wert „false“ zurück.

    hasNoTranslation

    fn_getLearnpath()[x].hasNoTranslation
    gibt den Wert „true“ zurück, wenn ein Lernobjekt gesperrt ist aufgrund der Tatsache, dass keine Übersetzung vorhanden ist für die Sprache, die im Kurs gewählt ist.

    Weitere Funktionen der neuen Kurs-API

    BefehlErklärung

    function fn_openLearnpathElement (jsonLearnpathElement) {

    Jeder Button auf dem Lernpfad enthält mehrere Informationen (objectTypeId, assignmentId, objectId, language), um immer das richtige Lernobjekt zu öffnen. Diese Informationen sind auch in der oben beschriebenen Funktion fn_getLearnpath() enthalten.

    Wenn man der Funktion fn_openLearnpathElement Daten der Funktion fn_getLearnpath() übergibt, kann man ein beliebiges Lernobjekt aufrufen.

    Um einen Lernobjekt an der Lernpfadposition „x“ zu öffnen würde man diesen Funktionsaufruf nutzen:

    fn_openLearnpathElement (fn_getLearnpath()[x])

    Anwendungsbeispiel

    Auf dem Lernpfad befindet sich an dritter Stelle ein Wissenstest, der durch einen zusätzlichen Button im Text aufrufbar sein soll.

    Code-Zeile

    fn_hasCourseCertificate()

    Die Funktion ermittelt, ob ein Kurs-Zertifikat mit dem Kurs verknüpft ist.

    fn_getCourseCertificateTitle()

    Die Funktion liefert den Titel des Kurs-Zertifikates zurück, sofern eines Kurz-Zertifikat mit dem Kurs verknüpft wurde.

    fn_isCourseCertificateAccessable()

    Die Funktion ermittelt, ob man das Kurszertifikat herunterladen kann. Dazu müssen zwei Bedingungen erfüllt sein: Der Teilnehmer muss das Kurs-Zertifikat erreicht haben und der Download im Kurs muss aktiviert sein (Option „Download im Kurs gestatten“ im Kurs-Assistenten auf dem Reiter „Parameter“).

    Funktion zum Speichern von Variablen

    BefehlErklärung

    fn_setData()

    Der Fortschritt des Users sowie viele Informationen zu den Lernobjekten werden im Lernpfad gespeichert und können mithilfe der bereits beschriebenen Methoden abgefragt werden.
    Für weitere (individuellere) Variablen können wir auf die Funktionen „fn_setData()“ zurückgreifen.
    Die so abgespeicherten Werte sind benutzergebunden, d.h. egal in welchen Browser oder Betriebssystem sich der Lernende befindet, es wird jeweils auf den gesetzten Wert zurückgegriffen.

    Anwendungsbeispiel
    Es gibt einen Willkommenstext auf der Kurshauptseite. Sobald der User den Button drückt „Kurs starten“, wird der Willkommenstext nicht mehr angezeigt.

    Input-Button

    $(window).load(function () {
            /* Initialisierung und IE-Fallback für fn_getData()/ fn_setData() */
            try {
                api = jQuery.parseJSON(fn_getData());
            } catch (e) {
                api = new Object();
                api.HinweisGesehen = "false";
            }
            if (api == null) {
                api = new Object();
                api.HinweisGesehen = "false";
            }
            /* Ist die Variable = true wird das div mit der Klasse "Hinweistext" per CSS ausgeblendet. */
            if (api.HinweisGesehen === "true") {
                $(".Hinweistext").css("display", "none");
            }
            alert("Der Button 'Kurs starten' wurde gedrückt = " + api.HinweisGesehen);
        });
    
        /* Beim Klick auf den Button wird die Funktion ausgefüht, die zum einen die Variable ändert
     und zum anderen die Variable in die Datenbank schreibt. */
        function fn_Kursstarten() {
            api.HinweisGesehen = "true";
            document.getElementById("apiData").value = JSON.stringify(api);  
            fn_setData(JSON.stringify(api), true);
        };

    fn_getData()

    Die Funktion fn_getData() gibt alle Name-Value-Pairs zurück, die über die Funktion fn_setData() gesetzt wurden.

    Wenn man im obigen Beispiel alle Werte in einer Variablen speichert und diese ausgibt erhält man {“HinweisGesehen“:“true“}.

    var WerteInAPI = fn_getData();
    alert(WerteInAPI);
    

    Weitere Möglichkeiten

    Lernpfad ausblenden

    Der Standard-Lernpfad ist ggf. nicht mehr notwendig und kann daher ausgeblendet werden. Dies erfolgt mit Hilfe der folgenden CSS Angaben:

    Code-Zeile 2