Looker Extension Framework

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.:

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:

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 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 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.