Nutzung
application: application_name { label: "Application Label" url: "application_url" file: "application_file_path" sri_hash: "SRI_hash_value" mount_points: { dashboard_vis: yes | no dashboard_tile: yes | no standalone: yes | no } entitlements: { local_storage: yes | no navigation: yes | no new_window: yes | no new_window_external_urls: ["url1", "url2", ...] use_form_submit: yes | no use_embeds: yes | no use_downloads: yes | no use_iframes: yes | no use_clipboard: yes | no core_api_methods: ["api_method1", "api_method2", ...] external_api_urls: ["api_url1", "api_url2", ...] oauth2_urls: ["oauth2_url1", "oauth2_url2", ...] global_user_attributes: ["user_attribute1", "user_attribute2", ...] scoped_user_attributes: ["user_attribute1", "user_attribute2", ...] } }
|
Hierarchie
application |
Standardwert
Keine
Akzeptiert
Ein Name für die Anwendung und Unterparameter zur Definition
Besondere Regeln
Der application muss einen url- oder einen file-Parameter enthalten, aber nicht beides.
|
Definition
Mit dem Parameter application wird eine Anwendung für das Looker Extension Framework definiert. Sobald eine Erweiterung einem Projekt hinzugefügt wurde, können Looker-Nutzer mit den entsprechenden Berechtigungen die Erweiterung an dem Ort sehen, der durch den mount_points-Parameter definiert wird. Wenn der Parameter mount_points nicht angegeben ist, wird die Erweiterung im Bereich Anwendungen des Looker-Menüs aufgeführt.
Der Parameter application hat die folgenden Unterparameter:
Die Anwendung muss entweder einen
url-Parameter oder einenfile-Parameter enthalten, aber nicht beides.
label
Gibt den Namen der Anwendung an, der dem Nutzer im Bereich Anwendungen des Hauptmenüs angezeigt wird. Der Parameter label kann lokalisiert werden, wenn Sie Ihr LookML-Modell lokalisieren.
url
Der Parameter url wird nur für Entwicklungszwecke verwendet und sollte auf einen Entwicklungsserver verweisen, der auf dem Computer des Entwicklers ausgeführt wird. Beispiel:
url: "http://localhost:8080/bundle.js"
Nach der Entwicklung können Sie die Datei per Drag-and-drop in die Looker-IDE ziehen und dann mit dem Parameter file auf die Datei verweisen.
file
Gibt den Pfad zu einer JavaScript-Datei (mit der Erweiterung .js) an, die die Anwendung definiert. Der Pfad ist relativ zum Projektstammverzeichnis. Dieser file-Parameter verweist beispielsweise auf die Datei bundle.js im Verzeichnis apps des LookML-Projekts:
file: "apps/bundle.js"
sri_hash
Gibt einen SRI-Hash (Subresource Integrity) zur JavaScript-Überprüfung an. Er kann entweder mit dem Parameter file oder mit dem Parameter url verwendet werden. Der Wert sri_hash sollte nicht das Präfix sha384- enthalten.
sri_hash wird ignoriert, wenn in url ein Entwicklungsserver angegeben ist.
mount_points
Mit dem Parameter mount_points wird festgelegt, wo in der Looker-Benutzeroberfläche die Erweiterung aufgeführt und dem Nutzer zur Verfügung gestellt wird und ob die Erweiterung eigene Daten bereitstellt. Für Erweiterungen, die in einer Dashboard-Kachel ausgeführt werden sollen, muss mount_points angegeben werden. Wenn mount_points nicht angegeben ist, wird die Erweiterung im Looker-Menü im Bereich Anwendungen aufgeführt. Es sind mehrere mount_points zulässig.
| Parameter | Beschreibung | Beispiel |
|---|---|---|
dashboard_vis |
Wenn die Erweiterung aktiviert ist, wird sie in der Visualisierungsliste eines Explores angezeigt. Dort kann sie ausgewählt und als Dashboard-Kachel gespeichert werden. Wenn das Dashboard ausgeführt wird, wird die mit der Kachel verknüpfte Abfrage ausgeführt und die Daten werden der Erweiterung zur Verfügung gestellt. Das funktioniert ähnlich wie bei benutzerdefinierten Visualisierungen. Der Hauptunterschied zwischen einer benutzerdefinierten Visualisierung und einer Erweiterung, die in einer Dashboardkachel mit aktivierter dashboard_vis ausgeführt wird, besteht darin, dass die Erweiterung Looker API-Aufrufe ausführen kann.
|
dashboard_vis: yes |
dashboard_tile |
Wenn die Erweiterung aktiviert ist, wird sie im Bereich Erweiterungen angezeigt, der eingeblendet wird, wenn ein Nutzer ein Dashboard bearbeitet und nach dem Klicken auf die Schaltfläche Hinzufügen die Option Erweiterungen auswählt. Diese Art von Erweiterung ist für das Abrufen eigener Daten verantwortlich. | dashboard_tile: yes |
standalone |
Gibt an, ob die Erweiterung im Bereich Anwendungen des Looker-Menüs aufgeführt wird. Wenn der Parameter mount_points nicht angegeben ist, ist standalone: yes die Standardeinstellung für die Erweiterung.
|
standalone: yes |
entitlements
Mit dem Parameter entitlements werden die Ressourcen angegeben, auf die die Erweiterung zugreifen kann. Die Erweiterung kann nur auf die Ressourcen zugreifen, wenn sie in entitlements aufgeführt ist.
In einer Erweiterungsanwendung müssen Berechtigungen angegeben werden. Andernfalls kann die Anwendung nicht ausgeführt werden.
Der Parameter entitlements enthält die folgenden Unterparameter. Wenn ein Unterparameter nicht enthalten ist, hat die Erweiterung standardmäßig keinen Zugriff auf diesen Anspruch.
| Parameter | Beschreibung | Beispiel |
|---|---|---|
local_storage |
Gibt an, ob die Erweiterung auf den lokalen Speicher zugreifen darf. | local_storage: yes |
navigation |
Gibt an, ob die Erweiterung zu einer anderen Seite in Looker wechseln darf. | navigation: yes |
new_window |
Gibt an, ob die Erweiterung ein neues Browserfenster oder einen neuen Tab öffnen darf. | new_window: yes |
new_window_external_urls |
Eine durch Kommas getrennte Liste von URLs oder Teil-URLs, für die eine Erweiterung ein neues Fenster öffnen darf. Für diese Berechtigung ist die Berechtigung new_window erforderlich. Sie können Platzhalterzeichen wie * für Subdomains und Pfade verwenden.
|
new_window_external_urls: ["https://www.gmail.com"] |
use_form_submit |
Gibt an, ob die Erweiterung Formulare senden darf. Für Looker-Komponenten, die HTML-Formulare verwenden, ist use_form_submit: yes erforderlich, damit sie richtig funktionieren.
|
use_form_submit: yes |
use_embeds |
Gibt an, ob die Erweiterung das Looker Embed SDK verwenden darf. | use_embeds: yes |
use_downloads |
Hinzugefügt in 21.6 Gibt an, ob die Erweiterung Dateien herunterladen darf. | use_downloads: yes |
use_iframes |
Hinzugefügt: 21.6 Gibt an, ob die Erweiterung einen iFrame erstellen darf. | use_iframes: yes |
use_clipboard |
Hinzugefügt in Version 21.8 Gibt an, ob die Erweiterung in die Systemzwischenablage schreiben darf. Aus Sicherheitsgründen dürfen Erweiterungen nicht aus der Systemzwischenablage lesen. | use_clipboard: yes |
core_api_methods |
Eine durch Kommas getrennte Liste der Looker API-Methoden, die von der Erweiterung verwendet werden. | core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"] |
external_api_urls |
Eine durch Kommas getrennte Liste von URLs für externe APIs, die von der Erweiterung verwendet werden. Wie im Beispiel gezeigt, können Sie Platzhalterzeichen wie * verwenden. Ab Looker 21.6 müssen Erweiterungen, die fetch- oder XHR.open-JavaScript-Aufrufe direkt verwenden (im Gegensatz zu extensionSDK.fetchProxy- oder extensionSDK.serverProxy-API-Aufrufen), die URLs in der Liste enthalten.
|
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"] |
oauth2_urls |
Eine durch Kommas getrennte Liste von URLs für die OAuth 2.0-Authentifizierung und den Codeaustausch, die von der Erweiterung verwendet werden. | oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"] |
global_user_attributes |
Eine durch Kommas getrennte Liste der systemweiten Nutzerattribute, die von der Erweiterung verwendet werden. | global_user_attributes: ["company", "department"] |
scoped_user_attributes |
Eine durch Kommas getrennte Liste der erweiterungsspezifischen Nutzerattribute, die von der Erweiterung verwendet werden. | scoped_user_attributes: ["first_name", "last_name"] |
Beispiel
Im Folgenden sehen Sie den Parameter application aus der Projektmanifestdatei für das Beispiel für eine Looker-Erweiterung mit vielen Funktionen:
application: kitchensink {
label: "Kitchen sink"
url: "http://localhost:8080/bundle.js"
entitlements: {
local_storage: yes
navigation: yes
new_window: yes
use_form_submit: yes
use_embeds: yes
core_api_methods: ["all_connections","search_folders", "run_inline_query", "me", "all_looks", "run_look"]
external_api_urls: ["http://127.0.0.1:3000", "http://localhost:3000", "https://∗.googleapis.com", "https://∗.github.com", "https://REPLACE_ME.auth0.com"]
oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth", "https://github.com/login/oauth/authorize", "https://dev-5eqts7im.auth0.com/authorize", "https://dev-5eqts7im.auth0.com/login/oauth/token", "https://github.com/login/oauth/access_token"]
scoped_user_attributes: ["user_value"]
global_user_attributes: ["locale"]
}
}
Weitere Beispiele finden Sie im extension-examples-Repository von Looker.