Das Looker Extension Framework ist ein Entwicklungs-Framework, das den Aufwand und die Komplexität der Erstellung benutzerdefinierter JavaScript-Datenanwendungen und -tools erheblich reduziert. Dazu gehören:
- Interne Plattformanwendungen für Ihr Unternehmen
- Externe Plattformen für Ihre Kunden, z. B. Kundenportale für eingebettete Analyseanwendungen, die mit Daten in Looker erstellt wurden
- Zielgerichtete 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-Datenlexikon und das LookML-Diagramm.
Vorteile des Erweiterungsframeworks
Einige Aspekte der Entwicklung von Webanwendungen sind einfach und machen Spaß, während andere offensichtlich zeitaufwendiger und nicht gerade unterhaltsam sind. Das Erweiterungs-Framework unterstützt Sie dabei, viele dieser weniger angenehmen Aufgaben zu optimieren.
Das Erweiterungs-Framework berücksichtigt einige der mühsameren Aspekte beim Erstellen einer Webanwendung, sodass Sie sich darauf konzentrieren können, sofort mit der Entwicklung zu beginnen. Auf benutzerdefinierte Anwendungen und Tools, die mit dem Erweiterungs-Framework erstellt wurden, kann über Looker zugegriffen werden. So kann Looker die folgenden Arten von Funktionen verarbeiten, z. B.:
- 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: Hiermit können Sie andere gängige Entwicklerressourcen wie API-Endpunkte von Drittanbietern in Looker nutzen.
Funktionen des Extension Framework
Das Looker-Erweiterungsframework umfasst die folgenden Funktionen:
- Das Looker Extension SDK bietet Funktionen für den öffentlichen Looker API-Zugriff und für die Interaktion in der Looker-Umgebung.
- Looker-Komponenten, eine Bibliothek vordefinierter 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 Spülenerweiterung. 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-extension
-Dienstprogramm, das eine einfache Erweiterung erstellt, die alle erforderlichen Erweiterungsdateien und Abhängigkeiten enthält, die Sie als Ausgangspunkt verwenden können. - Unser Beispiel-Repository für das Looker-Erweiterungs-Framework enthält Vorlagen und Beispielerweiterungen, die Ihnen den Einstieg erleichtern.
- Sie können auf API-Endpunkte von Drittanbietern zugreifen und Ihrer Erweiterung Drittanbieterdaten hinzufügen.
Die Möglichkeit, Vollbilderweiterungen in Looker zu erstellen. Vollbilderweiterungen können für interne oder externe Plattformanwendungen verwendet werden.
In einer Vollbilderweiterung können Sie verhindern, dass Nutzer von Ihrer Erweiterung aus zu anderen Teilen von Looker wechseln, indem Sie sie einer Nutzergruppe hinzufügen, die nur für Erweiterungen gilt. 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, damit Nutzer einen Schlüssel eingeben müssen, um die Erweiterung auszuführen. Das ist nützlich, wenn Sie für Ihre Erweiterung eine Gebühr erheben möchten. Sie sollten jedoch Standard-Looker-Berechtigungen verwenden, um den Zugriff für Nutzer zu sperren, die niemals auf eine Erweiterung zugreifen sollten.
Ab Looker 24.0 können Erweiterungen für die Ausführung in einer Kachel in Dashboards entwickelt werden. Erweiterungen, die die Ausführung als Kachel oder Visualisierung unterstützen, können hinzugefügt werden, während sich das Dashboard im Bearbeitungsmodus befindet, oder als Visualisierung aus einem Explore in einem Dashboard gespeichert. Erweiterungen können auch als Kacheln in LookML-Dashboards konfiguriert werden.
Anforderungen an das Framework für Erweiterungen
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.
- Sie sollten mit JavaScript oder TypeScript vertraut sein.
- Wir empfehlen die Entwicklung in React, obwohl es ein Erweiterungs-SDK für JavaScript-Rohdaten gibt.
Damit eine Erweiterung in Looker ausgeführt werden kann, müssen alle Erweiterungen unabhängig von ihrer Funktion die folgenden Elemente enthalten:
Ein LookML-Projekt, das:
- Enthält eine Modelldatei
- Enthält eine Projektmanifestdatei
- Es ist 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 einen
application
-Parameter. Der Parameterapplication
verleiht der Erweiterung ein Label, teilt Looker mit, wo das JavaScript der Erweiterung zu finden ist, und stellt eine Liste der Berechtigungen für die Erweiterung bereit. Berechtigungen definieren die Looker-Ressourcen, auf die die Erweiterung zugreifen kann. Die Erweiterung kann nur dann 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-Erweiterungsframework
Am einfachsten ist es, zuerst eine neue Starter-Erweiterung aus einer Vorlage zu generieren, diese dann anzupassen und Funktionen hinzuzufügen. Dadurch wird sichergestellt, dass Konfiguration und Verpackung korrekt sind, was manuell schwierig sein kann. Auf der Dokumentationsseite Looker-Erweiterung erstellen finden Sie eine Anleitung zum Erstellen eines neuen Looker-Projekts für Ihre Erweiterung und zum Generieren einer Startererweiterung.
Benutzerdefinierte oder erweiterte Vorlagen finden Sie im Beispiel-Repository für Looker-Erweiterungen. Jede Erweiterung in diesem Repository kann geklont und als Ausgangspunkt für Ihr Projekt wiederverwendet werden.
Nachdem Sie eine einfache Erweiterung erstellt und überprüft haben, ob alles funktioniert, können Sie zusätzliche Funktionen und Anpassungen hinzufügen:
Auf der Dokumentationsseite für das Looker-Erweiterungs-Framework mit Codebeispielen finden Sie eine Liste häufiger Anwendungsfälle mit Beispielcode.
Auf der Website Looker-UI-Komponenten finden Sie Informationen zur Verwendung unserer Komponentenbibliothek für die schnelle Entwicklung von UI und Layout.
Die Looker-Erweiterungs-„All-in-One-Vorlage“ ist eine Erweiterung mit Beispielen für eine Vielzahl von Erweiterungsfunktionen. Sie können diese Vorlage als Enzyklopädie oder als Referenzhandbuch verwenden, aber nicht als Ausgangspunkt oder als tatsächliche Vorlage. Wir empfehlen Ihnen, zuerst unseren Erweiterungsgenerator zu verwenden oder eines der einfacheren Beispiele zu klonen.
Beispiele für Erweiterungen, die als Dashboard-Kacheln verwendet werden können, sind ebenfalls verfügbar. Die Erweiterung „Kachelvisualisierung“ zeigt, wie Sie mit dem Erweiterungs-Framework eine benutzerdefinierte Visualisierung erstellen. In der Erweiterung „Kacheln-SDK“ werden die verfügbaren API-Methoden angezeigt, die speziell für Erweiterungen für Kacheln gelten.