Utilizzo
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", ...] } }
|
Gerarchia
application |
Valore predefinito
Nessuno
Accetta
Un nome per l'applicazione e i sottoparametri per definirla
Regole speciali
application deve avere un parametro url o file, ma non entrambi
|
Definizione
Il parametro application definisce un'applicazione per il framework di estensione di Looker. Una volta aggiunta un'estensione a un progetto, gli utenti di Looker con autorizzazioni appropriate possono visualizzarla nella posizione definita dal parametro mount_points. Se il parametro mount_points non è specificato, l'estensione viene elencata nella sezione Applicazioni del menu di Looker.
Il parametro application ha i seguenti sottoparametri:
L'applicazione deve avere un parametro
urlo un parametrofile, ma non entrambi.
label
Specifica il nome dell'applicazione visualizzato dall'utente nella sezione Applicazioni del menu principale. label può essere localizzato se localizzi il modello LookML.
url
Il parametro url viene utilizzato solo a scopo di sviluppo e deve puntare a un server di sviluppo in esecuzione sul computer dello sviluppatore. Ad esempio:
url: "http://localhost:8080/bundle.js"
Dopo lo sviluppo, puoi trascinare il file nell'IDE di Looker e quindi utilizzare il parametro file per indicare il file.
file
Specifica il percorso di un file JavaScript (con estensione .js) che definisce l'applicazione. Il percorso è relativo alla radice del progetto. Ad esempio, questo parametro file punta al file bundle.js nella directory apps del progetto LookML:
file: "apps/bundle.js"
sri_hash
Specifica un hash Subresource Integrity (SRI) per la verifica JavaScript. Può essere utilizzato con il parametro file o url. Il valore sri_hash non deve includere il prefisso sha384-.
sri_hash viene ignorato se url specifica un server di sviluppo.
mount_points
Il parametro mount_points determina in quale punto della UI di Looker verrà elencata e resa disponibile all'utente l'estensione e se l'estensione fornirà i propri dati. Le estensioni destinate a essere eseguite in un riquadro della dashboard richiedono la specifica di mount_points. Se mount_points non è specificato, l'estensione verrà elencata nella sezione Applicazioni del menu di Looker. Sono consentiti più mount_points.
| Parametro | Descrizione | Esempio |
|---|---|---|
dashboard_vis |
Se attivata, l'estensione verrà visualizzata nell'elenco di visualizzazioni di un'esplorazione, dove potrà essere selezionata e salvata come riquadro della dashboard. Quando viene eseguita la dashboard, viene eseguita la query associata al riquadro e i dati vengono resi disponibili all'estensione. Questo è simile al funzionamento delle visualizzazioni personalizzate. La differenza principale tra una visualizzazione personalizzata e un'estensione in esecuzione in un riquadro della dashboard con dashboard_vis abilitato è che l'estensione può effettuare chiamate all'API Looker.
|
dashboard_vis: yes |
dashboard_tile |
Se attivata, l'estensione verrà visualizzata nel riquadro Estensioni visualizzato quando un utente modifica un dashboard e seleziona l'opzione Estensioni dopo aver fatto clic sul pulsante Aggiungi. Questo tipo di estensione è responsabile del recupero dei propri dati. | dashboard_tile: yes |
standalone |
Specifica se l'estensione verrà elencata nella sezione Applicazioni del menu di Looker. Se il parametro mount_points non è specificato, standalone: yes è l'impostazione predefinita per l'estensione.
|
standalone: yes |
entitlements
Il parametro entitlements specifica le risorse a cui l'estensione può accedere. L'estensione non potrà accedere alle risorse a meno che non sia elencata in entitlements.
Un'applicazione di estensione deve specificare i diritti; l'applicazione non verrà eseguita senza.
Il parametro entitlements include i seguenti parametri secondari. Se un sottoparametro non è incluso, per impostazione predefinita l'estensione non può accedere a quel diritto.
| Parametro | Descrizione | Esempio |
|---|---|---|
local_storage |
Specifica se l'estensione è autorizzata ad accedere all'archivio locale. | local_storage: yes |
navigation |
Specifica se l'estensione può passare a un'altra pagina in Looker. | navigation: yes |
new_window |
Specifica se l'estensione può aprire una nuova finestra o scheda del browser. | new_window: yes |
new_window_external_urls |
Un elenco separato da virgole di URL o URL parziali per i quali un'estensione può aprire una nuova finestra. Questo diritto richiede il diritto new_window. Puoi includere caratteri jolly come * per sottodomini e percorsi.
|
new_window_external_urls: ["https://www.gmail.com"] |
use_form_submit |
Specifica se l'estensione è autorizzata a inviare moduli. I componenti di Looker che utilizzano moduli HTML richiedono use_form_submit: yes per funzionare correttamente.
|
use_form_submit: yes |
use_embeds |
Specifica se l'estensione è autorizzata a utilizzare l'SDK Embed di Looker. | use_embeds: yes |
use_downloads |
Aggiunta versione 21.6 Specifica se l'estensione è autorizzata a scaricare file. | use_downloads: yes |
use_iframes |
Aggiunto nella versione 21.6 Specifica se l'estensione è autorizzata a creare un iframe. | use_iframes: yes |
use_clipboard |
Aggiunto nella versione 21.8 Specifica se l'estensione è autorizzata a scrivere negli appunti di sistema. Per motivi di sicurezza, le estensioni non possono leggere dagli appunti di sistema. | use_clipboard: yes |
core_api_methods |
Un elenco separato da virgole dei metodi dell'API Looker utilizzati dall'estensione. | core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"] |
external_api_urls |
Un elenco separato da virgole di URL per le API esterne utilizzate dall'estensione. Come mostrato nell'esempio, puoi includere caratteri jolly come *. A partire da Looker 21.6, le estensioni che utilizzano direttamente le chiamate JavaScript fetch o XHR.open (anziché utilizzare le chiamate API extensionSDK.fetchProxy o extensionSDK.serverProxy) devono includere gli URL nell'elenco.
|
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"] |
oauth2_urls |
Un elenco separato da virgole di URL per l'autenticazione OAuth 2.0 e lo scambio di codici utilizzati dall'estensione. | oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"] |
global_user_attributes |
Un elenco separato da virgole di attributi utente a livello di sistema utilizzati dall'estensione. | global_user_attributes: ["company", "department"] |
scoped_user_attributes |
Un elenco separato da virgole di attributi utente specifici dell'estensione che l'estensione utilizza. | scoped_user_attributes: ["first_name", "last_name"] |
Esempio
Di seguito è riportato il parametro application del file manifest del progetto per l'esempio di estensione di 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"]
}
}
Per altri esempi, consulta il repository extension-examples di Looker.