Das Looker Extension Framework ist ein Entwicklungs-Framework, das die Erstellung benutzerdefinierter JavaScript-Datenanwendungen und ‑Tools erheblich beschleunigt und vereinfacht. Beispiele:
- 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
- Ausgewählte interne Tools
- Anwendungen für die Einbettung in externe Anwendungen
Aktuelle Beispiele für Looker-Erweiterungen, die im Looker Marketplace verfügbar sind, sind das Looker-Datendokument und das LookML-Diagramm.
Vorteile des Erweiterungs-Frameworks
Einige Aspekte der Entwicklung von Webanwendungen sind einfach und machen Spaß, andere sind zeitaufwendiger und nicht gerade unterhaltsam. Das Erweiterungs-Framework kann Ihnen dabei helfen, viele dieser weniger angenehmen Aufgaben zu vereinfachen.
Das Extension-Framework übernimmt einige der mühsameren Aspekte beim Erstellen einer Webanwendung, sodass Sie sich sofort auf die Entwicklung konzentrieren können. Auf benutzerdefinierte Anwendungen und Tools, die mit dem Erweiterungsframework erstellt wurden, kann über Looker zugegriffen werden. Looker kann dann die folgenden Arten von Funktionen ausführen:
- Authentifizierung: Sie können die vorhandenen Authentifizierungsoptionen von Looker für die Anmeldung verwenden, z. B. Passwortanmeldung, LDAP, SAML und OpenID Connect.
- Zugriffssteuerung und Berechtigungsverwaltung.
- API-Zugriff: Ermöglicht die Verwendung anderer gängiger Entwicklerressourcen wie API-Endpunkte von Drittanbietern in Looker.
Funktionen des Extension Framework
Das Looker-Erweiterungsframework umfasst die folgenden Funktionen:
- Das Looker Extension SDK, das Funktionen für den öffentlichen API-Zugriff von Looker und für die Interaktion in der Looker-Umgebung bietet.
- Looker-Komponenten: Eine Bibliothek mit vordefinierten React-UI-Komponenten, die Sie in Ihren Erweiterungen verwenden können.
- Das Embed SDK ist eine Bibliothek, mit der Sie Dashboards, Looks und Explores in Ihre Erweiterung einbetten können. Beispielcode finden Sie in der Kitchen Sink-Erweiterung. Sie können das Embed SDK auch verwenden, um Ihre Erweiterung in Drittanbieteranwendungen einzubetten. Cookies müssen im Browser aktiviert sein, wenn Sie Explores, Looks oder Dashboards in eine Erweiterung einbetten.
- Das
create-looker-extension
-Dienstprogramm, mit dem eine einfache Erweiterung erstellt wird, die alle erforderlichen Erweiterungsdateien und ‑abhängigkeiten enthält und die Sie als Ausgangspunkt für die Entwicklung verwenden können. - Unser Repository Looker Extension Framework Examples (Beispiele für das Looker-Erweiterungsframework) mit Vorlagen und Beispielerweiterungen, die Ihnen den Einstieg erleichtern.
- Sie können auf API-Endpunkte von Drittanbietern zugreifen und Ihrer Erweiterung Daten von Drittanbietern hinzufügen.
Vollbild-Erweiterungen in Looker 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 über Ihre Erweiterung zu anderen Bereichen von Looker navigiert. Dazu fügen Sie die Nutzer einer Nutzergruppe vom Typ „Nur Erweiterungen“ hinzu. Sie können die Looker-Navigationsleiste auch entfernen, indem Sie in der Erweiterungs-URL
/extensions
durch/spartan
ersetzen.Sie können einen Zugriffsschlüssel für Ihre Erweiterung 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 in Looker verwenden, um den Zugriff auf Nutzer einzuschränken, die niemals auf eine Erweiterung zugreifen dürfen.
Ab Looker 24.0 können Erweiterungen für die Ausführung in einem Kachel in Dashboards entwickelt werden. Erweiterungen, die als Tile oder Visualisierung ausgeführt werden können, können hinzugefügt werden, während sich das Dashboard im Bearbeitungsmodus befindet, oder als Visualisierung aus einem Explore 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 sich mit JavaScript oder TypeScript auskennen.
- Wir empfehlen die Entwicklung in React. Es gibt aber auch ein Erweiterungs-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
- Mit einem Git-Repository verbunden
Die LookML-Modelldatei benötigt einen
connection
-Parameter, der auf eine gültige Datenbankverbindung in Ihrer Instanz verweist.Die Projektmanifestdatei erfordert den Parameter
application
. Der Parameterapplication
gibt der Erweiterung ein Label, teilt Looker mit, 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 Ressource in den Berechtigungen aufgeführt ist.Im Folgenden finden Sie 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
application
-Parameter.
Erste Schritte bei der Entwicklung mit dem Looker Extension Framework
Am einfachsten ist es, zuerst eine neue Starter-Erweiterung aus einer Vorlage zu generieren und dann die Starter-Erweiterung anzupassen und Funktionen hinzuzufügen. So wird sichergestellt, dass alle Konfigurationen und Verpackungen korrekt sind. Das kann manuell schwierig sein. Auf der Dokumentationsseite Looker-Erweiterung erstellen finden Sie eine Anleitung zum Erstellen eines neuen Looker-Projekts für Ihre Erweiterung und zum Generieren einer Starter-Erweiterung.
Weitere benutzerdefinierte oder erweiterte Vorlagen finden Sie im Repository mit Beispielen für das Looker-Erweiterungsframework. Jede Erweiterung in diesem Repository kann geklont und als Ausgangspunkt für Ihr Projekt verwendet werden.
Nachdem Sie eine einfache Erweiterung erstellt und überprüft haben, ob alles funktioniert, können Sie zusätzliche Funktionen und Anpassungen hinzufügen:
Eine Liste mit gängigen Anwendungsfällen und Beispielcode finden Sie auf der Dokumentationsseite Looker Extension Framework – Codebeispiele.
Auf der Website Looker UI Components finden Sie Informationen zur Verwendung unserer Komponentenbibliothek für die schnelle Entwicklung von Benutzeroberflächen und Layouts.
Die Looker Extension Kitchensink Template ist eine Erweiterung, die Beispiele für eine Vielzahl von Erweiterungsfunktionen bietet. Sie können diese Vorlage als Enzyklopädie oder Referenz verwenden, aber nicht als Ausgangspunkt oder tatsächliche Vorlage. Wir empfehlen, mit unserem Erweiterungsgenerator zu beginnen oder eines der einfacheren Beispiele zu klonen.
Es sind auch Beispiele für Erweiterungen verfügbar, die als Dashboard-Kacheln verwendet werden können. Die Erweiterung für die Kachelvisualisierung zeigt, wie Sie mit dem Erweiterungsframework eine benutzerdefinierte Visualisierung erstellen. Die Kachel-SDK-Erweiterung enthält die verfügbaren API-Methoden, die speziell für Kachelerweiterungen gelten.