framework d'extension Looker

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

  • Applications de plate-forme interne pour votre entreprise
  • Plates-formes externes pour vos clients, telles que des portails client pour les applications d'analyse intégrée créées avec des données dans Looker
  • Outils internes ciblés
  • Applications à intégrer dans des applications externes

Parmi les exemples d'extensions Looker actuellement disponibles sur la Place de marché Looker, citons le dictionnaire de données Looker et le diagramme 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 chronophages et pas vraiment amusantes. Le framework d'extension vous aide à simplifier bon nombre de ces tâches peu amusantes.

Le framework d'extension gère certains des aspects les plus fastidieux de la création d'une application Web, ce qui vous permet de vous concentrer sur le développement dès le départ. 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 interagir 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 Embed, une bibliothèque que vous pouvez utiliser pour intégrer des tableaux de bord, des looks et des explorations dans votre extension. Consultez l'extension d'évier de cuisine pour obtenir un exemple de code. Vous pouvez également utiliser le SDK Embed 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'utilitaire create-looker-extension, qui crée une extension de base qui inclut tous les fichiers d'extension et les dépendances nécessaires, et que vous pouvez utiliser comme point de départ pour la développer.
  • Notre dépôt Exemples de framework d'extension Looker, qui comprend des modèles et des exemples d'extensions pour vous aider à vous lancer rapidement.
  • Possibilité d'accéder aux points de terminaison d'API tiers et d'ajouter des données tierces à votre extension.
  • Possibilité de créer des extensions en plein écran dans Looker. Les extensions en plein écran peuvent être utilisées pour les applications de plate-forme internes ou externes.

    Dans une extension 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. Cette option est utile si vous souhaitez facturer votre extension. Toutefois, vous devez utiliser les autorisations Looker standards pour limiter l'accès à ceux qui ne devraient jamais pouvoir accéder à une extension.

  • À partir de la version 24.0 de Looker, les extensions peuvent être développées pour s'exécuter dans une carte de tableau de bord. Les extensions pouvant être exécutées en tant que vignette 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 cartes dans les tableaux de bord LookML.

Exigences concernant le framework d'extension

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

  • Vous devez disposer d'autorisations de développeur LookML pour votre instance.
  • Votre administrateur Looker doit activer la fonctionnalité Extension Framework.
  • Nous vous recommandons de vous familiariser avec JavaScript ou TypeScript.
  • Nous vous recommandons de développer en 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 doit comporter un paramètre connection qui pointe vers une connexion de base de données valide sur votre instance.

  • Le fichier manifeste du projet nécessite un paramètre application. Le paramètre application attribue un libellé à l'extension, indique à Looker où trouver le code JavaScript de l'extension et fournit une liste des droits d'accès de l'extension. Les droits d'accès 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 listée dans les droits d'accès.

    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 avec le framework d'extension Looker

Le moyen le plus simple de commencer est de générer d'abord une extension de déclencheur à partir d'un modèle, puis de personnaliser et d'ajouter des fonctionnalités à ce déclencheur. Cela garantit que toute la configuration et le packaging 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 du Looker Extension Framework. Vous pouvez cloner et réutiliser n'importe quelle extension de ce dépôt comme point de départ pour votre projet.

Une fois que vous avez créé une extension simple 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 du framework d'extension Looker.

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

  • Le modèle d'extension Looker Kitchensink est une extension qui fournit des exemples d'une grande variété 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. Nous vous recommandons d'utiliser notre générateur d'extensions ou de cloner l'un des exemples les plus simples pour commencer.

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