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
urlatau parameterfile, 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.