application

Utilisation

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", ...]
  }
}
Hiérarchie
application
Valeur par défaut
Aucun

Acceptation
Nom de l'application et sous-paramètres permettant de la définir

Règles spéciales
Le application doit comporter un paramètre url ou file, mais pas les deux.

Définition

Le paramètre application définit une application pour le framework d'extension de Looker. Une fois qu'une extension est ajoutée à un projet, les utilisateurs Looker disposant des autorisations appropriées peuvent la voir à l'emplacement défini par le paramètre mount_points. Si le paramètre mount_points n'est pas spécifié, l'extension est listée dans la section Applications du menu Looker.

Le paramètre application comporte les sous-paramètres suivants :

L'application doit comporter un paramètre url ou file, mais pas les deux.

label

Spécifie le nom de l'application qui s'affiche pour l'utilisateur dans la section Applications du menu principal. Le label peut être localisé si vous localisez votre modèle LookML.

url

Le paramètre url n'est utilisé qu'à des fins de développement et doit pointer vers un serveur de développement exécuté sur la machine du développeur. Exemple :

url: "http://localhost:8080/bundle.js"

Après le développement, vous pouvez faire glisser le fichier dans l'IDE Looker, puis utiliser le paramètre file pour pointer vers le fichier.

file

Indique le chemin d'accès à un fichier JavaScript (avec une extension .js) qui définit l'application. Le chemin d'accès est relatif à la racine du projet. Par exemple, ce paramètre file pointe vers le fichier bundle.js dans le répertoire apps du projet LookML :

file: "apps/bundle.js"

sri_hash

Spécifie un hachage Subresource Integrity (SRI) à des fins de validation JavaScript. Il peut être utilisé avec le paramètre file ou url. La valeur sri_hash ne doit pas inclure le préfixe sha384-.

sri_hash est ignoré si url spécifie un serveur de développement.

mount_points

Le paramètre mount_points détermine l'emplacement de l'extension dans l'UI Looker, où elle sera listée et mise à la disposition de l'utilisateur, et indique si l'extension fournira ses propres données. Les extensions destinées à s'exécuter dans un élément de tableau de bord nécessitent la spécification de mount_points. Si mount_points n'est pas spécifié, l'extension sera listée dans la section Applications du menu Looker. Plusieurs mount_points sont autorisées.

Paramètre Description Exemple
dashboard_vis Lorsqu'elle est activée, l'extension apparaît dans la liste des visualisations d'une exploration, où elle peut être sélectionnée et enregistrée en tant que tuile de tableau de bord. Lorsque le tableau de bord est exécuté, il exécute la requête associée au bloc et met les données à la disposition de l'extension. Ce mode de fonctionnement est semblable à celui des visualisations personnalisées. La principale différence entre une visualisation personnalisée et une extension exécutée dans une vignette de tableau de bord pour laquelle dashboard_vis est activé est que l'extension peut effectuer des appels à l'API Looker. dashboard_vis: yes
dashboard_tile Lorsqu'elle est activée, l'extension s'affiche dans le panneau Extensions qui s'affiche lorsqu'un utilisateur modifie un tableau de bord et sélectionne l'option Extensions après avoir cliqué sur le bouton Ajouter. Ce type d'extension est responsable de la récupération de ses propres données. dashboard_tile: yes
standalone Indique si l'extension sera listée dans la section Applications du menu Looker. Si le paramètre mount_points n'est pas spécifié, standalone: yes est le paramètre par défaut de l'extension. standalone: yes

entitlements

Le paramètre entitlements spécifie les ressources auxquelles l'extension peut accéder. L'extension ne pourra pas accéder aux ressources, sauf si elle est répertoriée dans entitlements.

Une application d'extension doit spécifier des droits d'accès. Sans cela, l'application ne fonctionnera pas.

Le paramètre entitlements inclut les sous-paramètres suivants. Si un sous-paramètre n'est pas inclus, l'extension n'est pas autorisée à accéder à ce droit par défaut.

Paramètre Description Exemple
local_storage Indique si l'extension est autorisée à accéder au stockage local. local_storage: yes
navigation Indique si l'extension est autorisée à accéder à une autre page dans Looker. navigation: yes
new_window Indique si l'extension est autorisée à ouvrir une nouvelle fenêtre ou un nouvel onglet du navigateur. new_window: yes
new_window_external_urls Liste d'URL ou d'URL partielles séparées par une virgule pour lesquelles une extension peut ouvrir une nouvelle fenêtre. Ce droit d'accès nécessite le droit d'accès new_window. Vous pouvez inclure des caractères génériques tels que * pour les sous-domaines et les chemins d'accès. new_window_external_urls: ["https://www.gmail.com"]
use_form_submit Indique si l'extension est autorisée à envoyer des formulaires. Les composants Looker qui utilisent des formulaires HTML nécessitent use_form_submit: yes pour fonctionner correctement. use_form_submit: yes
use_embeds Indique si l'extension est autorisée à utiliser le SDK d'intégration Looker. use_embeds: yes
use_downloads Ajouté 21.6 Indique si l'extension est autorisée à télécharger des fichiers. use_downloads: yes
use_iframes Ajouté dans la version 21.6 Indique si l'extension est autorisée à créer un iFrame. use_iframes: yes
use_clipboard Ajouté dans la version 21.8 Indique si l'extension est autorisée à écrire dans le presse-papiers du système. Pour des raisons de sécurité, les extensions ne sont pas autorisées à lire le contenu du presse-papiers système. use_clipboard: yes
core_api_methods Liste de méthodes de l'API Looker utilisées par l'extension, séparées par une virgule. core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"]
external_api_urls Liste d'URL séparées par une virgule pour les API externes utilisées par l'extension. Comme indiqué dans l'exemple, vous pouvez inclure des caractères génériques tels que *.

À partir de Looker 21.6, les extensions qui utilisent directement les appels JavaScript fetch ou XHR.open (au lieu d'utiliser les appels d'API extensionSDK.fetchProxy ou extensionSDK.serverProxy) doivent inclure les URL dans la liste.
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"]
oauth2_urls Liste d'URL séparées par une virgule pour l'authentification OAuth 2.0 et l'échange de code utilisés par l'extension. oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"]
global_user_attributes  Liste d'attributs utilisateur à l'échelle du système, séparés par une virgule, que l'extension utilise. global_user_attributes: ["company", "department"]
scoped_user_attributes  Liste d'attributs utilisateur spécifiques à l'extension, séparés par une virgule, que l'extension utilise. scoped_user_attributes: ["first_name", "last_name"]

Exemple

Voici le paramètre application du fichier manifeste du projet pour l'exemple d'extension "kitchen sink" de Looker :

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"]
  }
}

Pour obtenir d'autres exemples, consultez le dépôt d'exemples d'extensions de Looker.