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