সমস্ত ক্রোম এক্সটেনশন অবশ্যই সরাসরি Chrome ওয়েব স্টোর থেকে বা নীচে বর্ণিত প্রক্রিয়াগুলি ব্যবহার করে বিতরণ করতে হবে৷ এই বিতরণ পদ্ধতিগুলির মধ্যে একটি মেনে চলতে ব্যর্থতা Chrome এক্সটেনশন নীতির লঙ্ঘন গঠন করে এবং এর ফলে এক্সটেনশন এবং/অথবা সফ্টওয়্যার বিতরণ করা অবাঞ্ছিত সফ্টওয়্যার হিসাবে পতাকাঙ্কিত হতে পারে৷
সাধারণত, ব্যবহারকারীরা Chrome ওয়েব স্টোর থেকে এক্সটেনশন ইনস্টল করে, কিন্তু কখনও কখনও আপনি অন্য উপায়ে একটি এক্সটেনশন ইনস্টল করতে চাইতে পারেন। এখানে দুটি সাধারণ ক্ষেত্রে রয়েছে:
- একটি এক্সটেনশন অন্য কিছু সফ্টওয়্যারের সাথে যুক্ত, এবং যখনই ব্যবহারকারী সেই অন্য সফ্টওয়্যারটি ইনস্টল করেন তখনই এক্সটেনশনটি ইনস্টল করা উচিত৷
- একজন নেটওয়ার্ক অ্যাডমিন তাদের প্রতিষ্ঠান জুড়ে একই এক্সটেনশন ইনস্টল করতে চায়।
একটি এক্সটেনশন যা Chrome ওয়েব স্টোর থেকে ইনস্টল করা হয় না তাকে একটি বাহ্যিক এক্সটেনশন বলা হয়। বিকাশকারীরা যারা অন্যান্য সফ্টওয়্যারের জন্য ইনস্টলেশন প্রক্রিয়ার অংশ হিসাবে একটি এক্সটেনশন বিতরণ করতে চান বা নেটওয়ার্ক প্রশাসকদের জন্য যারা তাদের প্রতিষ্ঠান জুড়ে একটি এক্সটেনশন বিতরণ করতে চান, Google Chrome নিম্নলিখিত এক্সটেনশন ইনস্টলেশন পদ্ধতিগুলিকে সমর্থন করে:
- একটি পছন্দ JSON ফাইল ব্যবহার করা (শুধুমাত্র Mac OS X এবং Linux এর জন্য)
- উইন্ডোজ রেজিস্ট্রি ব্যবহার করে (শুধুমাত্র উইন্ডোজের জন্য)
উভয় উপায়েই update_URL
এ হোস্ট করা একটি এক্সটেনশন ইনস্টল করা সমর্থন করে। Windows এবং Mac-এ, update_URL
অবশ্যই Chrome ওয়েব স্টোরের দিকে নির্দেশ করবে যেখানে এক্সটেনশনটি অবশ্যই হোস্ট করা উচিত।
লিনাক্সের পছন্দের ফাইলটি আপনার নিজের সার্ভারের দিকে নির্দেশ করতে পারে যেখানে আপনি এক্সটেনশনটি হোস্ট করছেন । পছন্দ JSON ফাইল ব্যবহারকারীর লিনাক্স কম্পিউটারে একটি .crx
এক্সটেনশন ফাইল থেকে একটি এক্সটেনশন ইনস্টল করা সমর্থন করে।
আপনি শুরু করার আগে
প্রথমে, Chrome ওয়েব স্টোরে এক্সটেনশনটি প্রকাশ করুন , অথবা একটি .crx
ফাইল প্যাকেজ করুন এবং নিশ্চিত করুন যে এটি সফলভাবে ইনস্টল হয়েছে৷
যদি একটি আপডেট URL থেকে ইনস্টল করা হয়, নিশ্চিত করুন যে এক্সটেনশনটি সঠিকভাবে হোস্ট করা হয়েছে৷
আপনি পছন্দ ফাইল বা রেজিস্ট্রি সম্পাদনা করার আগে, নিম্নলিখিত একটি নোট করুন:
- এক্সটেনশনের
.crx
ফাইলের উদ্দিষ্ট অবস্থান , বা আপডেট URL যেখান থেকে এটি পরিবেশন করা হয় - এক্সটেনশনের সংস্করণ (মেনিফেস্ট ফাইল বা chrome://extensions পৃষ্ঠা থেকে)
- এক্সটেনশনের আইডি (আপনি প্যাক করা এক্সটেনশনটি লোড করার সময় chrome://extensions পৃষ্ঠা থেকে)
নিম্নলিখিত উদাহরণগুলি অনুমান করে যে সংস্করণটি 1.0
এবং ID হল aaaaaaaaaabbbbbbbbbbcccccccccc
।
একটি পছন্দ ফাইল ব্যবহার করে
- আপনি যদি লিনাক্সে কোনো ফাইল থেকে ইন্সটল করে থাকেন, তাহলে
.crx
এক্সটেনশন ফাইলটি যে মেশিনে আপনি এক্সটেনশনটি ইনস্টল করতে চান সেই মেশিনে উপলব্ধ করুন৷ (এটি একটি স্থানীয় ডিরেক্টরিতে বা একটি নেটওয়ার্ক শেয়ারে অনুলিপি করুন উদাহরণস্বরূপ,\\server\share\extension.crx
বা/home/share/extension.crx
।) নীচে তালিকাভুক্ত ফোল্ডারগুলির মধ্যে একটিতে নিম্নলিখিত নামের একটি ফাইল তৈরি করুন:
aaaaaaaaaabbbbbbbbbbcccccccccc.json
যেখানে ফাইলের নাম (এক্সটেনশন ছাড়া) আপনার এক্সটেনশনের আইডির সাথে মিলে যায়৷ অবস্থান অপারেটিং সিস্টেমের উপর নির্ভর করে।- ম্যাক ওএস এক্স:
একটি নির্দিষ্ট ব্যবহারকারীর জন্য:
~USERNAME/Library/Application Support/Google/Chrome/External Extensions/
সকল ব্যবহারকারীর জন্য:/Library/Application Support/Google/Chrome/External Extensions/
সমস্ত ব্যবহারকারীর জন্য বাহ্যিক এক্সটেনশন ফাইল শুধুমাত্র তখনই পঠিত হয় যখন পাথের প্রতিটি ডিরেক্টরি ব্যবহারকারীর
root
মালিকানাধীন হয়, গ্রুপadmin
বাwheel
থাকে এবং বিশ্বে লেখার যোগ্য না হয়। পথটি অবশ্যই প্রতীকী সংযোগ মুক্ত হতে হবে। এই বিধিনিষেধগুলি সমস্ত ব্যবহারকারীর জন্য এক্সটেনশন ইনস্টল করা থেকে একজন সুবিধাবিহীন ব্যবহারকারীকে বাধা দেয়। বিস্তারিত জানার জন্য সমস্যা সমাধান দেখুন।- লিনাক্স:
/opt/google/chrome/extensions/
/usr/share/google-chrome/extensions/
দ্রষ্টব্য:
aaaaaaaaaabbbbbbbbbbcccccccccc.json
ফাইলগুলি বিশ্ব-পঠনযোগ্য কিনা তা নিশ্চিত করতে প্রয়োজনেchmod
ব্যবহার করুন৷
শুধুমাত্র লিনাক্স: আপনি যদি কোনো ফাইল থেকে ইন্সটল করেন, তাহলে উপরে তৈরি করা ফাইলে "external_crx" এবং "external_version" নামের ফিল্ড সহ এক্সটেনশনের অবস্থান এবং সংস্করণ উল্লেখ করুন।
- উদাহরণ:
-
json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
- দ্রষ্টব্য: আপনাকে
\` character in the location. For example,
\server\share\extension.crxwould be
"\\server\share\extension.crx"`। - আপনি যদি একটি আপডেট URL থেকে ইনস্টল করেন, তাহলে "external_update_url" ফিল্ড নামের সাথে এক্সটেনশনের আপডেট URL উল্লেখ করুন।
- স্থানীয় .crx ফাইল থেকে ইনস্টলেশনের উদাহরণ (শুধুমাত্র লিনাক্স):
-
json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
- ক্রোম ওয়েবস্টোর (ম্যাক এবং লিনাক্স) থেকে ইনস্টলেশনের উদাহরণ:
-
json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
- আপনি যদি শুধুমাত্র কিছু ব্রাউজার লোকেলের জন্য এক্সটেনশন ইনস্টল করতে চান, তাহলে আপনি "সমর্থিত_লোকেল" ক্ষেত্রের নামে সমর্থিত লোকেল তালিকা করতে পারেন। লোকেল প্যারেন্ট লোকেল যেমন "en" নির্দিষ্ট করতে পারে, এই ক্ষেত্রে এক্সটেনশনটি "en-US", "en-GB" ইত্যাদির মতো সমস্ত ইংরেজি লোকেলের জন্য ইনস্টল করা হবে৷ যদি অন্য একটি ব্রাউজার লোকেল নির্বাচন করা হয় যা এক্সটেনশন দ্বারা সমর্থিত নয়৷ , বাহ্যিক এক্সটেনশন আনইনস্টল করা হবে। যদি "সমর্থিত_লোকেলস" তালিকা অনুপস্থিত থাকে, তবে এক্সটেনশনটি যেকোনো লোকেলের জন্য ইনস্টল করা হবে।
- উদাহরণ:
-
json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
JSON ফাইলটি সংরক্ষণ করুন।
Google Chrome চালু করুন এবং chrome://extensions এ যান; আপনি তালিকাভুক্ত এক্সটেনশন দেখতে হবে.
ম্যাক ওএস অনুমতি সমস্যা সমাধান করা
Mac OS-এ, সমস্ত ব্যবহারকারীর জন্য বাহ্যিক এক্সটেনশন ফাইলগুলি শুধুমাত্র তখনই পড়া হয় যখন ফাইল সিস্টেমের অনুমতিগুলি সুবিধাবঞ্চিত ব্যবহারকারীদের এটি পরিবর্তন করতে বাধা দেয়। ক্রোম চালু হওয়ার সময় আপনি যদি বাহ্যিক এক্সটেনশনগুলি ইনস্টল করা দেখতে না পান, তাহলে বহিরাগত এক্সটেনশন পছন্দ ফাইলগুলির সাথে একটি অনুমতি সমস্যা হতে পারে৷ এটি সমস্যা কিনা তা দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- কনসোল প্রোগ্রাম চালু করুন। আপনি এটিকে /Applications/Utilities/Console-এর অধীনে খুঁজে পেতে পারেন।
- কনসোলের বামদিকের আইকনটি যদি বলে "লগ তালিকা দেখান", সেই আইকনে ক্লিক করুন৷ একটি দ্বিতীয় কলাম বাম দিকে প্রদর্শিত হবে.
- বাম ফলকে "কনসোল বার্তা" ক্লিক করুন।
- স্ট্রিং জন্য অনুসন্ধান বাহ্যিক এক্সটেনশন পড়তে পারে না . বাহ্যিক এক্সটেনশন ফাইলগুলি পড়তে সমস্যা হলে, আপনি একটি ত্রুটি বার্তা দেখতে পাবেন। এটির উপরে সরাসরি অন্য ত্রুটি বার্তাটি দেখুন, যা সমস্যাটি ব্যাখ্যা করবে। উদাহরণস্বরূপ, আপনি যদি নিম্নলিখিত ত্রুটিটি দেখতে পান: "পাথ /লাইব্রেরি/অ্যাপ্লিকেশন সমর্থন/গুগল/ক্রোম ভুল গোষ্ঠীর মালিকানাধীন", আপনাকে
chgrp
বা ফাইন্ডারের Get Info ডায়ালগ ব্যবহার করতে হবে যাতে ডিরেক্টরির গোষ্ঠীর মালিককে অ্যাডমিনিস্ট্রেটর গ্রুপে পরিবর্তন করতে হবে . - সমস্যার সমাধান করার পর, Chrome আবার লঞ্চ করুন। পরীক্ষা করুন যে বাহ্যিক এক্সটেনশন এখন ইনস্টল করা আছে। এটি সম্ভব যে একটি অনুমতি ত্রুটি ক্রোমকে দ্বিতীয় ত্রুটি সনাক্ত করতে বাধা দেয়৷ যদি বাহ্যিক এক্সটেনশন ইনস্টল করা না থাকে, তাহলে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন যতক্ষণ না আপনি কনসোল অ্যাপ্লিকেশনটিতে একটি ত্রুটি দেখতে পাচ্ছেন না।
উইন্ডোজ রেজিস্ট্রি ব্যবহার করে
- রেজিস্ট্রিতে নিম্নলিখিত কীটি খুঁজুন বা তৈরি করুন:
- 32-বিট উইন্ডোজ:
HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
- 64-বিট উইন্ডোজ:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
- 32-বিট উইন্ডোজ:
- আপনার এক্সটেনশনের আইডির মতো একই নামে এক্সটেনশন কী-এর অধীনে একটি নতুন কী (ফোল্ডার) তৈরি করুন (উদাহরণস্বরূপ,
aaaaaaaaaabbbbbbbbbbcccccccccc
)। আপনার এক্সটেনশন কী-তে, একটি প্রপার্টি তৈরি করুন, "update_url", এবং এটিকে মানতে সেট করুন: "https://clients2.google.com/service/update2/crx" (এটি Chrome ওয়েব স্টোরে আপনার এক্সটেনশনের crx নির্দেশ করে) :
{ "update_url": "https://clients2.google.com/service/update2/crx" }
ব্রাউজারটি চালু করুন এবং chrome://extensions এ যান; আপনি তালিকাভুক্ত এক্সটেনশন দেখতে হবে.
আপডেট এবং আনইনস্টল করা হচ্ছে
Google Chrome প্রতিবার ব্রাউজার শুরু করার সময় পছন্দ এবং রেজিস্ট্রিতে মেটাডেটা এন্ট্রিগুলি স্ক্যান করে এবং ইনস্টল করা বাহ্যিক এক্সটেনশনগুলিতে প্রয়োজনীয় পরিবর্তন করে৷
একটি নতুন সংস্করণে আপনার এক্সটেনশন আপডেট করতে, ফাইলটি আপডেট করুন এবং তারপর পছন্দ বা রেজিস্ট্রিতে সংস্করণটি আপডেট করুন৷
আপনার এক্সটেনশন আনইনস্টল করতে (উদাহরণস্বরূপ, যদি আপনার সফ্টওয়্যার আনইনস্টল করা থাকে), আপনার পছন্দের ফাইল (aaaaaaaabbbbbbbbcccccccccc.json) বা রেজিস্ট্রি থেকে মেটাডেটা সরিয়ে দিন।
FAQ
এই বিভাগটি বাহ্যিক এক্সটেনশন সম্পর্কে সাধারণ প্রশ্নের উত্তর দেয়।
একটি "প্রি-ইনস্টল" অনুমতি দেওয়ার পদ্ধতি কি এখনও M33 থেকে Google Chrome দ্বারা সমর্থিত হবে?
হ্যাঁ, কিন্তু শুধুমাত্র একটি Chrome ওয়েব স্টোর update_URL
থেকে একটি ইনস্টল হিসাবে, একটি স্থানীয় ফাইল পাথ থেকে নয়৷
আমি কি বাহ্যিক এক্সটেনশনের পথ হিসাবে একটি URL নির্দিষ্ট করতে পারি?
হ্যাঁ, ম্যাক ওএস এক্স এবং লিনাক্সের জন্য পছন্দ JSON ফাইল ব্যবহার করুন; উইন্ডোজের জন্য রেজিস্ট্রি । এক্সটেনশনটি হোস্টিং এর ব্যাখ্যা অনুযায়ী হোস্ট করা আবশ্যক। পছন্দের ফাইলে, আপনার এক্সটেনশনের URL আছে এমন একটি আপডেট ম্যানিফেস্টের দিকে নির্দেশ করতে "external_update_url" বৈশিষ্ট্যটি ব্যবহার করুন৷ উইন্ডোজ রেজিস্ট্রিতে, "update_url" প্রপার্টি ব্যবহার করুন।
পছন্দ ফাইলের সাথে ইনস্টল করার সময় কিছু সাধারণ ভুল কি কি?
-
.crx
এ তালিকাভুক্ত আইডি/সংস্করণের মতো একই আইডি উল্লেখ না করা - .json ফাইলটি (
aaaaaaaaaabbbbbbbbbbcccccccccc.json
) ভুল অবস্থানে রয়েছে বা নির্দিষ্ট করা আইডি এক্সটেনশন আইডির সাথে মেলে না৷ - JSON ফাইলে সিনট্যাক্স ত্রুটি (কমা দিয়ে এন্ট্রি আলাদা করতে ভুলে যাওয়া বা কোথাও ট্রেলিং কমা রেখে যাওয়া)
- JSON ফাইল এন্ট্রি
.crx
এর ভুল পথের দিকে নির্দেশ করে (বা পাথ নির্দিষ্ট করা হয়েছে কিন্তু কোনো ফাইলের নাম নেই) - UNC পাথে ব্যাকস্ল্যাশগুলি এড়িয়ে যায় না (উদাহরণস্বরূপ,
"\\server\share\file"
ভুল; এটি হওয়া উচিত"\\\\server\\share\\extension"
) - একটি নেটওয়ার্ক শেয়ারে অনুমতি সমস্যা
রেজিস্ট্রি ইনস্টল করার সময় কিছু সাধারণ ভুল কি কি?
- Chrome ওয়েব স্টোরে তালিকাভুক্ত আইডি/সংস্করণের মতো একই আইডি নির্দিষ্ট করা হচ্ছে না
- রেজিস্ট্রিতে ভুল অবস্থানে কী তৈরি করা হয়েছে
- রেজিস্ট্রি এন্ট্রি Chrome ওয়েব স্টোরে
.crx
ফাইলের ভুল পথ নির্দেশ করে৷ - একটি নেটওয়ার্ক শেয়ারে অনুমতি সমস্যা
আমি কিভাবে আমার নেটিভ বাইনারি এবং এক্সটেনশন ইন-স্টেপ আপডেট করব?
পূর্বে যখন অফ-স্টোর এক্সটেনশনগুলি সমর্থিত ছিল, তখন নেটিভ বাইনারি এবং এক্সটেনশন লক ধাপে আপডেট করা সম্ভব ছিল। যাইহোক, ক্রোম ওয়েব স্টোরে হোস্ট করা এক্সটেনশনগুলি Chrome আপডেট পদ্ধতির মাধ্যমে আপডেট করা হয় যা বিকাশকারীরা নিয়ন্ত্রণ করে না। এক্সটেনশন ডেভেলপারদের এমন এক্সটেনশনগুলি আপডেট করার বিষয়ে সতর্ক হওয়া উচিত যেগুলির নেটিভ বাইনারির উপর নির্ভরশীলতা রয়েছে (উদাহরণস্বরূপ, NPAPI ব্যবহার করে লিগ্যাসি এক্সটেনশনগুলি)৷
যদি ব্যবহারকারী এক্সটেনশন আনইনস্টল করে?
ব্যবহারকারী UI এর মাধ্যমে এক্সটেনশন আনইনস্টল করলে, এটি আর প্রতিটি স্টার্টআপে ইনস্টল বা আপডেট করা হবে না। অন্য কথায়, বাহ্যিক এক্সটেনশন ব্লকলিস্ট করা হয়েছে।
আমি কিভাবে ব্লকলিস্ট বন্ধ পেতে পারি?
ব্যবহারকারী আপনার এক্সটেনশন আনইনস্টল করলে, আপনার সেই সিদ্ধান্তকে সম্মান করা উচিত। যাইহোক, যদি আপনি (ডেভেলপার) ভুলবশত আপনার এক্সটেনশনটি UI এর মাধ্যমে আনইনস্টল করে থাকেন, তাহলে আপনি UI এর মাধ্যমে সাধারণভাবে এক্সটেনশনটি ইনস্টল করে এবং তারপর এটি আনইনস্টল করে ব্লকলিস্ট ট্যাগটি সরাতে পারেন।