Le framework d'extension Looker est un framework de développement qui réduit considérablement les efforts et la complexité liés à la création d'applications et d'outils de données JavaScript personnalisés, tels que :
- Applications de plate-forme internes pour votre entreprise
- Plates-formes externes pour vos clients, comme les 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
Le Marketplace Looker propose actuellement des exemples d'extensions Looker, comme le dictionnaire de données et le diagramme LookML.
Pourquoi utiliser le framework d'extension ?
Certaines étapes de la création d'applications Web sont faciles et amusantes, tandis que d'autres sont évidemment plus chronophages et moins amusantes. Le framework d'extension vous aide en simplifiant bon nombre de ces tâches peu amusantes.
Le framework d'extension s'occupe de certains des aspects les plus fastidieux de la création d'une application Web, ce qui vous permet de commencer le développement immédiatement. Les applications et outils personnalisés créés avec le framework d'extension sont accessibles depuis Looker. Looker peut ainsi gérer les types de fonctions suivants :
- Authentification : vous permet d'utiliser les options d'authentification existantes de Looker pour la connexion (telles que la connexion par mot de passe, LDAP, SAML et OpenID Connect).
- Contrôle des accès et gestion des autorisations :
- Accès à l'API : vous permet d'utiliser d'autres ressources de développement courantes dans Looker, comme les points de terminaison d'API tierces.
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 accéder à l'API publique Looker et 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 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 looks ou des tableaux de bord dans une extension.
- L'utilitaire
create-looker-extension
, qui crée une extension de base incluant tous les fichiers et dépendances 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'extensions Looker, qui inclut des modèles et des exemples d'extensions pour vous aider à vous lancer rapidement.
- La possibilité d'accéder aux points de terminaison d'API tierces et d'ajouter des données tierces à votre extension.
Possibilité de créer des extensions en plein écran dans Looker. Les extensions plein écran peuvent être utilisées pour les 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 peut être utile si vous souhaitez facturer votre extension. Toutefois, vous devez utiliser les autorisations Looker standards pour limiter l'accès aux utilisateurs qui ne doivent 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 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 tuiles dans les tableaux de bord LookML.
Exigences concernant le framework d'extension
Pour développer à l'aide du framework d'extension Looker :
- Vous aurez besoin d'autorisations de développeur LookML pour votre instance.
- Votre administrateur Looker doit activer la fonctionnalité Framework d'extension.
- Nous vous recommandons de bien 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 :
- Inclut un fichier de modèle
- Inclut un fichier manifeste du projet
- Connecté à un dépôt Git
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ètreapplication
attribue un libellé à l'extension, indique à Looker où trouver le 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 cette ressource figure 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 sur le 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 extension de démarrage à partir d'un modèle, puis de la personnaliser et d'y ajouter des fonctionnalités. Cela permet de s'assurer que 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 du framework d'extensions 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 des 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 de l'UI Looker pour utiliser notre bibliothèque de composants et développer rapidement l'UI et la mise en page.
Le modèle Kitchensink d'extension Looker est une extension qui fournit des exemples d'une grande variété de fonctionnalités d'extension. Vous pouvez utiliser ce modèle comme une encyclopédie ou un guide de référence, mais pas comme point de départ ni comme modèle à proprement parler. Pour commencer, nous vous recommandons d'utiliser notre générateur d'extensions ou de cloner l'un des exemples les plus simples.
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.