Prueba el nuevo cargador de framework de extensiones

El framework de la extensión de Looker pronto usará un nuevo mecanismo de carga. El nuevo cargador puede provocar comportamientos inesperados y posibles errores cuando se cargan las extensiones existentes. Para que los desarrolladores puedan probar y actualizar sus extensiones, en esta página se describe cómo probar el nuevo cargador de marcos de trabajo de extensiones antes de que se active oficialmente en los entornos de Looker.

Aún no se ha determinado la fecha de lanzamiento de esta actualización. En ese momento, se proporcionará un botón de activación para que los clientes puedan desactivar temporalmente el nuevo método de carga. Sin embargo, en algún momento, se deberá activar la nueva técnica de carga para corregir los incumplimientos de la Política de Seguridad del Contenido (CSP) y usar el preámbulo <!DOCTYPE html>.

Cambios que pueden afectar las extensiones

La siguiente lista contiene los cambios en el marco de trabajo de extensiones que podrían afectar las extensiones:

  • Para corregir las infracciones de CSP, se genera HTML para cargar la extensión en el servidor y no en el navegador. Este cambio en sí no debería afectar las extensiones existentes.
  • Se quita la etiqueta base, lo que podría afectar la división del código personalizado. Se quitó la etiqueta base porque su uso infringía el CSP. Sin embargo, es posible que algunos desarrolladores hayan implementado sus propias técnicas de división de código que dependían de la etiqueta base. Verifica que la división del código aún funcione o, si es necesario, implementa otras técnicas que no dependan de la etiqueta base.
  • El cargador nuevo usa un preámbulo <!DOCTYPE html>. Esto puede afectar los componentes que usan height: 100%;. Puedes mitigar esto mediante height: 100vh.

Prueba las extensiones con el nuevo método de carga

La nueva técnica de carga requiere que la instancia de Looker ejecute Looker 22.4 o una versión posterior. Se activa con una opción de inicio. La opción de inicio define una URL que se usará para cargar la extensión. El origen de esta URL debe ser diferente del origen del servidor de Looker. Esto es necesario para que la extensión se pueda poner en zona de pruebas de manera segura.

El siguiente procedimiento te permite probar las extensiones con el nuevo método de carga para un solo usuario, sin afectar a ningún otro usuario del sistema. Para ello, escribe la URL de carga de la extensión en el almacenamiento de la sesión del navegador. El nuevo mecanismo permanece en su lugar hasta que finaliza la sesión del usuario O el usuario borra el valor del almacenamiento de la sesión. Se espera que desarrolladores con experiencia usen esta técnica.

Configura un servidor proxy HTTP

Antes de activar el nuevo método de carga de extensiones, deberá ejecutar un servidor proxy en su máquina local que simule el servicio de carga de extensiones. Asegúrate de tener Node.js instalado en tu máquina local y ejecuta el siguiente comando:

npx http-server --port 4000 --proxy https://experiment.dev.looker.com --proxy-options.secure false

Reemplaza https://experiment.dev.looker.com por la URL de tu instancia de Looker. También puedes cambiar el número de puerto, pero asegúrate de que no entre en conflicto con el número de puerto que usa tu servidor de desarrollo de extensiones.

La primera vez que ejecutes este comando, se te pedirá permiso para instalar http-server.

Configura un servidor proxy HTTP

Algunos entornos pueden impedir la combinación de contenido HTTP y HTTP. En este caso, un servidor proxy HTTP debe configurarse con un certificado. Para configurar un servidor proxy HTTP, deberás generar un certificado autofirmado. Un requisito previo es que openssl esté instalado en tu sistema. En el directorio donde planeas ejecutar el servidor proxy HTTP, ejecuta el siguiente comando:

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

Esto generará dos archivos, cert.pem y key.pem.

Para ejecutar el servidor proxy HTTP, asegúrese de tener Node.js instalado en su máquina local y ejecute el siguiente comando:

npx http-server --port 4000 -S -C cert.pem --proxy https://experiment.dev.looker.com --proxy-options.secure false

Antes de usar el servidor proxy, deberá autorizar al navegador para que utilice el certificado autofirmado. Abre el navegador y, luego, ingresa https://localhost:4000. En Chrome, es posible que veas un vínculo o un botón para continuar al servidor, o que debas escribir thisisunsafe mientras la ventana del navegador esté enfocada. En este último caso, el texto no se mostrará, pero te permitirá continuar.

Puedes encontrar más información sobre cómo configurar http-server para usar https aquí: https://www.npmjs.com/package/http-server

Cómo iniciar la prueba

  • Si configura un servidor proxy HTTP, utilice la siguiente URL para configurar el navegador a fin de que use el proxy:

        https://experiment.dev.looker.com/extensions/kitchensink::kitchensink/?LOOKER_EXTENSION_LOAD_URL=http://localhost:4000
        

    Donde:

    • https://experiment.dev.looker.com es la URL de tu instancia de Looker.
    • /kitchensink::kitchensink es el ID de la extensión que deseas probar.
    • http://localhost:4000 es el servidor proxy. Modifica el número de puerto si lo cambiaste anteriormente en este procedimiento.
  • Si configuras un servidor proxy HTTP, para configurar el navegador a fin de que use el proxy, utiliza la siguiente URL:

        https://experiment.dev.looker.com/extensions/kitchensink::kitchensink/?LOOKER_EXTENSION_LOAD_URL=https://localhost:4000
        

    Donde:

    • https://experiment.dev.looker.com es la URL de tu instancia de Looker.
    • /kitchensink::kitchensink es el ID de la extensión que deseas probar.
    • https://localhost:4000 es el servidor proxy. Modifica el número de puerto si lo cambiaste anteriormente en este procedimiento.

El parámetro LOOKER_EXTENSION_LOAD_URL se quitará inmediatamente de la URL. Como se indicó anteriormente, la URL del servidor proxy se almacena en el almacenamiento de la sesión y permanecerá activa mientras dure la sesión.

Cómo detener la prueba

Para detener la prueba, ingresa la siguiente URL:

https://experiment.dev.looker.com/extensions/kitchensink::kitchensink/?LOOKER_EXTENSION_LOAD_URL=

Esta acción quitará la URL del almacenamiento de la sesión. Una vez más, el parámetro LOOKER_EXTENSION_LOAD_URL se quitará de la URL.