Looker Extension Framework

Das Looker Extension Framework ist ein Entwicklungs-Framework, das den Aufwand und die Komplexität beim Erstellen 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 Anwendungen für eingebettete Analysen, die mit Daten in Looker erstellt wurden
  • Interne Tools für bestimmte Zielgruppen
  • Anwendungen zum Einbetten 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 Extension-Framework übernimmt einige der mühseligen 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, kann über Looker zugegriffen werden. So kann Looker die folgenden Arten von Funktionen verarbeiten, z. B.:

Funktionen des Extension Framework

Das Looker-Erweiterungsframework umfasst die folgenden Funktionen:

  • Das Looker Extension SDK, das Funktionen für den Zugriff auf die öffentliche Looker API und die Interaktion innerhalb 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 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, mit dem eine einfache Erweiterung mit allen erforderlichen Erweiterungsdateien und Abhängigkeiten erstellt wird, die Sie als Ausgangspunkt verwenden können.
  • Unser Repository Looker Extension Framework Examples mit 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. Vollbild-Erweiterungen 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 Erweiterungen umfasst. 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 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 im Bearbeitungsmodus des Dashboards hinzugefügt oder 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, sich mit JavaScript oder TypeScript vertraut zu machen.
  • Wir empfehlen die Entwicklung in React. Es gibt jedoch auch ein Erweiterungs-SDK für reines JavaScript.

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 die folgenden Anforderungen erfüllt:

  • 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 Parameter application 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 dann auf eine Looker-Ressource zugreifen, wenn diese 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 mit der Entwicklung mit dem Looker Extension Framework

Am einfachsten ist es, zuerst eine neue Starter-Erweiterung aus einer Vorlage zu generieren und dann diese Starter-Erweiterung anzupassen und Funktionen hinzuzufügen. So wird sichergestellt, dass die gesamte Konfiguration und Verpackung korrekt ist, 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.

Weitere benutzerdefinierte oder erweiterte Vorlagen finden Sie im Looker Extension Framework Examples Repository. 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 gängiger Anwendungsfälle mit Beispielcode finden Sie auf der Dokumentationsseite Looker Extension Framework-Codebeispiele.

  • 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, unseren Erweiterungsgenerator zu verwenden oder eines der einfacheren Beispiele zu klonen.

  • Es gibt auch Beispiele für Erweiterungen, die als Dashboard-Kacheln verwendet werden können. In der Erweiterung für die Ansicht mit Kacheln wird gezeigt, 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.