aplikasi

Penggunaan

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", ...]
  }
}
Hierarki
application
Nilai Default
Tidak ada

Menerima
Nama untuk aplikasi dan subparameter untuk menentukannya

Aturan Khusus
application harus memiliki parameter url atau file, tetapi tidak keduanya

Definisi

Parameter application menentukan aplikasi untuk framework ekstensi Looker. Setelah ekstensi ditambahkan ke project, pengguna Looker dengan izin yang sesuai dapat melihat ekstensi di lokasi yang ditentukan oleh parameter mount_points. Jika parameter mount_points tidak ditentukan, ekstensi akan dicantumkan di bagian Aplikasi pada menu Looker.

Parameter application memiliki subparameter berikut:

Aplikasi harus memiliki parameter url atau parameter file, tetapi tidak keduanya.

label

Menentukan nama aplikasi yang ditampilkan kepada pengguna di bagian Aplikasi pada menu utama. label dapat dilokalkan jika Anda melokalkan model LookML.

url

Parameter url hanya digunakan untuk tujuan pengembangan, dan harus mengarah ke server pengembangan yang berjalan di mesin developer. Contoh:

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

Setelah pengembangan, Anda dapat menarik file ke Looker IDE, lalu menggunakan parameter file untuk mengarah ke file tersebut.

file

Menentukan jalur ke file JavaScript (dengan ekstensi .js) yang menentukan aplikasi. Jalur ini relatif terhadap root project. Misalnya, parameter file ini mengarah ke file bundle.js di direktori apps project LookML:

file: "apps/bundle.js"

sri_hash

Menentukan hash Subresource Integrity (SRI) untuk tujuan verifikasi JavaScript. Parameter ini dapat digunakan dengan parameter file atau url. Nilai sri_hash tidak boleh menyertakan awalan sha384-.

sri_hash diabaikan jika url menentukan server pengembangan.

mount_points

Parameter mount_points menentukan di mana ekstensi akan dicantumkan dan tersedia bagi pengguna di UI Looker, serta apakah ekstensi akan menyediakan datanya sendiri. Ekstensi yang dimaksudkan untuk dijalankan di kartu dasbor memerlukan mount_points untuk ditentukan. Jika mount_points tidak ditentukan, ekstensi akan tercantum di bagian Aplikasi pada menu Looker. Beberapa mount_points diizinkan.

Parameter Deskripsi Contoh
dashboard_vis Jika diaktifkan, ekstensi akan muncul dalam daftar visualisasi Eksplorasi, tempat ekstensi dapat dipilih dan disimpan sebagai kartu dasbor. Saat dasbor dijalankan, dasbor akan menjalankan kueri yang terkait dengan kartu dan membuat data tersedia untuk ekstensi. Hal ini mirip dengan cara kerja visualisasi kustom. Perbedaan utama antara visualisasi kustom dan ekstensi yang berjalan di kartu dasbor yang mengaktifkan dashboard_vis adalah bahwa ekstensi dapat melakukan panggilan Looker API. dashboard_vis: yes
dashboard_tile Jika diaktifkan, ekstensi akan muncul di panel Ekstensi yang ditampilkan saat pengguna mengedit dasbor dan memilih opsi Ekstensi setelah mengklik tombol Tambahkan. Jenis ekstensi ini bertanggung jawab untuk mengambil datanya sendiri. dashboard_tile: yes
standalone Menentukan apakah ekstensi akan dicantumkan di bagian Aplikasi pada menu Looker. Jika parameter mount_points tidak ditentukan, standalone: yes adalah setelan default untuk ekstensi. standalone: yes

entitlements

Parameter entitlements menentukan resource yang dapat diakses ekstensi. Ekstensi tidak akan dapat mengakses resource kecuali jika tercantum dalam entitlements.

Aplikasi ekstensi harus menentukan hak; aplikasi tidak akan berjalan tanpa hak tersebut.

Parameter entitlements mencakup subparameter berikut. Jika subparameter tidak disertakan, secara default ekstensi tidak diizinkan mengakses hak tersebut.

Parameter Deskripsi Contoh
local_storage Menentukan apakah ekstensi diizinkan untuk mengakses penyimpanan lokal. local_storage: yes
navigation Menentukan apakah ekstensi diizinkan untuk membuka halaman lain di Looker. navigation: yes
new_window Menentukan apakah ekstensi diizinkan untuk membuka jendela atau tab browser baru. new_window: yes
new_window_external_urls Daftar URL atau URL parsial yang dipisahkan koma yang dapat digunakan ekstensi untuk membuka jendela baru. Hak ini memerlukan hak new_window. Anda dapat menyertakan karakter pengganti seperti * untuk subdomain dan jalur. new_window_external_urls: ["https://www.gmail.com"]
use_form_submit Menentukan apakah ekstensi diizinkan untuk mengirimkan formulir. Komponen Looker yang menggunakan formulir HTML akan memerlukan use_form_submit: yes agar berfungsi dengan benar. use_form_submit: yes
use_embeds Menentukan apakah ekstensi diizinkan untuk menggunakan Looker Embed SDK. use_embeds: yes
use_downloads Ditambahkan pada 21.6 Menentukan apakah ekstensi diizinkan untuk mendownload file. use_downloads: yes
use_iframes Ditambahkan pada 21.6 Menentukan apakah ekstensi diizinkan untuk membuat iframe. use_iframes: yes
use_clipboard Ditambahkan pada 21.8 Menentukan apakah ekstensi diizinkan untuk menulis ke papan klip sistem. Untuk tujuan keamanan, ekstensi tidak diizinkan untuk membaca dari papan klip sistem. use_clipboard: yes
core_api_methods Daftar metode Looker API yang dipisahkan dengan koma yang digunakan ekstensi. core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"]
external_api_urls Daftar URL yang dipisahkan koma untuk API eksternal yang digunakan ekstensi. Seperti yang ditunjukkan dalam contoh, Anda dapat menyertakan karakter pengganti seperti *.

Mulai Looker 21.6, ekstensi yang menggunakan panggilan JavaScript fetch atau XHR.open secara langsung (bukan menggunakan panggilan API extensionSDK.fetchProxy atau extensionSDK.serverProxy) harus menyertakan URL dalam daftar.
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"]
oauth2_urls Daftar URL yang dipisahkan koma untuk autentikasi OAuth 2.0 dan pertukaran kode yang digunakan ekstensi. oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"]
global_user_attributes Daftar atribut pengguna di seluruh sistem yang dipisahkan koma yang digunakan ekstensi. global_user_attributes: ["company", "department"]
scoped_user_attributes Daftar atribut pengguna khusus ekstensi yang dipisahkan koma yang digunakan ekstensi. scoped_user_attributes: ["first_name", "last_name"]

Contoh

Berikut adalah parameter application dari file manifes project untuk contoh ekstensi kitchen sink 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"]
  }
}

Untuk contoh tambahan, lihat repositori extension-examples Looker.