אפליקציה

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 אם התוסף מופעל, הוא יופיע בחלונית תוספים שמוצגת כשמשתמש עורך לוח בקרה ובוחר באפשרות תוספים אחרי שהוא לוחץ על הלחצן הוספה. סוג התוסף הזה אחראי לאחזור הנתונים שלו. 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 נוספה 21.6 המדיניות הזו קובעת אם התוסף יכול להוריד קבצים. use_downloads: yes
use_iframes נוספה גרסה 21.6 המדיניות הזו קובעת אם התוסף מורשה ליצור iframe. use_iframes: yes
use_clipboard נוספה בגרסה 21.8 המדיניות הזו קובעת אם התוסף יכול לכתוב בלוח של המערכת. מטעמי אבטחה, לתוספים אין הרשאה לקרוא מה-Clipboard של המערכת. 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.