আপনার এক্সটেনশনের জন্য ব্যবহারকারীর ডকুমেন্টেশন তৈরি করুন

প্রতিটি এক্সটেনশনের অবশ্যই ডকুমেন্টেশন থাকতে হবে যা ব্যবহারকারীদের শেখায় যে এক্সটেনশন কী করে এবং কীভাবে এটি ব্যবহার করতে হয়।

ন্যূনতম, প্রয়োজনীয়, ডকুমেন্টেশন হল তিনটি মার্কডাউন ফাইলের এই সেট:

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

উপরন্তু, আপনি উত্পাদন বিবেচনা করা উচিত:

  • এক্সটেনশনের সর্বজনীন সংগ্রহস্থলের জন্য একটি README ফাইল।
  • আপনার নিজস্ব ওয়েবসাইটে প্রকাশিত এবং আপনার PREINSTALL.md এ লিঙ্ক করা দীর্ঘ-ফর্মের টিউটোরিয়াল, গাইড এবং রেফারেন্স।

কিছু সর্বোত্তম অনুশীলন এবং সাধারণ বাক্যাংশ এবং গঠন শিখতে, আমরা অফিসিয়াল Firebase এক্সটেনশনগুলির সাথে উপলব্ধ ফাইলগুলি পর্যালোচনা করার পরামর্শ দিই৷

একটি README তৈরি করা হচ্ছে

আপনার এক্সটেনশন ডিরেক্টরিতে ঐচ্ছিকভাবে একটি README থাকতে পারে। লক্ষ্য করুন যে firebase ext:dev:init কমান্ড স্বয়ংক্রিয়ভাবে আপনার জন্য একটি তৈরি করে না।

Firebase CLI, যদিও, আপনার extension.yaml ফাইল এবং আপনার PREINSTALL.md ফাইল থেকে টানা বিষয়বস্তু সম্বলিত একটি README ফাইল স্বয়ংক্রিয়ভাবে তৈরি করতে নিম্নলিখিত সুবিধার কমান্ড সমর্থন করে:

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

অফিসিয়াল ফায়ারবেস এক্সটেনশনের জন্য সমস্ত README ফাইল এই কমান্ড ব্যবহার করে তৈরি করা হয়।

ইনস্টলেশন তথ্য যোগ করুন

আপনি একটি 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 এ যায়)
  • যেকোনো বিলিং ইমপ্লিকেশনের সংক্ষিপ্ত বিবরণ ( বয়লারপ্লেট টেক্সট দিয়ে শুরু করুন)

এই বিষয়বস্তু ব্যবহারকারীর কাছে কোথায় প্রদর্শন করে?

Firebase কনসোলে প্রি-ইনস্টল কন্টেন্টের ছবি
Firebase কনসোলে কন্টেন্ট প্রি-ইনস্টল করুন

Firebase কনসোলে প্রি-ইনস্টল কন্টেন্টের বড় ছবি

  • extensions.dev- এ এক্সটেনশনের পৃষ্ঠায়।
  • আপনার এক্সটেনশনের জন্য আপনার সোর্স কোড রেপো (এক্সটেনশন ডিরেক্টরির ভিতরে)
  • এক্সটেনশনের README এর অংশ হিসেবে (যদি আপনি Firebase CLI ব্যবহার করেন --markdown > README.md পতাকা )

PREINSTALL ফাইলগুলি এক্সটেনশনের জন্য প্যারামিটারের মানগুলি অ্যাক্সেস করতে পারে না, তাই আপনার প্রকৃত মানগুলির সাথে প্যারামিটার রেফারেন্সের আশা করা উচিত নয়৷

কিছু সেরা অভ্যাস কি কি?

  • PREINSTALL ফাইলের সম্পূর্ণ বিষয়বস্তু একটি পৃষ্ঠার নিচে রাখুন, যদি সম্ভব হয়
  • এক্সটেনশনটি ইনস্টল করার আগে একজন শেষ ব্যবহারকারীর সম্পূর্ণরূপে জানতে হবে এমন বিশদ স্তর সরবরাহ করুন৷
  • POSTINSTALL ফাইল বা অন্যান্য সম্পূরক ফাইলে বিস্তারিত নির্দেশনা দিন
  • আপনি যদি এক্সটেনশনটিকে সমর্থন করার জন্য অন্যান্য সরঞ্জাম বা স্ক্রিপ্ট সরবরাহ করেন তবে সংক্ষেপে উল্লেখ করুন৷

একটি POSTINSTALL ফাইল লেখা

POSTINSTALL ফাইল হল আপনার এক্সটেনশনের বিস্তারিত পোস্ট-ইন্সটলেশন নির্দেশমূলক পৃষ্ঠা।

এই ফাইলে কি বিষয়বস্তু আছে?

  • যেকোন প্রয়োজনীয় পোস্ট-ইন্সটলেশন কাজের জন্য বিস্তারিত নির্দেশাবলী, যেমন ফায়ারবেস নিরাপত্তা নিয়ম সেট আপ করা বা ক্লায়েন্ট-সাইড কোড যোগ করা ( উদাহরণ )
  • কীভাবে অবিলম্বে ইনস্টল করা এক্সটেনশনটি চেষ্টা করবেন তার জন্য সাধারণ নির্দেশাবলী (উদাহরণস্বরূপ, "কনসোলে যান, তারপর এটি করুন")
  • কিভাবে এক্সটেনশন ট্রিগার করতে হয় সে সম্পর্কে প্রাথমিক তথ্য, বিশেষ করে HTTP অনুরোধ-ট্রিগার করা এক্সটেনশনের জন্য
  • কীভাবে ইনস্টল করা এক্সটেনশন নিরীক্ষণ করবেন তার জন্য সংক্ষিপ্ত নির্দেশাবলী ( বয়লারপ্লেট পাঠ্য দিয়ে শুরু করুন)

এই বিষয়বস্তু ব্যবহারকারীর কাছে কোথায় প্রদর্শন করে?

Firebase কনসোলে পোস্ট-ইনস্টল কন্টেন্টের ছবি
Firebase কনসোলে পোস্ট-ইনস্টল কন্টেন্ট

Firebase কনসোলে পোস্ট-ইনস্টল কন্টেন্টের বড় ছবি

  • একজন ব্যবহারকারী আপনার এক্সটেনশন ইনস্টল করার পরে Firebase কনসোলে (ইনস্টল করা এক্সটেনশনের বিস্তারিত কার্ডে)

  • আপনার এক্সটেনশনের জন্য আপনার সোর্স কোড রেপো (এক্সটেনশন ডিরেক্টরির ভিতরে)

POSTINSTALL ফাইলগুলি এক্সটেনশনের জন্য প্যারামিটার মান এবং বেশ কয়েকটি ফাংশন-সম্পর্কিত ভেরিয়েবল অ্যাক্সেস করতে পারে। যখন ফায়ারবেস কনসোলে POSTINSTALL বিষয়বস্তু প্রদর্শিত হয়, তখন প্রকৃত মানগুলি প্যারামিটার বা পরিবর্তনশীল রেফারেন্সের পরিবর্তে প্রদর্শিত হয়। কিভাবে আপনার POSTINSTALL ফাইলে পরামিতি এবং ভেরিয়েবল উল্লেখ করতে হয় সে সম্পর্কে নীচে আরও জানুন।

কিছু সেরা অভ্যাস কি কি?

  • POSTINSTALL ফাইলের সম্পূর্ণ বিষয়বস্তু সংক্ষিপ্ত, কিন্তু বর্ণনামূলক রাখুন।
  • স্বতন্ত্র কাজ বা ধারণাগুলিকে আলাদা করতে শিরোনাম ব্যবহার করে বিষয়বস্তু বিভাগ করুন।
  • আপনার ওয়েবসাইটে ( উদাহরণ ) বা এক্সটেনশন রিপোজিটরির ( উদাহরণ ) মধ্যে সম্পূরক মার্কডাউন ফাইলগুলিতে একটি নির্দিষ্ট কর্মপ্রবাহ বা কাজের জন্য বিস্তারিত নির্দেশাবলী প্রকাশ করার কথা বিবেচনা করুন।
  • রেফারেন্স প্যারামিটার এবং ফাংশন-সম্পর্কিত ভেরিয়েবল যাতে ব্যবহারকারী নির্দেশাবলীর পরিপ্রেক্ষিতে তাদের কনফিগার করা মানগুলি দেখতে পায়

রেফারেন্সিং পরামিতি এবং ভেরিয়েবল

ইনস্টলেশনের পরে, ফায়ারবেস কনসোল এক্সটেনশনের POSTINSTALL ফাইলের বিষয়বস্তু প্রদর্শন করে। আপনি যদি আপনার POSTINSTALL ফাইলে পরামিতি এবং ফাংশন-সম্পর্কিত ভেরিয়েবলগুলি উল্লেখ করেন (নীচের টেবিল দেখুন), তাহলে কনসোল ইনস্টল করা উদাহরণের জন্য প্রকৃত মানগুলির সাথে এই রেফারেন্সগুলিকে পপুলেট করে।

নিম্নলিখিত সিনট্যাক্স ব্যবহার করে POSTINSTALL ফাইলে কনফিগার করা প্যারামিটার মানগুলি অ্যাক্সেস করুন: ${param: PARAMETER_NAME }

আপনি শুধুমাত্র আপনার POSTINSTALL ফাইলে নিম্নলিখিত ফাংশন-সম্পর্কিত ভেরিয়েবলগুলি উল্লেখ করতে পারেন। Firebase এই ভেরিয়েবলগুলিকে সমর্থন করে যাতে আপনি আরও সহজে আপনার ব্যবহারকারীদের ইনস্টলেশন-পরবর্তী নির্দেশিকা প্রদান করতে পারেন। এগুলি শুধুমাত্র POSTINSTALL ফাইলে ব্যবহারের জন্য উপলব্ধ কারণ এই ভেরিয়েবলগুলির মানগুলি ইনস্টলেশনের পরে উপলব্ধ নয়৷

এই টেবিলে, function-name হল extension.yaml এর মধ্যে ফাংশনের রিসোর্স অবজেক্টের name ক্ষেত্রের মান।

ফাংশন-সম্পর্কিত ভেরিয়েবলের জন্য রেফারেন্স বর্ণনা পরিবর্তনশীল মান (এক্সটেনশন ইনস্টলেশনের পরে 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 হেডারের নিচে রাখুন ( ## ); অন্যথায়, আপনি আপনার পছন্দ মতো মার্কডাউন ফর্ম্যাটিং ব্যবহার করতে পারেন।

নিম্নলিখিত উদাহরণটি অফিসিয়াল এক্সটেনশনগুলির একটি থেকে একটি উদ্ধৃতি:

## 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 শুধুমাত্র সেই পরিবর্তনগুলি প্রদর্শন করে যা ব্যবহারকারী আপগ্রেড সম্পূর্ণ করলে কার্যকর হবে।
  • আপনার এক্সটেনশনের সোর্স কোড রেপো (এক্সটেনশন ডিরেক্টরির ভিতরে)।