framework d'extension Looker

Le framework d'extension Looker est un framework de développement qui réduit de manière significative les efforts et la complexité liés à la création d'applications et d'outils de données JavaScript personnalisés, tels que :

Les exemples actuels d'extensions Looker disponibles sur le Marketplace Looker incluent le Dictionnaire de données Looker et le Schéma LookML.

Pourquoi utiliser le framework d'extension ?

Certaines parties de la création d'applications Web sont faciles et amusantes, tandis que d'autres sont évidemment plus longues et moins amusantes. Le framework d'extension vous aide à simplifier de nombreuses tâches moins amusantes.

Le framework d'extension gère certains des aspects les plus fastidieux de la création d'une application Web afin que vous puissiez commencer le développement immédiatement. Les applications et outils personnalisés créés avec le framework d'extension sont accessibles depuis Looker, ce qui permet à Looker de gérer les types de fonctions suivants, par exemple :

Fonctionnalités du framework d'extension

Le framework d'extension Looker inclut les fonctionnalités suivantes :

  • Le SDK d'extension Looker, qui fournit des fonctions pour l'accès à l'API publique Looker et pour l'interaction dans l'environnement Looker.
  • Les composants Looker, une bibliothèque de composants d'interface utilisateur React prédéfinis que vous pouvez utiliser dans vos extensions.
  • Le SDK d'intégration, une bibliothèque que vous pouvez utiliser pour intégrer des tableaux de bord, des présentations et des explorations dans votre extension. Consultez l'extension « kitchen sink » pour obtenir un exemple de code. Vous pouvez également utiliser le SDK d'intégration pour intégrer votre extension dans des applications tierces. Les cookies doivent être activés dans le navigateur lorsque vous intégrez des explorations, des présentations ou des tableaux de bord dans une extension.
  • L'create-looker-extension utilitaire, qui crée une extension de base incluant tous les fichiers et dépendances d'extension nécessaires, et que vous pouvez utiliser comme point de départ pour développer votre extension.
  • Notre dépôt d'exemples de framework d'extension Looker, qui inclut des modèles et des exemples d'extensions pour vous aider à vous lancer rapidement.
  • La possibilité d'accéder à des points de terminaison d'API tiers et d'ajouter des données tierces à votre extension.
  • La possibilité de créer des extensions en plein écran dans Looker. Les extensions en plein écran peuvent être utilisées pour des applications de plate-forme internes ou externes.

    Dans une extension en plein écran, vous pouvez empêcher un ensemble d'utilisateurs d'accéder à d'autres parties de Looker à partir de votre extension en les ajoutant à un groupe d'utilisateurs "Extensions uniquement". Vous pouvez également supprimer la barre de navigation Looker en remplaçant /extensions par /spartan dans l'URL de l'extension.

  • La possibilité de configurer une clé d'accès pour votre extension afin que les utilisateurs doivent saisir une clé pour l'exécuter. Cela est utile si vous souhaitez facturer votre extension, mais vous devez utiliser les autorisations Looker standards pour limiter l'accès aux personnes qui ne devraient jamais pouvoir accéder à une extension.

  • À partir de Looker 24.0, les extensions peuvent être développées pour s'exécuter dans une tuile des tableaux de bord. Les extensions qui peuvent être exécutées en tant que tuile ou visualisation peuvent être ajoutées lorsque le tableau de bord est en mode édition ou enregistrées dans un tableau de bord en tant que visualisation à partir d'une exploration. Les extensions peuvent également être configurées en tant que tuiles dans les tableaux de bord LookML.

Exigences relatives au framework d'extension

Pour développer à l'aide du framework d'extension Looker :

  • Vous devez disposer des autorisations de développeur LookML pour votre instance.
  • Votre administrateur Looker doit activer la fonctionnalité Framework d'extension.
  • Nous vous recommandons de connaître JavaScript ou TypeScript.
  • Nous vous recommandons de développer dans React, bien qu'il existe un SDK d'extension pour JavaScript brut.

Pour s'exécuter dans Looker, chaque extension, quelle que soit sa fonction, doit inclure les éléments suivants dans Looker :

  • Un projet LookML qui répond aux exigences suivantes :

  • Le fichier de modèle LookML a besoin d'un connection paramètre qui pointe vers une connexion de base de données valide sur votre instance.

  • Le fichier manifeste du projet nécessite un application paramètre. Le paramètre application attribue un libellé à l'extension, indique à Looker où trouver le JavaScript de l'extension et fournit une liste d'autorisations pour l'extension. Les autorisations définissent les ressources Looker auxquelles l'extension peut accéder. L'extension ne pourra pas accéder à une ressource Looker, sauf si elle est répertoriée dans les autorisations.

    Voici un exemple de fichier manifeste de projet avec un paramètre 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: []
        }
      }
    

    Pour en savoir plus, consultez la page de documentation du paramètre application.

Premiers pas avec le développement à l'aide du framework d'extension Looker

Le moyen le plus simple de commencer est de générer une nouvelle extension de démarrage à partir d'un modèle, puis de la personnaliser et d'y ajouter des fonctionnalités. Cela garantit que toute la configuration et l'empaquetage sont corrects, ce qui peut être difficile à faire manuellement. Consultez la page de documentation Créer une extension Looker pour savoir comment créer un projet Looker pour votre extension et générer une extension de démarrage.

Pour obtenir des modèles plus personnalisés ou avancés, vous pouvez parcourir le dépôt d'exemples de framework d'extension Looker. Toute extension de ce dépôt peut être clonée et réutilisée comme point de départ pour votre projet.

Une fois que vous avez créé une extension de base et vérifié que tout fonctionne, vous pouvez commencer à ajouter des fonctionnalités et des personnalisations supplémentaires :

  • Vous trouverez une liste de cas d'utilisation courants avec des exemples de code sur la page de documentation Exemples de code React et JavaScript du framework d'extension.

  • Consultez le site Composants de l'interface utilisateur Looker pour utiliser notre bibliothèque de composants afin de développer rapidement l'interface utilisateur et la mise en page.

  • Le modèle Kitchensink d'extension Looker est une extension qui fournit des exemples d'un large éventail de fonctionnalités d'extension. Vous pouvez utiliser ce modèle comme encyclopédie ou guide de référence, mais pas comme point de départ ni comme modèle réel. Nous vous recommandons d'utiliser notre générateur d'extensions ou de cloner l'un des exemples les plus basiques pour commencer.

  • Des exemples d'extensions pouvant être utilisées comme tuiles de tableau de bord sont également disponibles. L'extension de visualisation de tuiles montre comment créer une visualisation personnalisée à l'aide du framework d'extension. L'extension SDK de tuiles affiche les méthodes d'API disponibles spécifiques aux extensions de tuiles.