יצירת תיעוד למשתמשים עבור התוסף

לכל תוסף חייב להיות תיעוד שמסביר למשתמשים מה התוסף עושה ואיך להשתמש בו.

התיעוד המינימלי הנדרש הוא קבוצה של שלושה קובצי Markdown:

  • PREINSTALL.md
  • POSTINSTALL.md
  • CHANGELOG.md

בנוסף, כדאי לשקול ליצור:

  • קובץ README למאגר הציבורי של התוסף.
  • מדריכים, חומרי עזר וסרטוני הדרכה ארוכים יותר שפורסמו באתר שלכם ונוסף אליהם קישור בPREINSTALL.md.

כדי ללמוד כמה שיטות מומלצות, ניסוחים נפוצים ומבנים, מומלץ לעיין בקבצים שזמינים עם התוספים הרשמיים של Firebase.

יצירת קובץ README

ספריית התוספים יכולה להכיל קובץ README. שימו לב שהפקודה firebase ext:dev:init לא יוצרת אותו בשבילכם באופן אוטומטי.

עם זאת, ה-CLI של Firebase תומך בפקודת הנוחות הבאה כדי ליצור באופן אוטומטי קובץ README שמכיל תוכן שנשלף מהקובץ extension.yaml ומהקובץ PREINSTALL.md:

firebase ext:info ./path/to/extension --markdown > README.md

כל קובצי ה-README של התוספים הרשמיים של Firebase נוצרים באמצעות הפקודה הזו.

הוספת פרטי התקנה

אחרי שכותבים או יוצרים קובץ README, מוסיפים לו מידע על ההתקנה. אפשר להשתמש בקטע הקוד הבא כתבנית:

---

## 🧩 Install this extension

### Console

[![Install this extension in your Firebase project](https://www.gstatic.com/mobilesdk/210513_mobilesdk/install-extension.png "Install this extension in your Firebase project")][install-link]

[install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name

### Firebase CLI

```bash
firebase ext:install publisher_id/extension_name --project=[your-project-id]
```

> Learn more about installing extensions in the Firebase Extensions documentation:
> [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console),
> [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli)

---

כתיבת קובץ PREINSTALL

הקובץ PREINSTALL הוא הסקירה הכללית של התוסף, סוג של דף "שיווקי".

איזה תוכן יש בקובץ הזה?

  • תיאור מקיף של הפונקציונליות של התוסף
  • רשימה של דרישות מוקדמות, כמו הגדרת מסד נתונים או גישה לשירות שאינו של Google (דוגמה)
  • תיאור קצר של משימות שצריך לבצע לפני ההתקנה והוראות לביצוע שלהן
  • תיאור קצר של כל המשימות שצריך לבצע אחרי ההתקנה (דוגמה) (הוראות מפורטות מופיעות בקטע POSTINSTALL)
  • תיאור קצר של ההשלכות על החיוב (מתחילים עם טקסט סטנדרטי)

איפה התוכן הזה מוצג למשתמש?

תמונה של תוכן שמותקן מראש ב-<span class=‎מסוף Firebase">
התקנה מראש של תוכן במסוף Firebase

תמונה גדולה של תוכן שמותקן מראש ב-<span class=‎מסוף Firebase">

  • בדף של התוסף ב-extensions.dev.
  • מאגר קוד המקור של התוסף (בתוך ספריית התוסף)
  • כחלק מקובץ ה-README של התוסף (אם משתמשים בדגל --markdown > README.md של ה-CLI של Firebase)

לקובצי PREINSTALL אין גישה לערכי הפרמטרים של התוסף, ולכן הפניות לפרמטרים לא יוצגו עם ערכים בפועל.

מהן השיטות המומלצות?

  • אם אפשר, התוכן המלא של הקובץ PREINSTALL צריך להיות באורך של פחות מעמוד אחד.
  • לספק את רמת הפירוט שמשתמש הקצה חייב לדעת לפני שהוא מתקין את התוסף.
  • הוספת הוראות מפורטות בקובץ POSTINSTALL או בקבצים משלימים אחרים
  • ציינו בקצרה אם אתם מספקים כלים או סקריפטים אחרים לתמיכה בתוסף.

כתיבת קובץ POSTINSTALL

הקובץ POSTINSTALL הוא דף ההוראות המפורט של התוסף לאחר ההתקנה.

איזה תוכן יש בקובץ הזה?

  • הוראות מפורטות לכל משימה שנדרשת אחרי ההתקנה, כמו הגדרת כללי אבטחה של Firebase או הוספת קוד בצד הלקוח (דוגמה)
  • הוראות כלליות איך לנסות מיד את התוסף המותקן (לדוגמה, "עוברים למסוף ואז עושים את זה")
  • מידע בסיסי על אופן ההפעלה של התוסף, במיוחד לגבי תוספים שמופעלים על ידי בקשת HTTP
  • הוראות קצרות למעקב אחרי התוסף המותקן (מתחילים עם טקסט סטנדרטי)

איפה התוכן הזה מוצג למשתמש?

תמונה של תוכן לאחר ההתקנה ב-<span class=‎מסוף Firebase">
תוכן לאחר ההתקנה במסוף Firebase

תמונה גדולה של תוכן לאחר ההתקנה ב-<span class=‎מסוף Firebase">

  • במסוף Firebase אחרי שמשתמש מתקין את התוסף (בכרטיס הפרטים של התוסף המותקן)

  • מאגר קוד המקור של התוסף (בתוך ספריית התוסף)

קובצי POSTINSTALL יכולים לגשת לערכי הפרמטרים ולכמה משתנים שקשורים לפונקציות של התוסף. כשתוכן POSTINSTALL מוצג במסוף Firebase, מוצגים הערכים בפועל ולא ההפניות לפרמטרים או למשתנים. בהמשך מוסבר איך להפנות לפרמטרים ולמשתנים בקובץ POSTINSTALL.

מהן השיטות המומלצות?

  • התוכן המלא של הקובץ POSTINSTALL צריך להיות תמציתי אבל תיאורי.
  • כדאי לחלק את התוכן באמצעות כותרות כדי להפריד בין משימות או מושגים שונים.
  • כדאי לפרסם הוראות מפורטות לתהליך עבודה או למשימה ספציפיים באתר (דוגמה) או בקובצי Markdown נוספים במאגר של התוסף (דוגמה).
  • פרמטרים של קובצי עזר ומשתנים שקשורים לפונקציות, כדי שהמשתמש יראה את הערכים שהוגדרו בהקשר של ההוראות

הפניה לפרמטרים ולמשתנים

אחרי ההתקנה, במסוף Firebase מוצג התוכן של קובץ ה-POSTINSTALL של התוסף. אם אתם מפנים לפרמטרים ולמשתנים שקשורים לפונקציות (ראו את הטבלה בהמשך) בקובץ POSTINSTALL, המסוף מאכלס את ההפניות האלה בערכים בפועל של המכונה המותקנת.

כדי לגשת לערכי הפרמטרים שהוגדרו בקובץ POSTINSTALL, משתמשים בתחביר הבא: ${param:PARAMETER_NAME}

אפשר גם להפנות למשתנים הבאים שקשורים לפונקציות רק בקובץ POSTINSTALL. פלטפורמת Firebase תומכת במשתנים האלה כדי שתוכלו לספק למשתמשים הנחיות בקלות רבה יותר אחרי ההתקנה. אפשר להשתמש בהם רק בקובץ POSTINSTALL כי הערכים של המשתנים האלה זמינים רק אחרי ההתקנה.

בטבלה הזו, function-name הוא הערך של השדה name באובייקט המשאב של הפונקציה ב-extension.yaml.

הפניה למשתנה שקשור לפונקציה תיאור ערך המשתנה (ממולא באופן אוטומטי על ידי Firebase אחרי התקנת התוסף)
${function:function-name.location}
המיקום שבו הפונקציה נפרסה ערך לדוגמה:
us-central1
${function:function-name.name}
השם של הפונקציה הסופית שנפרסה, שכולל את מזהה המכונה של התוסף

פורמט כללי:
ext-extension-instance-id-function-name

ערך לדוגמה:
ext-my-awesome-extension-6m31-yourFunctionName

${function:function-name.url} (רלוונטי רק לפונקציות HTTP)
כתובת ה-URL של הפונקציה הסופית שנפרסה, שאליה קוד הלקוח יכול לשלוח בקשות HTTP.

פורמט כללי:
https://deployment-location-project-id.cloudfunctions.net/name-of-final-deployed-function

ערך לדוגמה:
https://us-central1-project-123.cloudfunctions.net/ext-my-awesome-extension-6m31-yourFunctionName

תיעוד של הפעלת תוסף

בתיעוד למשתמשים של התוסף, אתם צריכים להסביר למשתמשים איך להפעיל את התוסף. ההוראות האלה יכולות להיות מפורטות ככל שתרצו, אבל חשוב לזכור את השיטות המומלצות לכתיבת קובץ POSTINSTALL. כדי לקבל הנחיות איך לספק את ההוראות האלה, הרחיבו את הקטע שרלוונטי לתוסף שלכם.

כתיבת קובץ CHANGELOG

איזה תוכן יש בקובץ הזה?

לכל תוסף חייב להיות קובץ CHANGELOG.md שמתעד את השינויים שכלולים בכל גרסה חדשה של התוסף שאתם מפרסמים. צריך להוסיף כל גרסה מתחת לכותרת ברמה 2 (##). חוץ מזה, אפשר להשתמש בכל עיצוב Markdown שרוצים.

הדוגמה הבאה היא קטע מאחד מהתוספים הרשמיים:

## Version 0.1.3

feature - Support deletion of directories (issue #148).

## Version 0.1.2

feature - Add a new param for recursively deleting subcollections in Cloud
Firestore (issue #14).

fixed - Fixed "cold start" errors experienced when the extension runs after a
period of inactivity (issue #48).

## Version 0.1.1

Initial release of the _Delete User Data_ extension.

איפה התוכן הזה מוצג למשתמש?

  • במסוף Firebase וב-CLI, כשמשתמשים משדרגים לגרסאות חדשות של התוסף. במסוף Firebase וב-CLI מוצגים רק השינויים שייכנסו לתוקף אם המשתמש ישלים את השדרוג.
  • מאגר קוד המקור של התוסף (בתוך ספריית התוסף).