framework de extensões do Looker

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 plataformas internas 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 direcionadas
  • 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 do LookML.

Por que usar a estrutura de extensão?

Algumas partes da criação de aplicativos da Web são fáceis e divertidas, enquanto outras obviamente consomem mais tempo e não são exatamente divertidas. A estrutura 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 se concentrar no início do desenvolvimento imediatamente. Aplicativos e ferramentas personalizados criados com o framework de extensão podem ser acessados no Looker, permitindo que o Looker lide com os seguintes tipos de funções, como:

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 interação no ambiente do Looker.
  • Componentes do Looker, uma biblioteca de componentes de IU pré-criados do React para você usar nas extensões.
  • O SDK incorporado, uma biblioteca que pode ser usada para incorporar painéis, Looks e Explores à sua extensão. Consulte a extensão da pia de cozinha para conferir um exemplo de código. Também é possível usar o SDK de incorporação para incorporar sua extensão em aplicativos de terceiros. Os cookies precisam estar ativados no navegador quando você incorpora Análises, Looks ou dashboards a uma extensão.
  • O utilitário create-looker-extension (link em inglês), 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 de 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 API de terceiros e adicionar dados de terceiros à sua extensão.
  • A capacidade de criar extensões de tela cheia no Looker. As 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 conjunto de usuários navegue para outras partes do Looker pela sua extensão adicionando usuários a um grupo de usuários "Somente extensões". Também é possível remover a barra de navegação do Looker substituindo /extensions por /spartan no URL da extensão.

  • Capacidade de configurar uma chave de acesso para sua extensão de modo que os usuários precisem inserir uma chave para executá-la. Isso é útil se você quer cobrar pela extensão, mas precisa usar as permissões padrão do Looker para restringir o acesso a quem não poderia acessá-la.

  • A partir do Looker 24.0, as extensões podem ser desenvolvidas para execução em um bloco nos painéis. As extensões que podem ser executadas como um bloco ou visualização podem ser adicionadas enquanto o painel está no modo de edição ou salvas em um painel como uma visualização de uma Análise. As extensões também podem ser configuradas como blocos nos painéis do LookerML.

Requisitos do framework da extensão

Para desenvolver usando o framework de extensão do Looker:

  • Você precisará das permissões de desenvolvedor do LookML na sua instância.
  • Seu administrador do Looker precisa ativar o recurso Extension Framework.
  • Recomendamos que você conheça o JavaScript ou o TypeScript.
  • Recomendamos o desenvolvimento no React, embora exista um SDK de extensão para JavaScript bruto.

Para serem executadas no Looker, todas as extensões, independentemente da função, precisam incluir os seguintes elementos no Looker:

  • Um projeto do LookML que:

  • O arquivo do 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âmetro application atribui um rótulo à extensão, informa ao Looker onde encontrar o JavaScript da extensão 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 de 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.

Começar a desenvolver 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 depois 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 conferir 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, procure o repositório de exemplos de framework de extensão do Looker (link em inglês). Qualquer extensão desse repositório pode ser clonada e reaproveitada como ponto de partida para seu projeto.

Depois de criar uma extensão simples e verificar que tudo está funcionando, você pode começar a adicionar outras funcionalidades e personalizações:

  • Confira uma lista de casos de uso comuns com exemplo de código na página de documentação Exemplos de código do framework de extensão do Looker.

  • Consulte o site Componentes da IU do Looker se quiser usar nossa biblioteca de componentes para um desenvolvimento rápido UI e layout.

  • O modelo do Looker Extension Kitchensink é uma extensão que oferece exemplos de uma grande variedade de funcionalidades de extensões. Você pode usar este 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 estão disponíveis exemplos de extensões que podem ser usadas como blocos do painel de controle. A extensão de visualização de blocos mostra como criar uma visualização personalizada usando o framework de extensão. A extensão SDK de bloco mostra os métodos de API disponíveis específicos para as extensões de bloco.