applicazione

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 url o un parametro file, 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.