אפליקציה

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.