Looker Extension Framework

Das Framework der Looker-Erweiterung ist ein Entwicklungs-Framework, das den Aufwand und die Komplexität der Erstellung benutzerdefinierter JavaScript-Datenanwendungen und -tools erheblich reduziert:

  • Interne Plattformanwendungen für Ihr Unternehmen
  • Externe Plattformen für Ihre Kunden, z. B. Kundenportale für eingebettete Analytics-Anwendungen, die mit Daten in Looker erstellt werden
  • Zielgerichtete interne Tools
  • Anwendungen zum Einbetten in externe Anwendungen

Aktuelle Beispiele für Looker-Erweiterungen im Looker Marketplace sind das Looker-Wörterbuch von Looker und das LookML-Diagramm.

Vorteile des Erweiterungs-Frameworks

Einige Teile von Webanwendungen sind einfach und macht Spaß, andere sind zeitaufwendiger und nicht wirklich unterhaltsam. Mit dem Framework für Erweiterungen lassen sich viele dieser Aufgaben optimieren.

Das Erweiterungs-Framework kümmert sich um einige der mühsameren Aspekte beim Erstellen einer Webanwendung, damit Sie sich sofort auf die Entwicklung konzentrieren können. Auf benutzerdefinierte Anwendungen und Tools, die mit dem Erweiterungs-Framework erstellt wurden, können über Looker zugegriffen werden, sodass Looker die folgenden Arten von Funktionen ausführen kann, z. B.:

Funktionen des Erweiterungs-Frameworks

Das Framework der Looker-Erweiterung umfasst die folgenden Funktionen:

  • Das Looker Extension SDK, das Funktionen für den öffentlichen Looker-API-Zugriff und für die Interaktion innerhalb der Looker-Umgebung bietet.
  • Looker-Komponenten: Eine Mediathek mit vordefinierten React-UI-Komponenten, die Sie in Erweiterungen verwenden können.
  • Das Embed SDK ist eine Bibliothek, mit der Sie Dashboards, Looks und Explores in Ihre Erweiterung einbetten können. Den Beispielcode finden Sie in der Erweiterung für Küchenspüle. Sie können Ihre Erweiterung auch mit dem Embed SDK in Drittanbieter-Anwendungen einbetten. Wenn Sie Explores, Looks oder Dashboards in eine Erweiterung einbetten, müssen im Browser Cookies aktiviert sein.
  • Das Dienstprogramm create-looker-extension, das eine einfache Erweiterung mit allen erforderlichen Erweiterungsdateien und Abhängigkeiten erstellt, die Sie als Ausgangspunkt verwenden können.
  • Unsere Beispiele für das Framework der Looker-Erweiterung mit Vorlagen und Beispielerweiterungen für einen schnellen Einstieg.
  • Zugriff auf API-Endpunkte von Drittanbietern und Hinzufügen von Drittanbieterdaten zu Ihrer Erweiterung
  • 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 eine Gruppe von Nutzern von Ihrer Erweiterung zu anderen Teilen von Looker gelangt, indem Sie Nutzer zu einer „Nur Erweiterung“-Nutzergruppe hinzufügen. Sie können die Navigationsleiste von Looker entfernen. Ersetzen Sie dazu in der Erweiterungs-URL /extensions durch /spartan.

  • Die Berechtigung, 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, aber für den Zugriff auf die Erweiterungen die Standardberechtigungen von Looker verwenden möchten.

Anforderungen an Erweiterungs-Framework

So entwickeln Sie mit dem Looker-Erweiterungs-Framework:

Damit eine Erweiterung in Looker ausgeführt werden kann, muss sie unabhängig von ihrer Funktion die folgenden Elemente enthalten:

  • Ein LookML-Projekt, das:

  • Die LookML-Modelldatei benötigt einen connection-Parameter, der auf eine gültige Datenbankverbindung auf Ihrer Instanz verweist.

  • Für die Projektmanifestdatei ist ein application-Parameter erforderlich. Mit dem Parameter application erhält die Erweiterung ein Label, teilt Looker mit, wo das JavaScript der Erweiterung zu finden ist, und liefert eine Liste der Berechtigungen für die Erweiterung. Berechtigungen definieren die Looker-Ressourcen, auf die die Erweiterung zugreifen kann. Die Erweiterung kann nur dann auf eine Looker-Ressource zugreifen, wenn sie in den Berechtigungen aufgeführt ist. Hier sehen 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"
    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 zu application-Parametern.

Erste Schritte mit dem Looker-Erweiterungs-Framework

Am einfachsten ist es, zuerst eine neue Starter-Erweiterung aus einer Vorlage zu erstellen und dann diese Funktion zu diesem Auslöser anzupassen und hinzuzufügen. So wird sichergestellt, dass die gesamte Konfiguration und Verpackung korrekt ist, was von Hand schwierig werden kann. Auf der Seite Looker-Erweiterung erstellen erfahren Sie, wie Sie ein neues Looker-Projekt für die Erweiterung erstellen und eine Starter-Erweiterung generieren.

Weitere benutzerdefinierte oder erweiterte Vorlagen finden Sie im Repository der Beispiele für Looker Extension. 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 weitere Funktionen und Anpassungen hinzufügen:

  • Eine Liste häufiger Anwendungsfälle mit Beispielcode finden Sie auf der Seite Beispiele für Codebeispiele für Looker-Erweiterungen.

  • Auf der Website Looker-UI-Komponenten finden Sie unsere Komponentenbibliothek, mit der Sie UI- und Layoutentwicklungen beschleunigen können.

  • Die Looker Extension Kitchensink-Vorlage ist eine Erweiterung, die Beispiele für eine Vielzahl von Erweiterungsfunktionen bietet. Du kannst diese Vorlage als Enzyklopädie oder Referenzleitfaden verwenden, aber nicht als Ausgangspunkt oder tatsächliche Vorlage verwenden. Wir empfehlen Ihnen, zu Beginn unseren Erweiterungsgenerator zu verwenden oder eines der einfacheren Beispiele zu klonen.