Das Looker Extension Framework ist ein Entwicklungs-Framework, das den Aufwand und die Komplexität bei der Erstellung benutzerdefinierter JavaScript-Datenanwendungen und ‑Tools erheblich reduziert, z. B.:
- Interne Plattformanwendungen für Ihr Unternehmen
- Externe Plattformen für Ihre Kunden, z. B. Kundenportale für Embedded Analytics-Anwendungen, die mit Daten in Looker erstellt wurden
- Zielgerichtete interne Tools
- Anwendungen zum Einbetten in externe Anwendungen
Aktuelle Beispiele für Looker-Erweiterungen, die im Looker Marketplace verfügbar sind, sind das Looker Data Dictionary und das LookML-Diagramm.
Warum das Extension Framework verwenden?
Einige Teile der Entwicklung von Webanwendungen sind einfach und machen Spaß, andere sind zeitaufwendiger und nicht gerade unterhaltsam. Das Extension Framework hilft Ihnen, viele dieser weniger angenehmen Aufgaben zu optimieren.
Das Extension Framework übernimmt einige der mühsameren Aspekte der Entwicklung einer Webanwendung, sodass Sie sofort mit der Entwicklung beginnen können. Auf benutzerdefinierte Anwendungen und Tools, die mit dem Extension Framework erstellt wurden, kann in Looker zugegriffen werden. So kann Looker die folgenden Arten von Funktionen verarbeiten:
- Authentifizierung: Sie können die vorhandenen Authentifizierungsoptionen von Looker für die Anmeldung verwenden, z. B. die Anmeldung mit Passwort, LDAP, SAML und OpenID Connect.
- Zugriffssteuerung und Berechtigungsverwaltung.
- API-Zugriff: Sie können andere gängige Entwicklerressourcen wie API-Endpunkte von Drittanbietern in Looker verwenden.
Funktionen des Extension Framework
Das Looker Extension Framework umfasst die folgenden Funktionen:
- Das Looker Extension SDK, das Funktionen für den Zugriff auf die öffentliche Looker API und für die Interaktion in der Looker-Umgebung bietet.
- Looker-Komponenten, eine Bibliothek mit vorgefertigten React-UI-Komponenten, die Sie in Ihren Erweiterungen verwenden können.
- Das Embed SDK, eine Bibliothek, mit der Sie Dashboards, Looks und Explores in Ihre Erweiterung einbetten können. Beispielcode finden Sie in der Erweiterung „Kitchen Sink“. Sie können das Embed SDK auch verwenden, um Ihre Erweiterung in Anwendungen von Drittanbietern einzubetten. Cookies müssen im Browser aktiviert sein, wenn Sie Explores, Looks oder Dashboards in eine Erweiterung einbetten.
- Das
create-looker-extensionDienstprogramm, mit dem eine einfache Erweiterung erstellt wird, die alle erforderlichen Erweiterungsdateien und ‑abhängigkeiten enthält. Sie können sie als Ausgangspunkt für die weitere Entwicklung verwenden. - Unser Repository mit Beispielen für das Looker Extension Framework enthält Vorlagen und Beispielerweiterungen, die Ihnen den Einstieg erleichtern.
- Die Möglichkeit, auf API-Endpunkte von Drittanbietern zuzugreifen und Daten von Drittanbietern zu Ihrer Erweiterung hinzuzufügen.
Die Möglichkeit, Vollbild-Erweiterungen in Looker zu erstellen. Vollbild-Erweiterungen können für interne oder externe Plattformanwendungen verwendet werden.
In einer Vollbild-Erweiterung können Sie verhindern, dass eine Gruppe von Nutzern von Ihrer Erweiterung zu anderen Teilen von Looker navigiert. Dazu fügen Sie die Nutzer einer Nutzergruppe hinzu, die nur Zugriff auf Erweiterungen hat. Sie können auch die Looker-Navigationsleiste entfernen, indem Sie in der Erweiterungs-URL
/extensionsdurch/spartanersetzen.Die Möglichkeit, einen Zugriffsschlüssel für Ihre Erweiterung zu konfigurieren, sodass Nutzer einen Schlüssel eingeben müssen, um die Erweiterung auszuführen. Das ist nützlich, wenn Sie für Ihre Erweiterung Gebühren erheben möchten. Sie sollten jedoch Standardberechtigungen von Looker verwenden, um den Zugriff für Nutzer zu beschränken, die niemals auf eine Erweiterung zugreifen dürfen.
Ab Looker 24.0 können Erweiterungen so entwickelt werden, dass sie in einer Kachel in Dashboards ausgeführt werden. Erweiterungen, die als Kachel oder Visualisierung ausgeführt werden können, können hinzugefügt werden, während sich das Dashboard im Bearbeitungsmodus befindet. Sie können auch aus einem Explore als Visualisierung in einem Dashboard gespeichert werden. Erweiterungen können auch als Kacheln in LookML-Dashboards konfiguriert werden.
Anforderungen an das Extension Framework
So entwickeln Sie mit dem Looker Extension Framework:
- Sie benötigen LookML-Entwicklerberechtigungen für Ihre Instanz.
- Ihr Looker-Administrator muss die Funktion Extension Framework aktivieren.
- Wir empfehlen, dass Sie mit JavaScript oder TypeScript vertraut sind.
- Wir empfehlen die Entwicklung in React. Es gibt jedoch ein Extension SDK für reines JavaScript.
Damit eine Erweiterung in Looker ausgeführt werden kann, muss sie unabhängig von ihrer Funktion die folgenden Elemente in Looker enthalten:
Ein LookML-Projekt, das die folgenden Anforderungen erfüllt:
- Enthält eine Modelldatei
- Enthält eine Projektmanifestdatei
- Ist mit einem Git-Repository verbunden
Die LookML-Modelldatei benötigt einen
connectionParameter, der auf eine gültige Datenbankverbindung in Ihrer Instanz verweist.Die Projektmanifestdatei erfordert einen
applicationParameter. Der Parameterapplicationgibt der Erweiterung ein Label, informiert Looker darüber, wo sich das JavaScript der Erweiterung befindet, und enthält eine Liste der Berechtigungen für die Erweiterung. Berechtigungen definieren die Looker-Ressourcen, auf die die Erweiterung zugreifen kann. Die Erweiterung kann nur auf eine Looker-Ressource zugreifen, wenn diese in den Berechtigungen aufgeführt ist.Hier ist ein Beispiel für eine Projektmanifestdatei mit einem
application-Parameter:project_name: "super_duper_extension" application: super_duper_extension { label: "Super Duper Extension" url: "http://localhost:8080/dist/bundle.js" mount_points: { standalone: no } entitlements: { local_storage: no navigation: no new_window: no new_window_external_urls: [] use_form_submit: yes use_embeds: no use_downloads: no core_api_methods: [] external_api_urls: [] oauth2_urls: [] scoped_user_attributes: [] global_user_attributes: [] } }Weitere Informationen finden Sie auf der Dokumentationsseite zum Parameter
application.
Erste Schritte mit der Entwicklung mit dem Looker Extension Framework
Am einfachsten ist es, zuerst eine neue Starter-Erweiterung aus einer Vorlage zu generieren und diese dann anzupassen und Funktionen hinzuzufügen. So wird sichergestellt, dass alle Konfigurationen und Pakete korrekt sind. Das kann manuell schwierig sein. Eine Anleitung zum Erstellen eines neuen Looker-Projekts für Ihre Erweiterung und zum Generieren einer Starter-Erweiterung finden Sie auf der Dokumentationsseite Looker-Erweiterung erstellen.
Weitere benutzerdefinierte oder erweiterte Vorlagen finden Sie im Repository mit Beispielen für das Looker Extension Framework. Jede Erweiterung in diesem Repository kann geklont und als Ausgangspunkt für Ihr Projekt verwendet werden.
Nachdem Sie eine einfache Erweiterung erstellt und geprüft haben, ob alles funktioniert, können Sie zusätzliche Funktionen und Anpassungen hinzufügen:
Eine Liste häufiger Anwendungsfälle mit Beispielcode finden Sie auf der Dokumentationsseite Codebeispiele für das Looker Extension Framework.
Auf der Website Looker UI Components finden Sie unsere Komponentenbibliothek für die schnelle Entwicklung von UI und Layout.
Die Vorlage „Looker Extension Kitchen Sink“ ist eine Erweiterung, die Beispiele für eine Vielzahl von Erweiterungsfunktionen enthält. Sie können diese Vorlage als Enzyklopädie oder Referenzhandbuch verwenden, aber nicht als Ausgangspunkt oder tatsächliche Vorlage. Wir empfehlen, unseren Erweiterungsgenerator zu verwenden oder eines der einfacheren Beispiele zu klonen, um zu beginnen.
Es sind auch Beispiele für Erweiterungen verfügbar, die als Dashboard-Kacheln verwendet werden können. Die Erweiterung „Tile Visualization“ zeigt, wie Sie mit dem Extension Framework eine benutzerdefinierte Visualisierung erstellen. Die Erweiterung „Tile SDK“ zeigt die verfügbaren API-Methoden, die speziell für Kachelerweiterungen gelten.