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