O framework de extensão do Looker é um framework de desenvolvimento que reduz significativamente o esforço e a complexidade da criação de aplicativos e ferramentas de dados JavaScript personalizados, como:
- Aplicativos de plataforma internos para sua empresa
- Plataformas externas para os clientes, como portais de clientes para aplicativos de análise incorporados criados com dados no Looker
- Ferramentas internas segmentadas
- Aplicativos para incorporação em aplicativos externos
Os exemplos atuais de extensões do Looker disponíveis no Looker Marketplace incluem o Dicionário de dados e o Diagrama do LookML.
Por que usar o framework de extensões?
Algumas partes da criação de aplicativos da Web são fáceis e divertidas, enquanto outras obviamente são mais demoradas e não exatamente divertidas. O framework de extensões ajuda a simplificar muitas tarefas não tão divertidas.
A estrutura da extensão cuida de alguns dos aspectos mais tediosos da criação de aplicativos da Web para que você possa se concentrar em iniciar o desenvolvimento imediatamente. Aplicativos e ferramentas personalizados criados com o framework de extensão podem ser acessados de dentro do Looker, permitindo que ele execute os seguintes tipos de funções, como:
- Authentication: permite usar as opções de autenticação atuais do Looker para fazer login (como login de senha, LDAP, SAML e OpenID Connect).
- Controle de acesso e gerenciamento de permissões.
- Acesso à API: permite que você aproveite outros recursos comuns para desenvolvedores, como endpoints de API de terceiros, no Looker.
Recursos do framework de extensão
O framework de extensão do Looker inclui os seguintes recursos:
- O SDK da extensão Looker, que fornece funções para acesso à API pública do Looker e para interação no ambiente do Looker.
- O Looker, uma biblioteca de componentes pré-criados da IU do React que você pode usar nas suas extensões.
- O SDK incorporado, uma biblioteca que você pode usar para incorporar painéis, visuais e explorações à sua extensão. Consulte a extensão de coletor da cozinha para ver um exemplo de código. Também é possível usar o SDK incorporado para incorporar sua extensão em aplicativos de terceiros. Os cookies precisam estar ativados no navegador quando você estiver incorporando "Explorar", "Aparência" ou "Painéis" em uma extensão.
- O utilitário
create-looker-extension
, que cria uma extensão básica que inclui todos os arquivos e dependências de extensão necessários e pode ser usado como ponto de partida. - Nosso repositório de exemplos de framework da extensão do Looker, que inclui modelos e extensões de amostra para ajudar você a começar rapidamente.
- A capacidade de acessar endpoints de APIs de terceiros e adicionar dados de terceiros à sua extensão.
A capacidade de criar extensões de tela cheia no Looker. Extensões de tela cheia podem ser usadas para aplicativos de plataforma internos ou externos.
Em uma extensão de tela cheia, é possível impedir que um grupo de usuários navegue para outras partes do Looker a partir da sua extensão adicionando usuários a um grupo somente de extensões. Também é possível remover a barra de navegação do Looker substituindo
/extensions
por/spartan
no URL da extensão.Configure uma chave de acesso para que a extensão gere uma chave que possa ser executada pelo usuário. Isso é útil se você quer cobrar pela sua extensão, mas deve usar permissões padrão do Looker para bloquear o acesso às pessoas que nunca devem ter acesso a uma extensão.
Requisitos do framework de extensão
Para desenvolver usando o framework de extensão do Looker:
- Você precisará de permissões de desenvolvedor do LookML para sua instância.
- Seu administrador do Looker precisa ativar o recurso Framework da extensão.
- Recomendamos que você tenha familiaridade com JavaScript ou TypeScript.
- Recomendamos o desenvolvimento no React, embora exista um SDK de extensão para JavaScript bruto.
Para ser executada no Looker, cada extensão, independentemente da função, precisa incluir os seguintes elementos no Looker:
Um projeto LookML que:
- Inclui um arquivo de modelo
- Inclui um arquivo de manifesto do projeto.
- está conectado a um repositório Git;
O arquivo de modelo do LookML precisa de um parâmetro
connection
que aponte para uma conexão de banco de dados válida na instância.O arquivo de manifesto do projeto requer um parâmetro
application
. O parâmetroapplication
fornece um rótulo à extensão, informa ao Looker onde encontrar a extensão JavaScript e fornece uma lista de direitos para a extensão. Os direitos definem os recursos do Looker que a extensão pode acessar. A extensão não poderá acessar um recurso do Looker, a menos que ele esteja listado nos direitos. Veja a seguir um exemplo de arquivo de manifesto do projeto com um parâmetroapplication
:
project_name: "super_duper_extension"
application: super_duper_extension {
label: "Super Duper Extension"
url: "http://localhost:8080/dist/bundle.js"
entitlements: {
local_storage: no
navigation: no
new_window: no
new_window_external_urls: []
use_form_submit: yes
use_embeds: no
use_downloads: no
core_api_methods: []
external_api_urls: []
oauth2_urls: []
scoped_user_attributes: []
global_user_attributes: []
}
}
Para mais detalhes, consulte a página de documentação do parâmetro application
.
Como começar a desenvolver com o framework de extensões do Looker
A maneira mais fácil de começar é gerar primeiro uma nova extensão inicial a partir de um modelo e, em seguida, personalizar e adicionar funcionalidades a esse inicializador. Isso garante que toda a configuração e o empacotamento estejam corretos, o que pode ser difícil de fazer manualmente. Consulte a página de documentação Introdução à criação de uma extensão do Looker para ver instruções sobre como criar um novo projeto do Looker para sua extensão e gerar uma extensão inicial.
Para ver modelos mais personalizados ou avançados, consulte o repositório de exemplos de framework da extensão do Looker. Qualquer extensão nesse repositório pode ser clonada e reaproveitada como um ponto de partida para seu projeto.
Depois de criar uma extensão simples e verificar se tudo está funcionando, você poderá adicionar outras funcionalidades e personalizações:
Veja uma lista de casos de uso comuns com códigos de exemplo na página Exemplos de código do framework de extensão do Looker.
Consulte o site Componentes de IU do Looker para usar nossa biblioteca de componentes e desenvolver rapidamente a IU e o layout.
O Looker Extension Kitchensink Template é uma extensão que fornece exemplos de várias funcionalidades. Você pode usar esse modelo como uma enciclopédia ou um guia de referência, mas não como um ponto de partida ou um modelo real. Recomendamos que você use nosso gerador de extensões ou clone um dos exemplos mais simples para começar.