Classroom-Add-ons mit LTI-Tools vergleichen

Learning Tools Interoperability (LTI) ist ein offenes Framework zum Erstellen von Drittanbieterintegrationen in Lernplattformen. Classroom-Add-ons und LTI-Tools unterstützen zwar ähnliche Nutzeraktionen, die beiden Frameworks sind aber nicht direkt kompatibel. In diesem Leitfaden werden die beiden Integrationstypen verglichen und die wichtigsten Unterschiede hervorgehoben. Außerdem werden Möglichkeiten vorgeschlagen, ähnliche Nutzeraktionen zu erzielen, wenn ein LTI-Tool so angepasst wird, dass es als Classroom-Add-on funktioniert.

Interaktionen zwischen Plattform und Tools

Ein wichtiger Unterschied zwischen LTI-Tools und Classroom-Add-ons besteht in der Art und Weise, wie Informationen ausgetauscht werden. LTI-Tools verwenden in der Regel HTTP POST, um Nutzlasten an eine LTI-Plattform zu übertragen, während Classroom-Add-ons Ressourcen mit der Google Classroom REST APIerstellen und abrufen.

In der folgenden Tabelle wird zusammengefasst, wie Sie wichtige Verhaltensweisen von LTI-Tools mit Google Classroom erzielen können.

Funktion LTI Classroom
Aufgaben erstellen Aufgaben- und Benotungsdienste Ressourcen CourseWork und AddOnAttachment erstellen
Noten posten Aufgaben- und Benotungsdienste Abgegebene Aufgaben von Schülern/Studenten für CourseWork und AddOnAttachment aktualisieren
Startrouten Deeplink URIs in AddOnAttachment Ressourcen angeben
Kurslisten lesen Dienste zur Bereitstellung von Namen und Rollen Student- und Teacher-Profile in einem Kurs abrufen

LTI-Tool an Classroom-Add-on anpassen

Viele LTI-Interaktionen haben Entsprechungen im Framework für Classroom-Add-ons. In den folgenden Abschnitten werden einige wichtige Konzepte und empfohlene Maßnahmen erläutert.

Anwendung konfigurieren

Für alle programmatischen Interaktionen mit Google Classroom ist ein Google Cloud-Projekt erforderlich. Sie konfigurieren den Eintrag Ihrer Anwendung im selben Cloud-Projekt. Dadurch wird festgelegt, wie Ihr Classroom-Add-on für Endnutzer angezeigt wird. Sie stellen Symbole bereit, legen den Namen und die Beschreibung der App fest und konfigurieren die OAuth-Berechtigungen, die Ihr Produkt benötigt.

Die Installation Ihrer Add-on-Anwendung über den Eintrag ist oft der einzige Konfigurationsschritt, den Endnutzer ausführen müssen. Dies entspricht dem Aktivieren und Bereitstellen eines LTI-Tools. Endnutzer müssen keine Registrierungsaktionen ausführen oder Konfigurationsdetails verwalten. Ein Administrator muss die App jedoch möglicherweise im Marketplace zulassen und Berechtigungen für den Datenzugriff durch Drittanbieter konfigurieren.

Empfehlung: Folgen Sie unserer Anleitung zum Erstellen und Konfigurieren eines Google Cloud-Projekts für ein Classroom-Add-on. Geben Sie vor allem eine URL für den Add-on-Start als URI für die Suche nach Anhängen im Marketplace SDK an. Diese URL kann mit der Startroute eines vorhandenen LTI-Tools identisch sein, solange sie den Nutzer zum entsprechenden Authentifizierungsvorgang weiterleitet.

Authentifizierungsvorgang

LTI verwendet einen 2-Legged-Flow, bei dem eine Clientanwendung und ein Authentifizierung sserver ein signiertes JWT austauschen. Nutzer müssen einem Tool keinen Zugriff auf ihre Daten gewähren, da die Einwilligung impliziert ist, wenn ein Administrator das Tool konfiguriert.

Im Gegensatz dazu ist der OAuth-Flow von Google ein 3-Legged-Flow, an dem der Endnutzer, externe Clientanwendung und der Authentifizierungsserver beteiligt sind. Der Client erhält mit ausdrücklicher Einwilligung des Nutzers Tokens, die Zugriff auf die Google Classroom-Ressourcen des Nutzers gewähren.

Eine Add-on-Anwendung kann ein ähnliches 2-Legged-Verhalten mit signierten JWTs mithilfe von Dienstkonten erzielen. Dabei handelt es sich um Konten, die zu einer Anwendung und nicht zu einem einzelnen Nutzer gehören und ohne Nutzereinwilligung Aktionen ausführen können. Die Verwendung von Dienstkonten erfordert die Konfiguration und Verwaltung durch einen Administrator. Die Verwendung von Dienstkonten mit domainweiter Delegierung wird dringend abgeraten, da sie potenzielle Missbrauchsvektoren darstellen. Weitere Informationen finden Sie in unserem Leitfaden zur domainweiten Delegierung mit Google Classroom-Integrationen.

Empfehlung: Wenn eine URL, die mit Ihrem Tool oder Add-on verknüpft ist, eine eingehende Anfrage erhält, prüfen Sie, ob die Anfrage Abfrageparameter für Classroom-Add-ons enthält. Wenn dies der Fall ist, verwenden Sie das Google Identity SDK, um Anmeldedaten für den Nutzer abzurufen. Speichern Sie die Anmeldedaten in der Sitzung des Nutzers und verwenden Sie sie für nachfolgende Classroom API-Anfragen. Wenn die Abfrageparameter nicht vorhanden sind, verwenden Sie HTTP-Anfragen, um mit den LTI-Endpunkten der Plattform zu interagieren.

Add-on-Inhalte in Google Classroom erstellen

Classroom-Add-ons unterstützen einen Inhaltstyp: URL-Links zu extern gehosteten Seiten. Diese Links sind in AddOnAttachment Ressourcen, die die Webrouten definieren, die geöffnet werden, wenn ein Nutzer mit Ihrem Add-on interagiert. Jede URL wird in bestimmten Szenarien geöffnet. Weitere Informationen finden Sie in unseren Leitfäden zu iFrames. Diese URLs entsprechen LTI-Ressourcen links.

Classroom-Add-ons unterstützen keine anderen Inhaltstypen wie Dateien, Bilder oder HTML-Fragmente.

Empfehlung: Wenn ein Nutzer Inhalte in Ihrem Produkt auswählt, rufen Sie seine OAuth-Anmeldedaten ab und senden Sie eine AddOnAttachments.create-Anfrage. Die Anfrage sollte ein AddOnAttachment-Objekt mit den URLs für eine Schüler-/Studentenansicht, eine Lehreransicht und optional eine Benotungsansicht enthalten. Es gibt separate API-Endpunkte zum Erstellen von Anhängen in Ankündigungen, Aufgaben oder Kursmaterialien. Nur Anhänge, die in Aufgaben erstellt wurden, können die Benotungsansicht haben, da dies der einzige Typ von Classroom-Stream-Element ist, der eine von Schülern/Studenten eingereichte Arbeit akzeptiert.

Vergleich der Framework-Funktionen

Platzierungen der Integration

Classroom-Add-ons erstellen Anhänge in Ankündigungen, Aufgaben und Kursmaterialien. Das sind die Elemente, die auf dem Tab „Stream“ eines Kurses in der Classroom-UI angezeigt werden.

Lehrkräfte beginnen mit dem Erstellen von Add-on-Anhängen, indem sie im Workflow zum Erstellen von Aufgaben ein Add-on in einer Auswahl auswählen. In den Leitfäden zu iFrames finden Sie eine detaillierte Erläuterung der einzelnen Ansichten, die Nutzern präsentiert werden.

Alternativ können Entwickler Aufgaben mit Add-on-Anhängen programmatisch erstellen. Weitere Informationen finden Sie in unserem Leitfaden zum Erstellen von Anhängen außerhalb von Google Classroom.

Informationen zum Startkontext

Classroom fügt jeder URL mehrere Abfrageparameter hinzu, wenn eine Add-on-Route geöffnet wird. Dazu gehören immer der Stream-Elementtyp und IDs für den Kurs und das Stream-Element. Je nach iFrame-Ansicht können weitere Informationen vorhanden sein, z. B. die IDs für den Anhang oder die eingereichte Arbeit, ein Token zur Autorisierung der Erstellung von Anhängen oder die URL zum Upgrade von einem Link zu einem Add-on-Anhang.

Standardmäßig werden in Classroom keine Informationen zum Nutzer oder zur Bildungseinrichtung weitergegeben. Informationen zum Nutzer, einschließlich einer Nutzer-ID, können Sie über die Classroom API Ressource UserProfile abrufen. Wenn der Nutzer ein Domainadministrator ist, können Sie Informationen zur Bildungseinrichtung über das Workspace Admin SDKabrufen.

Authentifizierung und Autorisierung

Classroom-Add-ons müssen für die Nutzerauthentifizierung „Über Google anmelden“ verwenden. Nach der Anmeldung gewähren Nutzer Ihrer Anwendung Berechtigungen über OAuth 2.0-Bereiche. Ihre Anwendung kann eine beliebige Kombination der verfügbaren OAuth-Bereiche verwenden.

App-Erkennung und -Konfiguration

Nutzer finden und installieren Classroom-Add-ons über den Google Workspace Marketplace. Durch die Ein-Klick-Installation wird eine Add-on-Anwendung für eine einzelne Lehrkraft verfügbar. Optional kann ein Administrator die Add-on-Anwendung für alle Lehrkräfte in einer Organisationseinheit oder Domain installieren. Auf Anhänge, die mit der Anwendung erstellt wurden, können dann alle Schüler/Studenten eines Kurses zugreifen. Endnutzer müssen keine Tokens, Schlüssel oder IDs für einzelne Classroom-Add-ons verwalten.

UX und Produktablauf

In vielen Fällen funktioniert der vorhandene Produktablauf eines LTI-Tools gut als Classroom-Add-on. Ähnlich wie bei einem LTI-Tool können Sie mit einem Classroom-Add-on im Wesentlichen Links zu Ihren Inhalten auf unserer Plattform erstellen und verwalten. Classroom-Add-on-Anhänge ähneln LTI Deeplinks. Wenn Ihr LTI-Tool URLs erstellt, die auf Ihre gehosteten Inhalte verweisen, sollte es gut als Classroom-Add-on funktionieren.

Aufgaben von Schülern/Studenten benoten

Classroom-Add-on-Anhänge können in der Classroom-Benotungsansicht angesehen und benotet werden. Wenn Sie Inhalte anhängen, für die eine von Schülern/Studenten eingereichte Arbeit erforderlich ist, geben Sie einen student_work_review_uri an, über den eine Lehrkraft die Arbeit eines bestimmten Schülers/Studenten ansehen und benoten kann. Das unterscheidet sich von LTI, wo ein Tool nur einen target_link_uri definiert, der sowohl für Lehrkräfte als auch für Schüler/Studenten gilt. Die Implementierung von Classroom-Add-ons ähnelt am ehesten dem kommenden LTI Submission Review Service.