A framework de extensões do Looker é uma framework de desenvolvimento que reduz significativamente o esforço e a complexidade da criação de apps e ferramentas de dados JavaScript personalizadas, como:
- Aplicações de plataforma internas para a sua empresa
- Plataformas externas para os seus clientes, como portais de clientes para aplicações de estatísticas incorporadas criadas com dados no Looker
- Ferramentas internas segmentadas
- Aplicações para incorporação em aplicações externas
Os exemplos atuais de extensões do Looker disponíveis no Looker Marketplace incluem o dicionário de dados do Looker e o diagrama LookML.
Por que motivo deve usar a estrutura de extensões?
Algumas partes da criação de aplicações Web são fáceis e divertidas, enquanto outras são obviamente mais demoradas e não exatamente divertidas. A estrutura de extensões ajuda a simplificar muitas destas tarefas menos divertidas.
A estrutura de extensões cuida de alguns dos aspetos mais tediosos da criação de uma aplicação Web para que possa começar o desenvolvimento imediatamente. As aplicações e as ferramentas personalizadas criadas com o framework de extensão podem ser acedidas a partir do Looker, o que permite ao Looker processar os seguintes tipos de funções, como:
- Autenticação: permite-lhe usar as opções de autenticação existentes do Looker para iniciar sessão (como início de sessão com palavra-passe, LDAP, SAML e OpenID Connect).
- Controlo de acesso e gestão de autorizações.
- Acesso à API: permite tirar partido de outros recursos comuns para programadores, como pontos finais de API de terceiros, no Looker.
Funcionalidades do framework de extensões
O framework de extensão do Looker inclui as seguintes funcionalidades:
- O SDK Looker Extension, que fornece funções para o acesso à API pública do Looker e para a interação no ambiente do Looker.
- Componentes do Looker, uma biblioteca de componentes da IU do React pré-criados que pode usar nas suas extensões.
- O SDK incorporado, uma biblioteca que pode usar para incorporar painéis de controlo, Looks e Explores na sua extensão. Consulte a extensão de exemplo para ver código de exemplo. Também pode usar o SDK de incorporação para incorporar a sua extensão em aplicações de terceiros. Os cookies têm de estar ativados no navegador quando incorpora explorações, Looks ou painéis de controlo numa extensão.
- O
create-looker-extension
utilitário, que cria uma extensão básica que inclui todos os ficheiros e dependências de extensão necessários e que pode usar como ponto de partida para criar mais extensões. - O nosso repositório Looker extension framework examples, que inclui modelos e extensões de exemplo para ajudar a começar rapidamente.
- A capacidade de aceder a pontos finais de APIs de terceiros e adicionar dados de terceiros à sua extensão.
A capacidade de criar extensões de ecrã inteiro no Looker. As extensões de ecrã inteiro podem ser usadas para aplicações de plataformas internas ou externas.
Numa extensão de ecrã inteiro, pode impedir que um conjunto de utilizadores navegue para outras partes do Looker a partir da sua extensão adicionando utilizadores a um grupo de utilizadores apenas de extensões. Também pode 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 a sua extensão, para que os utilizadores tenham de introduzir uma chave para executar a extensão. Isto é útil se quiser cobrar pela sua extensão, mas deve usar as autorizações padrão do Looker para restringir o acesso àqueles que nunca devem poder aceder a uma extensão.
A partir do Looker 24.0, as extensões podem ser desenvolvidas para serem executadas num mosaico nos painéis de controlo. As extensões que suportam a execução como um mosaico ou uma visualização podem ser adicionadas enquanto o painel de controlo está no modo de edição ou guardadas num painel de controlo como uma visualização a partir de uma exploração. As extensões também podem ser configuradas como mosaicos em painéis de controlo do LookML.
Requisitos da framework de extensões
Para desenvolver com o framework de extensão do Looker:
- Precisa de autorizações de programador do LookML para a sua instância.
- O administrador do Looker tem de ativar a funcionalidade Estrutura de extensões.
- Recomendamos que tenha conhecimentos de JavaScript ou TypeScript.
- Recomendamos o desenvolvimento em React, embora exista um SDK de extensão para JavaScript não processado.
Para serem executadas no Looker, todas as extensões, independentemente da respetiva função, têm de incluir os seguintes elementos no Looker:
Um projeto do LookML que cumpra estes requisitos:
- Inclui um ficheiro do modelo
- Inclui um ficheiro de manifesto do projeto
- Está associado a um repositório Git
O ficheiro de modelo do LookML precisa de um parâmetro
connection
que aponte para uma ligação à base de dados válida na sua instância.O ficheiro de manifesto do projeto requer um parâmetro
application
. O parâmetroapplication
atribui uma etiqueta à extensão, indica ao Looker onde encontrar o JavaScript da extensão e fornece uma lista de direitos para a extensão. As autorizações definem os recursos do Looker aos quais a extensão pode aceder. A extensão não vai poder aceder a um recurso do Looker, a menos que esse recurso esteja listado nas concessões.Segue-se um exemplo de um ficheiro 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 ver 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 forma 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 ponto de partida. Isto garante que toda a configuração e embalagem estão corretas, o que pode ser difícil de fazer manualmente. Consulte a página de documentação Criar uma extensão do Looker para ver instruções sobre como criar um novo projeto do Looker para a sua extensão e gerar uma extensão inicial.
Para modelos mais personalizados ou avançados, pode procurar no repositório de exemplos do framework de extensões do Looker. Qualquer extensão nesse repositório pode ser clonada e reutilizada como ponto de partida para o seu projeto.
Depois de criar uma extensão simples e verificar que tudo está a funcionar, pode começar a adicionar funcionalidades e personalizações adicionais:
Pode ver uma lista de exemplos de utilização comuns com código de exemplo na página de documentação Exemplos de código da framework de extensões do Looker.
Consulte o site Componentes da IU do Looker para usar a nossa biblioteca de componentes para um desenvolvimento rápido da IU e do esquema.
O modelo Kitchensink da extensão do Looker é uma extensão que oferece exemplos de uma grande variedade de funcionalidades de extensão. Pode usar este 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 use o nosso gerador de extensões ou clone um dos exemplos mais simples para começar.
Também estão disponíveis exemplos de extensões que podem ser usadas como mosaicos do painel de controlo. A extensão de visualização de mosaicos mostra como criar uma visualização personalizada através da estrutura de extensão. A extensão do SDK de mosaicos mostra os métodos da API disponíveis específicos das extensões de mosaicos.