framework de extensões do Looker

A estrutura de extensão do Looker é uma estrutura 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 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

Exemplos atuais de extensões do Looker disponíveis no Marketplace do Looker incluem o dicionário de dados do Looker e o diagrama 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 são mais demoradas e não tão 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 se concentrar em iniciar o desenvolvimento imediatamente. É possível acessar aplicativos e ferramentas personalizados criados com a estrutura de extensão no Looker, permitindo que ele processe os seguintes tipos de funções:

Recursos do framework de extensões

O framework de extensões 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 interação no ambiente do Looker.
  • Componentes do Looker, uma biblioteca de componentes de interface do React pré-criados que podem ser usados nas extensões.
  • O SDK de incorporação, uma biblioteca que pode ser usada para incorporar painéis, Looks e Explores na sua extensão. Confira o exemplo de código da extensão kitchen sink (em inglês). 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 ao incorporar análises detalhadas, Looks ou painéis em uma extensão.
  • O utilitário create-looker-extension, que cria uma extensão básica com todos os arquivos e dependências necessários, e que pode ser usado como ponto de partida para criar algo mais elaborado.
  • 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 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 de tela cheia, você pode impedir que um conjunto de usuários navegue para outras partes do Looker na sua extensão adicionando usuários a um grupo de usuários "Somente extensões". Você 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 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 a quem nunca deve acessar uma extensão.

  • A partir do Looker 24.0, as extensões podem ser desenvolvidas para serem executadas em um bloco nos painéis. As extensões que podem ser executadas como um bloco ou uma 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 LookML.

Requisitos do framework de extensões

Para desenvolver usando o framework de extensões do Looker:

  • Você vai precisar de permissões de desenvolvedor da LookML para sua instância.
  • O admin do Looker precisa ativar o recurso Extension Framework.
  • Recomendamos que você tenha familiaridade com JavaScript ou TypeScript.
  • Recomendamos o desenvolvimento em React, embora haja um SDK de extensão para JavaScript bruto.

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

  • Um projeto do LookML que atenda a estes requisitos:

  • 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 sua instância.

  • O arquivo de manifesto do projeto exige um parâmetro application. O parâmetro application dá um rótulo à extensão, informa ao Looker onde encontrar o JavaScript da extensão e fornece uma lista de direitos dela. 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.

Começar a desenvolver com o Looker Extension Framework

A maneira mais fácil de começar é gerar uma nova extensão inicial de um modelo e depois personalizar e adicionar funcionalidades a ela. 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 Criar uma extensão do Looker para instruções sobre como criar um projeto do Looker para sua extensão e gerar uma extensão inicial.

Para modelos mais personalizados ou avançados, navegue pelo 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 básica 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 exemplos de código na página de documentação Exemplos de código da estrutura de extensão do Looker.

  • Consulte o site Componentes da interface do Looker para usar nossa biblioteca de componentes no desenvolvimento rápido de UI e interfaces.

  • O modelo de extensão do Looker Kitchensink é uma extensão que oferece exemplos de uma grande variedade de 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 usar nosso gerador de extensões ou clonar um dos exemplos mais básicos para começar.

  • Também há exemplos de extensões que podem ser usadas como blocos de painel. A extensão de visualização de bloco mostra como criar uma visualização personalizada usando a estrutura de extensão. A extensão do SDK de bloco mostra os métodos de API disponíveis específicos para extensões de bloco.