Introdução ao framework de extensões do Looker

Em breve, o framework de extensão do Looker usará um novo mecanismo de carregamento. O novo carregador pode causar erros quando as extensões existentes forem carregadas. Para ver instruções sobre como testar suas extensões com o novo carregador antes da ativação oficial em ambientes do Looker, consulte o artigo Como testar o novo carregador de framework de extensão na Central de Ajuda do Looker.

O framework de extensões do Looker é um framework de desenvolvimento que reduz significativamente o esforço e a complexidade de criar aplicativos e ferramentas de dados JavaScript personalizados, como:

  • Aplicativos internos da plataforma da 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 do Looker 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 são exatamente divertidas. O framework de extensões ajuda a simplificar muitas dessas tarefas menos divertidas.

A estrutura de extensão cuida de alguns dos aspectos mais tediosos de criação de um aplicativo da web para que você possa se concentrar imediatamente no início do desenvolvimento. Os aplicativos e ferramentas personalizados criados com o framework de extensões podem ser acessados a partir do Looker, permitindo que ele gerencie os seguintes tipos de funções, como:

Recursos de framework de extensão

O framework de extensão do Looker inclui os seguintes recursos:

  • O SDK da extensão Looker, que oferece funções para acesso à API Looker Looker e para interação no ambiente do Looker.
  • Looker Components: uma biblioteca de componentes pré-criados da IU do React que você pode usar em suas extensões.
  • O SDK incorporado, uma biblioteca que você pode usar para incorporar painéis, aparências e explorações à extensão. Veja o exemplo de extensão de coletor de cozinha. Também é possível usar o SDK incorporado para incorporar sua extensão a aplicativos de terceiros. Os cookies precisam estar ativados no navegador quando você estiver incorporando explorações, aparências ou painéis a 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 API de terceiros e adicionar dados de terceiros à sua extensão.
  • A capacidade de criar extensões em 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 a partir da sua extensão adicionando usuários a um grupo de usuários "Apenas 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 de modo que os usuários precisem inserir uma chave para executá-la. Isso é útil quando você quer cobrar pela extensão, mas deve usar as permissões padrão do Looker para limitar o acesso às pessoas que nunca teriam acesso a uma extensão.

Requisitos do framework de extensões

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

- Você precisará de permissões de desenvolvedor do LookML para sua instância.

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

  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 detalhes, consulte a página de documentação do parâmetro application.

Primeiros passos de desenvolvimento com o framework de extensões do Looker

A maneira mais fácil de começar é gerar primeiro uma nova extensão inicial com base em um modelo e depois personalizar e adicionar funcionalidades a esse inicializador. Isso garante que toda a configuração e empacotamento está correta, o que pode ser difícil fazer manualmente. Consulte a página de documentação Introdução à criação de uma extensão do Looker se precisar de 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 (link em inglês). 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, comece a adicionar outras funcionalidades e personalizações:

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

  • Consulte o site Componentes da IU do Looker (link em inglês) para usar nossa biblioteca de componentes para desenvolvimento rápido da IU e do layout.

  • O Looker Extension Kitchensink Template é uma extensão que fornece exemplos de uma grande variedade de funcionalidades de extensões. Use 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.