aplicación

Uso

application: application_name {
  label: "Application Label" 
  url: "application_url" 
  file: "application_file_path" 
  sri_hash: "SRI_hash_value" 
  mount_points: {
    dashboard_vis: yes | no
    dashboard_tile: yes | no
    standalone: yes | no
  }
  entitlements: {
    local_storage: yes | no
    navigation: yes | no
    new_window: yes | no
    new_window_external_urls: ["url1", "url2", ...]
    use_form_submit: yes | no
    use_embeds: yes | no
    use_downloads: yes | no
    use_iframes: yes | no
    use_clipboard: yes | no
    core_api_methods: ["api_method1", "api_method2", ...]
    external_api_urls: ["api_url1", "api_url2", ...]
    oauth2_urls: ["oauth2_url1", "oauth2_url2", ...]
    global_user_attributes: ["user_attribute1", "user_attribute2", ...]
    scoped_user_attributes: ["user_attribute1", "user_attribute2", ...]
  }
}
Jerarquía
application
Valor predeterminado
Ninguno

Acepta
Un nombre para la aplicación y los parámetros secundarios para definirla

Reglas especiales
El parámetro application debe tener un parámetro url o file, pero no ambos.

Definición

El parámetro application define una aplicación para el framework de extensiones de Looker. Una vez que se agrega una extensión a un proyecto, los usuarios de Looker con los permisos adecuados pueden verla en la ubicación definida por el parámetro mount_points. Si no se especifica el parámetro mount_points, la extensión se mostrará en la sección Aplicaciones del menú de Looker.

El parámetro application tiene los siguientes subparámetros:

La aplicación debe tener un parámetro url o un parámetro file, pero no ambos.

label

Especifica el nombre de la aplicación que se muestra al usuario en la sección Aplicaciones del menú principal. El label se puede localizar si localizas tu modelo de LookML.

url

El parámetro url se usa solo con fines de desarrollo y debe apuntar a un servidor de desarrollo que se ejecute en la máquina del desarrollador. Por ejemplo:

url: "http://localhost:8080/bundle.js"

Después del desarrollo, puedes arrastrar el archivo al IDE de Looker y, luego, usar el parámetro file para apuntar al archivo.

file

Especifica la ruta de acceso a un archivo JavaScript (con una extensión .js) que define la aplicación. La ruta de acceso es relativa a la raíz del proyecto. Por ejemplo, este parámetro file apunta al archivo bundle.js en el directorio apps del proyecto de LookML:

file: "apps/bundle.js"

sri_hash

Especifica un hash de Integridad de subrecursos (SRI) para fines de verificación de JavaScript. Se puede usar con el parámetro file o url. El valor de sri_hash no debe incluir el prefijo sha384-.

Se ignora sri_hash si url especifica un servidor de desarrollo.

mount_points

El parámetro mount_points determina en qué parte de la IU de Looker se mostrará la extensión y estará disponible para el usuario, y si la extensión proporcionará sus propios datos. Las extensiones que se ejecutan en una tarjeta del panel requieren que se especifique mount_points. Si no se especifica mount_points, la extensión aparecerá en la sección Aplicaciones del menú de Looker. Se permiten varios mount_points.

Parámetro Descripción Ejemplo
dashboard_vis Cuando se habilita, la extensión aparecerá en la lista de visualizaciones de un Explorar, donde se podrá seleccionar y guardar como tarjeta del panel. Cuando se ejecute el panel, este ejecutará la consulta asociada al mosaico y pondrá los datos a disposición de la extensión. Esto es similar a cómo funcionan las visualizaciones personalizadas. La principal diferencia entre una visualización personalizada y una extensión que se ejecuta en una tarjeta del panel que tiene habilitado dashboard_vis es que la extensión puede realizar llamadas a la API de Looker. dashboard_vis: yes
dashboard_tile Cuando se habilita, la extensión aparecerá en el panel Extensiones que se muestra cuando un usuario edita un panel y selecciona la opción Extensiones después de hacer clic en el botón Agregar. Este tipo de extensión es responsable de recuperar sus propios datos. dashboard_tile: yes
standalone Especifica si la extensión aparecerá en la sección Aplicaciones del menú de Looker. Si no se especifica el parámetro mount_points, standalone: yes es el parámetro de configuración predeterminado para la extensión. standalone: yes

entitlements

El parámetro entitlements especifica los recursos a los que puede acceder la extensión. La extensión no podrá acceder a los recursos, a menos que se incluya en entitlements.

Una aplicación de extensión debe especificar derechos; la aplicación no se ejecutará sin ellos.

El parámetro entitlements incluye los siguientes subparámetros. Si no se incluye un subparámetro, de forma predeterminada, la extensión no tendrá acceso a ese derecho.

Parámetro Descripción Ejemplo
local_storage Especifica si la extensión puede acceder al almacenamiento local. local_storage: yes
navigation Especifica si se permite que la extensión navegue a una página diferente en Looker. navigation: yes
new_window Especifica si la extensión puede abrir una nueva ventana o pestaña del navegador. new_window: yes
new_window_external_urls Es una lista separada por comas de URLs o URLs parciales para las que una extensión puede abrir una ventana nueva. Este derecho requiere el derecho new_window. Puedes incluir caracteres comodín, como *, para subdominios y rutas de acceso. new_window_external_urls: ["https://www.gmail.com"]
use_form_submit Especifica si la extensión puede enviar formularios. Los componentes de Looker que usan formularios HTML requerirán use_form_submit: yes para funcionar correctamente. use_form_submit: yes
use_embeds Especifica si la extensión puede usar el SDK de Looker Embed. use_embeds: yes
use_downloads Se agregó en la versión 21.6 Especifica si se permite que la extensión descargue archivos. use_downloads: yes
use_iframes Se agregó la versión 21.6 Especifica si la extensión puede crear un iframe. use_iframes: yes
use_clipboard Se agregó en la versión 21.8 Especifica si la extensión puede escribir en el portapapeles del sistema. Por motivos de seguridad, las extensiones no pueden leer desde el portapapeles del sistema. use_clipboard: yes
core_api_methods Lista separada por comas de los métodos de la API de Looker que usa la extensión. core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"]
external_api_urls Es una lista separada por comas de las URLs de las APIs externas que usa la extensión. Como se muestra en el ejemplo, puedes incluir caracteres comodín, como *.

A partir de Looker 21.6, las extensiones que usan directamente llamadas de JavaScript de fetch o XHR.open (en lugar de usar las llamadas a la API de extensionSDK.fetchProxy o extensionSDK.serverProxy) deben incluir las URLs en la lista.
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"]
oauth2_urls Es una lista separada por comas de URLs para la autenticación de OAuth 2.0 y el intercambio de códigos que usa la extensión. oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"]
global_user_attributes Es una lista separada por comas de los atributos de usuario en todo el sistema que usa la extensión. global_user_attributes: ["company", "department"]
scoped_user_attributes Es una lista separada por comas de los atributos del usuario específicos de la extensión que esta usa. scoped_user_attributes: ["first_name", "last_name"]

Ejemplo

A continuación, se muestra el parámetro application del archivo de manifiesto del proyecto para el ejemplo de extensión de cocina de Looker:

application: kitchensink {
  label: "Kitchen sink"
  url: "http://localhost:8080/bundle.js"
  entitlements: {
    local_storage: yes
    navigation: yes
    new_window: yes
    use_form_submit: yes
    use_embeds: yes
    core_api_methods: ["all_connections","search_folders", "run_inline_query", "me", "all_looks", "run_look"]
    external_api_urls: ["http://127.0.0.1:3000", "http://localhost:3000", "https://∗.googleapis.com", "https://∗.github.com", "https://REPLACE_ME.auth0.com"]
    oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth", "https://github.com/login/oauth/authorize", "https://dev-5eqts7im.auth0.com/authorize", "https://dev-5eqts7im.auth0.com/login/oauth/token", "https://github.com/login/oauth/access_token"]
    scoped_user_attributes: ["user_value"]
    global_user_attributes: ["locale"]
  }
}

Para obtener ejemplos adicionales, consulta el repositorio extension-examples de Looker.