El framework de extensiones de Looker es un framework de desarrollo que reduce significativamente el esfuerzo y la complejidad de compilar herramientas y aplicaciones de datos de JavaScript personalizadas, como las siguientes:
- Aplicaciones de plataforma internas para tu empresa
- Plataformas externas para tus clientes, como portales de clientes para aplicaciones de estadísticas incorporadas compiladas con datos en Looker
- Herramientas internas segmentadas
- Aplicaciones para incorporar en aplicaciones externas
Entre los ejemplos actuales de extensiones de Looker que están disponibles en el Looker Marketplace, se incluyen el diccionario de datos de Looker y el diagrama de LookML.
¿Por qué usar el framework de extensiones?
Algunas partes de la compilación de aplicaciones web son fáciles y divertidas, mientras que otras son obviamente más lentas y no tan divertidas. El framework de extensiones te ayuda a optimizar muchas de estas tareas no tan divertidas.
El framework de extensiones se encarga de algunos de los aspectos más tediosos de la compilación de una aplicación web para que puedas enfocarte en comenzar el desarrollo de inmediato. Se puede acceder a las herramientas y aplicaciones personalizadas creadas con el framework de extensiones desde Looker, lo que permite que Looker controle los siguientes tipos de funciones, como las siguientes:
- Autenticación: Te permite usar las opciones de autenticación existentes de Looker para acceder (como el acceso con contraseña, LDAP, SAML y OpenID Connect).
- Control de acceso y administración de permisos.
- Acceso a la API: Te permite usar otros recursos comunes para desarrolladores, como extremos de API de terceros, dentro de Looker.
Funciones del framework de extensiones
El framework de extensiones de Looker incluye las siguientes funciones:
- El SDK de extensiones de Looker, que proporciona funciones para el acceso a la API pública de Looker y para interactuar dentro del entorno de Looker
- Componentes de Looker, una biblioteca de componentes de IU de React precompilados que puedes usar en tus extensiones
- El SDK de Embed, una biblioteca que puedes usar para incorporar paneles, Looks y exploraciones en tu extensión. (consulta la extensión de cocina para ver el código de ejemplo) También puedes usar el SDK de Embed para incorporar tu extensión en aplicaciones de terceros. Las cookies deben estar habilitadas en el navegador cuando incorporas exploraciones, Looks o paneles en una extensión.
- La utilidad
create-looker-extension, que crea una extensión básica que incluye todos los archivos y las dependencias de extensión necesarios, y que puedes usar como punto de partida para compilar - Nuestro repositorio de ejemplos del framework de extensiones de Looker, que incluye plantillas y extensiones de ejemplo para ayudarte a comenzar rápidamente
- La capacidad de acceder a extremos de API de terceros y agregar datos de terceros a tu extensión
La capacidad de crear extensiones de pantalla completa en Looker Las extensiones de pantalla completa se pueden usar para aplicaciones de plataformas internas o externas.
En una extensión de pantalla completa, puedes evitar que un conjunto de usuarios navegue a otras partes de Looker desde tu extensión agregando usuarios a un grupo de usuarios de solo extensiones. También puedes quitar la barra de navegación de Looker reemplazando
/extensionspor/spartanen la URL de la extensión.La capacidad de configurar una clave de acceso para tu extensión de modo que los usuarios deban ingresar una clave para ejecutarla (esto es útil si deseas cobrar por tu extensión, pero debes usar los permisos estándar de Looker para restringir el acceso a quienes nunca deberían poder acceder a una extensión)
A partir de Looker 24.0, las extensiones se pueden desarrollar para ejecutarse en un mosaico en los paneles. Se pueden agregar extensiones que admitan la ejecución como mosaico o visualización mientras el panel está en modo de edición o se guarda en un panel como visualización desde una exploración. Las extensiones también se pueden configurar como mosaicos en los paneles de LookML.
Requisitos del framework de extensiones
Para desarrollar con el framework de extensiones de Looker, haz lo siguiente:
- Necesitarás permisos de desarrollador de LookML para tu instancia.
- Tu administrador de Looker debe habilitar la función Framework de extensiones.
- Recomendamos que tengas conocimientos de JavaScript o TypeScript.
- Recomendamos el desarrollo en React, aunque existe un SDK de extensión para JavaScript sin procesar.
Para ejecutarse dentro de Looker, cada extensión, independientemente de su función, debe incluir los siguientes elementos dentro de Looker:
Un proyecto de LookML que cumpla con estos requisitos:
- Incluye un archivo de modelo.
- Incluye un archivo de manifiesto del proyecto.
- Está conectado a un repositorio de Git.
El archivo de modelo de LookML necesita un
connectionparámetro que apunte a una conexión de base de datos válida en tu instancia.El archivo de manifiesto del proyecto requiere un
applicationparámetro. El parámetroapplicationle da una etiqueta a la extensión, le indica a Looker dónde encontrar el JavaScript de la extensión y proporciona una lista de derechos para la extensión. Los derechos definen los recursos de Looker a los que puede acceder la extensión. La extensión no podrá acceder a un recurso de Looker, a menos que ese recurso aparezca en los derechos.El siguiente es un ejemplo de un archivo de manifiesto del proyecto con un 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 obtener más detalles, consulta la página de documentación del parámetro
application.
Primeros pasos para desarrollar con el framework de extensiones de Looker
La forma más fácil de comenzar es generar primero una nueva extensión de inicio a partir de una plantilla y, luego, personalizarla y agregarle funciones. Esto garantiza que toda la configuración y el empaquetado sean correctos, lo que puede ser difícil de hacer de forma manual. Consulta la página de documentación Compila una extensión de Looker para obtener instrucciones sobre cómo crear un nuevo proyecto de Looker para tu extensión y generar una extensión de inicio.
Para obtener plantillas más personalizadas o avanzadas, puedes explorar el repositorio de ejemplos del framework de extensiones de Looker. Se puede clonar cualquier extensión de ese repositorio y reutilizarla como punto de partida para tu proyecto.
Una vez que hayas creado una extensión básica y verificado que todo funciona, puedes comenzar a agregar funciones y personalizaciones adicionales:
Puedes ver una lista de casos de uso comunes con código de ejemplo en la página de documentación Ejemplos de código de React y JavaScript del framework de extensiones.
Consulta el sitio de componentes de la IU de Looker para usar nuestra biblioteca de componentes para el desarrollo rápido de la IU y el diseño.
La plantilla de cocina de extensiones de Looker es una extensión que proporciona ejemplos de una gran variedad de funciones de extensión. Puedes usar esta plantilla como una enciclopedia o una guía de referencia, pero no como punto de partida ni como plantilla real. Te recomendamos que uses nuestro generador de extensiones o que clones uno de los ejemplos más básicos para comenzar.
También hay ejemplos de extensiones que se pueden usar como mosaicos del panel. La extensión de visualización de mosaicos muestra cómo compilar una visualización personalizada con el framework de extensiones. La extensión de SDK de mosaicos muestra los métodos de API disponibles que son específicos de las extensiones de mosaicos.