aplicativo

Uso

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", ...]
  }
}
Hierarquia
application
Valor padrão
Nenhum

Aceita
Um nome para o aplicativo e subparâmetros para defini-lo

Regras especiais
O application precisa ter um parâmetro url ou file, mas não ambos.

Definição

O parâmetro application define um aplicativo para o framework de extensões do Looker. Depois que uma extensão é adicionada a um projeto, os usuários do Looker com permissões adequadas podem ver a extensão no local definido pelo parâmetro mount_points. Se o parâmetro mount_points não for especificado, a extensão vai aparecer na seção Aplicativos do menu do Looker.

O parâmetro application tem os seguintes subparâmetros:

O aplicativo precisa ter um parâmetro url ou file, mas não os dois.

label

Especifica o nome do aplicativo que é mostrado ao usuário na seção Aplicativos do menu principal. O label pode ser localizado se você estiver localizando seu modelo da LookML.

url

O parâmetro url é usado apenas para fins de desenvolvimento e deve apontar para um servidor de desenvolvimento em execução na máquina do desenvolvedor. Exemplo:

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

Depois do desenvolvimento, arraste o arquivo para o IDE do Looker e use o parâmetro file para apontar para ele.

file

Especifica o caminho para um arquivo JavaScript (com extensão .js) que define o aplicativo. O caminho é relativo à raiz do projeto. Por exemplo, este parâmetro file aponta para o arquivo bundle.js no diretório apps do projeto do LookML:

file: "apps/bundle.js"

sri_hash

Especifica um hash de integridade de subrecursos (SRI) para fins de verificação de JavaScript. Ele pode ser usado com o parâmetro file ou url. O valor sri_hash não deve incluir o prefixo sha384-.

O sri_hash é ignorado se o url especificar um servidor de desenvolvimento.

mount_points

O parâmetro mount_points determina onde na interface do Looker a extensão será listada e disponibilizada ao usuário, além de definir se ela vai fornecer os próprios dados. Extensões destinadas a serem executadas em um bloco do painel exigem que mount_points seja especificado. Se mount_points não for especificado, a extensão será listada na seção Aplicativos do menu do Looker. É possível usar vários mount_points.

Parâmetro Descrição Exemplo
dashboard_vis Quando ativada, a extensão aparece na lista de visualizações de uma análise detalhada, onde pode ser selecionada e salva como um bloco do painel. Quando o painel é executado, ele executa a consulta associada ao bloco e disponibiliza os dados para a extensão. Isso é semelhante ao funcionamento das visualizações personalizadas. A principal diferença entre uma visualização personalizada e uma extensão executada em um bloco do painel com dashboard_vis ativado é que a extensão pode fazer chamadas da API Looker. dashboard_vis: yes
dashboard_tile Quando ativada, a extensão aparece no painel Extensões, que é exibido quando um usuário edita um painel e seleciona a opção Extensões depois de clicar no botão Adicionar. Esse tipo de extensão é responsável por recuperar os próprios dados. dashboard_tile: yes
standalone Especifica se a extensão será listada na seção Aplicativos do menu do Looker. Se o parâmetro mount_points não for especificado, standalone: yes será a configuração padrão da extensão. standalone: yes

entitlements

O parâmetro entitlements especifica os recursos que a extensão pode acessar. A extensão não poderá acessar os recursos, a menos que esteja listada em entitlements.

Um aplicativo de extensão precisa especificar direitos. Caso contrário, ele não será executado.

O parâmetro entitlements inclui os seguintes subparâmetros. Se um subparâmetro não for incluído, por padrão, a extensão não terá acesso a esse direito.

Parâmetro Descrição Exemplo
local_storage Especifica se a extensão pode acessar o armazenamento local. local_storage: yes
navigation Especifica se a extensão pode navegar para outra página no Looker. navigation: yes
new_window Especifica se a extensão pode abrir uma nova janela ou guia do navegador. new_window: yes
new_window_external_urls Uma lista separada por vírgulas de URLs ou URLs parciais em que uma extensão pode abrir uma nova janela. Esse direito exige o direito new_window. É possível incluir caracteres curinga, como *, para subdomínios e caminhos. new_window_external_urls: ["https://www.gmail.com"]
use_form_submit Especifica se a extensão tem permissão para enviar formulários. Os componentes do Looker que usam formulários HTML exigem use_form_submit: yes para funcionar corretamente. use_form_submit: yes
use_embeds Especifica se a extensão pode usar o SDK de incorporação do Looker. use_embeds: yes
use_downloads Adicionado em 21.6 Especifica se a extensão pode baixar arquivos. use_downloads: yes
use_iframes Adicionado na versão 21.6 Especifica se a extensão pode criar um iframe. use_iframes: yes
use_clipboard Adicionado na versão 21.8 Especifica se a extensão pode gravar na área de transferência do sistema. Por motivos de segurança, as extensões não podem ler da área de transferência do sistema. use_clipboard: yes
core_api_methods Uma lista separada por vírgulas dos métodos da API Looker que a extensão usa. core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"]
external_api_urls Uma lista separada por vírgulas de URLs de APIs externas usadas pela extensão. Como mostrado no exemplo, é possível incluir caracteres curinga, como *.

A partir do Looker 21.6, as extensões que usam diretamente chamadas JavaScript fetch ou XHR.open (em vez de usar as chamadas de API extensionSDK.fetchProxy ou extensionSDK.serverProxy) precisam incluir os URLs na lista.
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"]
oauth2_urls Uma lista separada por vírgulas de URLs para autenticação e troca de código do OAuth 2.0 que a extensão usa. oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"]
global_user_attributes Uma lista separada por vírgulas de atributos de usuário em todo o sistema que a extensão usa. global_user_attributes: ["company", "department"]
scoped_user_attributes Uma lista separada por vírgulas de atributos de usuário específicos da extensão que ela usa. scoped_user_attributes: ["first_name", "last_name"]

Exemplo

Confira a seguir o parâmetro application do arquivo de manifesto do projeto para o exemplo de extensão de utilidades do 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"]
  }
}

Para mais exemplos, consulte o repositório extension-examples do Looker.