Usage
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", ...] } }
|
היררכיה
application |
ערך ברירת המחדל
ללא
מקבל
שם לאפליקציה ולפרמטרים המשניים להגדרתה
כללים מיוחדים
לפרמטר application צריך להיות פרמטר url או פרמטר file, אבל לא את שניהם
|
הגדרה
הפרמטר application מגדיר אפליקציה עבור סביבת התוספים של Looker. אחרי שמוסיפים תוסף לפרויקט, משתמשי Looker עם הרשאות מתאימות יכולים לראות את התוסף במיקום שמוגדר על ידי הפרמטר mount_points. אם לא מציינים את הפרמטר mount_points, התוסף מופיע בקטע Applications בתפריט Looker.
הפרמטר application כולל את הפרמטרים המשניים הבאים:
האפליקציה צריכה לכלול פרמטר
urlאו פרמטרfile, אבל לא את שניהם.
label
מציינת את שם האפליקציה שמוצג למשתמש בקטע אפליקציות בתפריט הראשי. אפשר לבצע לוקליזציה של label אם מבצעים לוקליזציה של מודל LookML.
url
הפרמטר url מיועד למטרות פיתוח בלבד, והוא צריך להצביע על שרת פיתוח שפועל במחשב של המפתח. לדוגמה:
url: "http://localhost:8080/bundle.js"
אחרי הפיתוח, אפשר לגרור את הקובץ אל Looker IDE ואז להשתמש בפרמטר file כדי להפנות אל הקובץ.
file
מציין את הנתיב לקובץ JavaScript (עם הסיומת .js) שמגדיר את האפליקציה. הנתיב הוא יחסי לשורש הפרויקט. לדוגמה, הפרמטר file הזה מצביע על הקובץ bundle.js בספרייה apps של פרויקט LookML:
file: "apps/bundle.js"
sri_hash
מציין גיבוב Subresource Integrity (SRI) למטרות אימות של JavaScript. אפשר להשתמש בו עם הפרמטר file או עם הפרמטר url. הערך של sri_hash לא יכול לכלול את הקידומת sha384-.
המערכת מתעלמת מהדגל sri_hash אם הדגל url מציין שרת פיתוח.
mount_points
הפרמטר mount_points קובע איפה בממשק המשתמש של Looker התוסף יופיע ויהיה זמין למשתמש, וגם אם התוסף יספק נתונים משלו. תוספים שמיועדים להפעלה במשבצת בלוח בקרה מחייבים ציון של mount_points. אם לא מציינים את mount_points, התוסף יופיע בקטע Applications (אפליקציות) בתפריט Looker. אפשר להזין כמה mount_points.
| פרמטר | תיאור | דוגמה |
|---|---|---|
dashboard_vis |
כשההגדרה הזו מופעלת, התוסף יופיע ברשימת התצוגות החזותיות של כלי הניתוח, שם אפשר לבחור את התוסף ולשמור אותו כמשבצת בלוח הבקרה. כשמריצים את לוח הבקרה, הוא מריץ את השאילתה שמשויכת למשבצת ומאפשר לתוסף לגשת לנתונים. זה דומה לאופן הפעולה של הדמיות בהתאמה אישית. ההבדל העיקרי בין תצוגה חזותית מותאמת אישית לבין תוסף שפועל במשבצת בלוח בקרה שמופעל בה dashboard_vis הוא שהתוסף עשוי לבצע קריאות ל-Looker API.
|
dashboard_vis: yes |
dashboard_tile |
כשהתוסף מופעל, הוא מופיע בחלונית Extensions שמוצגת כשמשתמש עורך לוח בקרה ובוחר באפשרות Extensions אחרי שהוא לוחץ על הלחצן Add. תוספים מהסוג הזה אחראים לאחזור הנתונים שלהם. | dashboard_tile: yes |
standalone |
המדיניות קובעת אם התוסף יופיע בקטע Applications (אפליקציות) בתפריט Looker. אם לא מציינים את הפרמטר mount_points, ברירת המחדל של התוסף היא standalone: yes.
|
standalone: yes |
entitlements
הפרמטר entitlements מציין את המשאבים שהתוסף יכול לגשת אליהם. התוסף לא יוכל לגשת למשאבים אלא אם הוא יופיע בentitlements.
בבקשת הרחבה צריך לציין הרשאות; האפליקציה לא תפעל בלעדיהן.
הפרמטר entitlements כולל את הפרמטרים המשניים הבאים. אם לא כוללים תת-פרמטר, כברירת מחדל התוסף לא מקבל גישה להרשאת גישה זו.
| פרמטר | תיאור | דוגמה |
|---|---|---|
local_storage |
המדיניות הזו קובעת אם התוסף יכול לגשת לאחסון המקומי. | local_storage: yes |
navigation |
ההגדרה קובעת אם התוסף יכול לעבור לדף אחר ב-Looker. | navigation: yes |
new_window |
הפרמטר הזה מציין אם התוסף יכול לפתוח חלון או כרטיסייה חדשים בדפדפן. | new_window: yes |
new_window_external_urls |
רשימה של כתובות URL או כתובות URL חלקיות, שמופרדות באמצעות פסיקים, שתוסף יכול לפתוח בהן חלון חדש. כדי להשתמש בהרשאה הזו, צריך את ההרשאה new_window. אפשר לכלול תווים כלליים לחיפוש כמו * בשביל תת-דומיינים ונתיבים.
|
new_window_external_urls: ["https://www.gmail.com"] |
use_form_submit |
המדיניות הזו קובעת אם התוסף יכול לשלוח טפסים. כדי שרכיבי Looker שמשתמשים בטופסי HTML יפעלו בצורה תקינה, צריך להשתמש ב-use_form_submit: yes.
|
use_form_submit: yes |
use_embeds |
המדיניות הזו קובעת אם התוסף מורשה להשתמש ב-Looker Embed SDK. | use_embeds: yes |
use_downloads |
Added 21.6 ההגדרה קובעת אם התוסף יכול להוריד קבצים. | use_downloads: yes |
use_iframes |
נוסף 21.6 מציין אם התוסף יכול ליצור iframe. | use_iframes: yes |
use_clipboard |
נוספה בגרסה 21.8 המדיניות הזו קובעת אם התוסף יכול לכתוב בלוח של המערכת. מטעמי אבטחה, לתוספים אין הרשאה לקרוא מלוח הגזירה של המערכת. | use_clipboard: yes |
core_api_methods |
רשימה מופרדת בפסיקים של שיטות Looker API שבהן התוסף משתמש. | core_api_methods: ["run_inline_query", "lookml_model_explore", "all_lookml_models"] |
external_api_urls |
רשימה מופרדת בפסיקים של כתובות URL של ממשקי API חיצוניים שהתוסף משתמש בהם. כמו שרואים בדוגמה, אפשר לכלול תווים כלליים לחיפוש כמו *. החל מ-Looker 21.6, תוספים שמשתמשים ישירות בקריאות JavaScript של fetch או XHR.open (בניגוד לשימוש בקריאות API של extensionSDK.fetchProxy או extensionSDK.serverProxy) חייבים לכלול את כתובות ה-URL ברשימה.
|
external_api_urls: ["http://example.com:3000", "https://*.googleapis.com"] |
oauth2_urls |
רשימה מופרדת בפסיקים של כתובות URL לאימות OAuth 2.0 ולהחלפת קוד שהתוסף משתמש בהן. | oauth2_urls: ["https://accounts.google.com/o/oauth2/v2/auth"] |
global_user_attributes |
רשימה מופרדת בפסיקים של מאפייני משתמשים ברמת המערכת שבהם התוסף משתמש. | global_user_attributes: ["company", "department"] |
scoped_user_attributes |
רשימה מופרדת בפסיקים של מאפייני משתמש ספציפיים לתוסף שבהם התוסף משתמש. | scoped_user_attributes: ["first_name", "last_name"] |
דוגמה
הפרמטר application הבא מופיע בקובץ המניפסט של הפרויקט בדוגמה של תוסף 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"]
}
}
דוגמאות נוספות זמינות במאגר extension-examples של Looker.