Anwendung

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