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

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

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

  • 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

অফিসিয়াল Firebase এক্সটেনশনের জন্য সকল 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 ফাইলটি হল আপনার এক্সটেনশনের ওভারভিউ, এক ধরণের "মার্কেটিং" পৃষ্ঠা।

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

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

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

<span class=""-এ প্রি-ইনস্টল কন্টেন্টের ছবি ফায়ারবেস কনসোল">
Firebase কনসোলে কন্টেন্ট আগে থেকে ইনস্টল করুন

<span class="" তে প্রি-ইনস্টল কন্টেন্টের বড় ছবি ফায়ারবেস কনসোল">

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

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

কিছু সেরা অনুশীলন কী কী?

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

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

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

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

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

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

<span class="" এ ইনস্টল-পরবর্তী কন্টেন্টের ছবি ফায়ারবেস কনসোল">
Firebase কনসোলে ইনস্টল-পরবর্তী কন্টেন্ট

<span class="" তে ইনস্টল-পরবর্তী কন্টেন্টের বড় ছবি ফায়ারবেস কনসোল">

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

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

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

কিছু সেরা অনুশীলন কী কী?

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

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

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