application

Uso

Importante:
Hierarquia
application
Valor padrão
Nenhuma

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ão do Looker. Depois que uma extensão é adicionada a um projeto, os usuários do Looker com permissões apropriadas podem ver a extensão listada no menu Procurar do Looker. Quando um usuário seleciona a extensão no menu Procurar, o aplicativo é aberto dentro do Looker.

Se o administrador tiver ativado o recurso Relatórios de navegação aprimorado, as extensões serão listadas na seção Aplicativos do novo painel de navegação avançado à esquerda.

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

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

label

Especifica o nome do aplicativo exibido ao usuário no menu Procurar. O label poderá ser localizado se você estiver localizando seu modelo do LookML.

url

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

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

Após o desenvolvimento, é possível arrastar o arquivo para o ambiente de desenvolvimento integrado do Looker e usar o parâmetro file para apontar para o arquivo.

file

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

file: "apps/bundle.js"

sri_hash

Especifica um hash de integridade de recursos secundários (SRI, na sigla em inglês) para verificação do JavaScript. Ele pode ser usado com o parâmetro file ou url. O valor sri_hash não pode incluir o prefixo sha384-.

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

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. O aplicativo não funciona sem eles.

O parâmetro entitlements inclui os subparâmetros a seguir. 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 tem permissão para acessar o armazenamento local. local_storage: yes
navigation Especifica se a extensão pode navegar para uma página diferente no Looker. navigation: yes
new_window Especifica se a extensão tem permissão para 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 onde uma extensão pode abrir uma nova janela. Este 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 pode enviar formulários. Os componentes do Looker que usam formulários HTML exigirão que use_form_submit: yes funcione corretamente. use_form_submit: yes
use_embeds Especifica se a extensão pode usar o SDK do Looker Embed. use_embeds: yes
use_downloads ADDED 21.6 Especifica se a extensão tem permissão para fazer o download de arquivos. use_downloads: yes
use_iframes ADDED 21.6 Especifica se a extensão tem permissão para criar um iframe. use_iframes: yes
use_clipboard ADDED 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 a área de transferência do sistema. use_clipboard: yes
core_api_methods Uma lista separada por vírgulas dos métodos da API Looker usados pela extensão. core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"]
external_api_urls Uma lista separada por vírgulas de URLs das 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 fazem uso direto de 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 usada pela extensão. oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"]
global_user_attributes Uma lista separada por vírgulas de atributos do usuário do sistema que a extensão usa. global_user_attributes: ["company", "department"]
scoped_user_attributes Uma lista separada por vírgulas de atributos do usuário específicos das extensões que a extensão usa. scoped_user_attributes: ["first_name", "last_name"]

Exemplo

Veja a seguir o parâmetro application do arquivo de manifesto do projeto para o exemplo de extensão de coletor de cozinha 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 ver mais exemplos, consulte o repositório de exemplos de extensão do Looker.