El framework de extensiones de Looker es un framework de desarrollo que reduce significativamente el esfuerzo y la complejidad de crear aplicaciones y herramientas de datos de JavaScript personalizadas, como las siguientes:
- Aplicaciones de plataforma interna para tu empresa
- Plataformas externas para sus clientes, como portales de clientes para aplicaciones de analíticas insertadas creadas con datos de Looker
- Herramientas internas específicas
- Aplicaciones para insertar en aplicaciones externas
Entre los ejemplos actuales de extensiones de Looker disponibles en Looker Marketplace se incluyen el diccionario de datos y el diagrama de LookML de Looker.
¿Por qué usar el framework de extensiones?
Algunas partes de la creación de aplicaciones web son fáciles y divertidas, mientras que otras requieren más tiempo y no son tan divertidas. El framework de extensiones te ayuda a simplificar muchas de estas tareas que no son tan divertidas.
El framework de extensiones se encarga de algunos de los aspectos más tediosos de la creación de una aplicación web para que puedas centrarte en empezar a desarrollar de inmediato. Se puede acceder a las aplicaciones y herramientas personalizadas creadas con el framework de extensiones desde Looker, lo que permite que Looker gestione los siguientes tipos de funciones:
- Autenticación: te permite usar las opciones de autenticación de Looker para iniciar sesión (como inicio de sesión con contraseña, LDAP, SAML y OpenID Connect).
- Control de acceso y gestión de permisos.
- Acceso a la API: te permite aprovechar otros recursos comunes para desarrolladores, como los endpoints de APIs de terceros, en 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 acceder a la API pública de Looker e interactuar en el entorno de Looker.
- Componentes de Looker: una biblioteca de componentes de interfaz de usuario de React prediseñados que puedes usar en tus extensiones.
- El SDK de inserción, una biblioteca que puedes usar para insertar paneles, Looks y Exploraciones en tu extensión. Consulta la extensión de cocina para ver un ejemplo de código. También puedes usar el SDK de inserción para insertar tu extensión en aplicaciones de terceros. Las cookies deben estar habilitadas en el navegador cuando insertes Exploraciones, Looks o paneles de control en una extensión.
- La utilidad
create-looker-extension
, que crea una extensión básica que incluye todos los archivos y dependencias necesarios, y que puedes usar como punto de partida para desarrollar tu extensión. - Nuestro repositorio de ejemplos del framework de extensiones de Looker, que incluye plantillas y extensiones de ejemplo para ayudarte a empezar rápidamente.
- La posibilidad de acceder a endpoints de APIs de terceros y añadir datos de terceros a tu extensión.
Posibilidad de crear extensiones a pantalla completa en Looker. Las extensiones a pantalla completa se pueden usar en aplicaciones de plataformas internas o externas.
En una extensión a pantalla completa, puedes impedir que un conjunto de usuarios se desplace a otras partes de Looker desde tu extensión añadiéndolos a un grupo de usuarios Solo extensiones. También puedes quitar la barra de navegación de Looker sustituyendo
/extensions
por/spartan
en la URL de la extensión.La posibilidad de configurar una clave de acceso para tu extensión, de forma que los usuarios deban introducir una clave para ejecutarla. Esto resulta útil si quieres cobrar por tu extensión, pero debes usar los permisos estándar de Looker para restringir el acceso a quienes no deberían poder acceder a una extensión.
A partir de Looker 24.0, las extensiones se pueden desarrollar para que se ejecuten en un recuadro de los paneles. Las extensiones que se pueden ejecutar como una baldosa o una visualización se pueden añadir mientras el panel de control está en modo de edición o guardar en un panel de control como visualización desde una Exploración. Las extensiones también se pueden configurar como baldosas en los paneles de control de LookML.
Requisitos del framework de extensiones
Para desarrollar con el framework de extensiones de Looker, sigue estos pasos:
- Necesitarás permisos de desarrollador de LookML para tu instancia.
- Tu administrador de Looker debe habilitar la función Extension Framework.
- Te recomendamos que tengas conocimientos de JavaScript o TypeScript.
- Te recomendamos que desarrolles en React, aunque hay un SDK de extensión para JavaScript sin formato.
Para que se ejecute en Looker, todas las extensiones, independientemente de su función, deben incluir los siguientes elementos en Looker:
Un proyecto de LookML que cumpla estos requisitos:
- Incluye un archivo de modelo
- Incluye un archivo de manifiesto del proyecto
- Conectado a un repositorio de Git
El archivo de modelo LookML necesita un
connection
parámetro que apunte a una conexión de base de datos válida en tu instancia.El archivo de manifiesto del proyecto requiere el parámetro
application
. El parámetroapplication
asigna una etiqueta a la extensión, indica a Looker dónde encontrar el JavaScript de la extensión y proporciona una lista de derechos de 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 figure en los derechos.A continuación, se muestra un ejemplo de archivo de manifiesto de 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 información, consulta la página de documentación del parámetro
application
.
Empezar a desarrollar con el framework de extensiones de Looker
La forma más sencilla de empezar es generar una nueva extensión de inicio a partir de una plantilla y, a continuación, personalizarla y añadirle funciones. De esta forma, te aseguras de que toda la configuración y el empaquetado sean correctos, lo que puede ser difícil de hacer manualmente. Consulta la página de documentación Crear una extensión de Looker para obtener instrucciones sobre cómo crear un proyecto de Looker para tu extensión y generar una extensión de inicio.
Para ver plantillas más personalizadas o avanzadas, puedes consultar el repositorio de ejemplos del framework de extensiones de Looker. Cualquier extensión de ese repositorio se puede clonar y reutilizar como punto de partida para tu proyecto.
Una vez que hayas creado una extensión sencilla y verificado que todo funciona correctamente, puedes empezar a añadir funciones y personalizaciones adicionales:
Puedes ver una lista de casos prácticos habituales con ejemplos de código en la página de documentación Ejemplos de código del framework de extensiones de Looker.
Consulta el sitio Componentes de la interfaz de usuario de Looker para usar nuestra biblioteca de componentes y desarrollar rápidamente la interfaz de usuario y el diseño.
La plantilla de extensión Kitchensink de Looker es una extensión que proporciona ejemplos de una gran variedad de funciones de extensión. Puedes usar esta plantilla como enciclopedia o 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 sencillos para empezar.
También hay ejemplos de extensiones que se pueden usar como baldosas de panel de control. La extensión de visualización de baldosas muestra cómo crear una visualización personalizada con el framework de extensiones. La extensión del SDK de los recuadros muestra los métodos de API disponibles que son específicos de las extensiones de recuadros.