O framework de extensão do Looker é um framework de desenvolvimento que reduz significativamente o esforço e a complexidade da criação de ferramentas e aplicativos de dados JavaScript personalizados, como:
- Aplicativos de plataforma interna para sua empresa
- Plataformas externas para seus clientes, como portais de clientes para aplicativos de análise incorporada 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 Marketplace do Looker incluem o dicionário de dados e o diagrama 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 são exatamente divertidas. O framework de extensão ajuda você a simplificar muitas dessas tarefas não tão divertidas.
O framework de extensão cuida de alguns dos aspectos mais tediosos da criação de um aplicativo da Web para que você possa começar o desenvolvimento imediatamente. Aplicativos e ferramentas personalizados criados com o framework de extensão podem ser acessados de dentro do Looker, permitindo que ele lide com os seguintes tipos de funções, como:
- Autenticação: permite usar as opções de autenticação atuais do Looker para login, como login com senha, LDAP, SAML e OpenID Connect.
- Controle de acesso e gerenciamento de permissões.
- Acesso à API: permite aproveitar outros recursos comuns de 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 de extensão do Looker, que fornece funções para acesso à API pública do Looker e para interagir com o ambiente do Looker.
- Componentes do Looker, uma biblioteca de componentes pré-criados de interface do React que você pode usar nas extensões.
- O SDK de incorporação, uma biblioteca que pode ser usada para incorporar painéis, Looks e Análises na sua extensão. Consulte a extensão da pia da cozinha para ver um código de exemplo. Você também pode usar o SDK de incorporação para incorporar sua extensão em aplicativos de terceiros. Os cookies precisam estar ativados no navegador quando você estiver incorporando Análises, Looks 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 para se desenvolver. - Nosso repositório de exemplos de framework de extensão do Looker (em inglês), que inclui modelos e extensões de amostra para ajudar você a começar rapidamente.
- A capacidade de acessar endpoints de API de terceiros e adicionar dados de terceiros à extensão.
A capacidade de criar extensões em tela cheia no Looker. As extensões em tela cheia podem ser usadas para aplicativos de plataforma internos ou externos.
Em uma extensão em tela cheia, você pode impedir que um conjunto de usuários navegue para outras partes do Looker adicionando usuários a um grupo de usuários somente para extensões. Também é possível remover a barra de navegação do Looker substituindo
/extensions
por/spartan
no URL da extensão.A capacidade de configurar uma chave de acesso para sua extensão para que os usuários precisem inserir uma chave para executá-la. Isso é útil se você quiser cobrar pela extensão, mas use as permissões padrão do Looker para restringir o acesso de pessoas que nunca poderão acessar uma extensão.
A partir do Looker 24.0, as extensões podem ser desenvolvidas para execução em um bloco de painéis. Extensões que podem ser executadas como um bloco ou visualização podem ser adicionadas enquanto o dashboard está no modo de edição ou salvas em um dashboard como uma visualização de uma Análise. As extensões também podem ser configuradas como blocos nos painéis do LookML.
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.
- O administrador do Looker precisa ativar o recurso Extension Framework.
- 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 execução no Looker, cada extensão, independentemente da função, precisa incluir os seguintes elementos no Looker:
Um projeto do LookML que:
- Inclui um arquivo de modelo
- Inclui um arquivo de manifesto do projeto
- Está conectado a um repositório Git
O arquivo 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 exige um parâmetro
application
. O parâmetroapplication
atribui um rótulo à extensão, informa ao Looker onde encontrar o JavaScript da extensão e fornece uma lista de direitos da 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.Confira a seguir um exemplo de arquivo de manifesto do projeto com um parâmetro
application
:project_name: "super_duper_extension" application: super_duper_extension { label: "Super Duper Extension" url: "http://localhost:8080/dist/bundle.js" mount_points: { standalone: no } 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
.
Introdução ao desenvolvimento com o framework de extensão do Looker
A maneira mais fácil de começar é gerar uma nova extensão inicial usando um modelo e, em seguida, personalizar e adicionar funcionalidades a ela. Isso garante que toda a configuração e empacotamento estejam corretos, o que pode ser difícil de fazer manualmente. Consulte a página de documentação Como criar 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 modelos mais personalizados ou avançados, acesse o repositório de exemplos do Looker Extension Framework. Qualquer extensão nesse repositório pode ser clonada e reutilizada como ponto de partida para seu projeto.
Depois de criar uma extensão simples e verificar se tudo está funcionando, você pode começar a adicionar mais funcionalidades e personalizações:
Confira uma lista de casos de uso comuns com exemplo de código na página de documentação de exemplos de código do framework de extensão do Looker.
Consulte o site Looker UI Components para usar nossa biblioteca de componentes para desenvolvimento rápido de interface e layout.
O Modelo de extensão do Looker Extension Kitchensink (em inglês) oferece exemplos de várias funcionalidades. Você pode usar esse modelo como uma enciclopédia ou um guia de referência, mas não como ponto de partida ou modelo real. Recomendamos que você use nosso gerador de extensões ou clone um dos exemplos mais simples para começar.
Também há exemplos de extensões que podem ser usadas como blocos do painel. A extensão de visualização de blocos mostra como criar uma visualização personalizada usando o framework de extensão. A extensão do SDK de blocos mostra os métodos de API disponíveis específicos para extensões de blocos.