এই ডকুমেন্টটি এমন ডেভেলপারদের লক্ষ্য করে যারা আগে ব্লকলিকে কাঁটা দিয়েছে এবং লাইব্রেরি প্যাচ না করেই ব্লকলির সাম্প্রতিক রিলিজে আপডেট করতে চাইছে। যদিও এটি একটি কঠিন কাজ বলে মনে হচ্ছে, তবে প্রক্রিয়াটিকে আরও পরিচালনাযোগ্য করতে আপনি কিছু পদক্ষেপ নিতে পারেন।
Unforking বুঝতে
মেইনলাইন ব্লকলি ব্যবহার করার অর্থ হল আপনি ব্লকলি-এর একটি সম্প্রতি প্রকাশিত সংস্করণ ব্যবহার করছেন এবং আপনার সমস্ত কাস্টমাইজেশন মাঙ্কিপ্যাচিং ছাড়াই পাবলিক ব্লকলি API ব্যবহার করে৷ আনফোরকিং হল মেইনলাইন API-এর সাথে আপনার ফর্কের কাস্টম কার্যকারিতা বাস্তবায়নের জন্য আপনাকে যে কাজটি করতে হবে।
সাধারণ আনফোরকিং কেস
নীচে দুটি সাধারণ কারণ যা আপনি কাঁটাচামচ করে থাকতে পারেন এবং কীভাবে মূল লাইনে ফিরে যেতে হবে তার সমাধান:
- আপনি কোনো ব্লকলি কোড পরিবর্তন না করেই আপনার নিজস্ব ব্লক এবং জেনারেটর তৈরি করেছেন : এই পরিস্থিতিতে আনফোর্ক করার জন্য, আপনি কেবল আপনার কাস্টম ব্লক এবং জেনারেটরগুলিকে ব্লকলি রিপোজিটরির বাইরে এবং আপনার নিজের অ্যাপ্লিকেশনের কোডে সরাতে পারেন। তারপরে আপনি আপনার ব্লকলি সংস্করণ আপডেট করতে সক্ষম হবেন।
- আপনি Blockly নামস্থানে কাস্টম কার্যকারিতা যোগ করেছেন কোনো Blockly কোড পরিবর্তন না করেই : উদাহরণস্বরূপ, আপনি কাস্টম ক্ষেত্র বা সাহায্যকারী পদ্ধতি যোগ করেছেন যা শুধুমাত্র আপনার নিজের অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হয়। এই পরিস্থিতিতে আনফোর্ক করতে, এই কাস্টম কোডটি ব্লকলি সংগ্রহস্থলের বাইরে আপনার নিজের অ্যাপ্লিকেশনে সরান। তারপরে আপনি আপনার ব্লকলি সংস্করণ আপডেট করতে সক্ষম হবেন।
ব্যাপক Unforking কেস
ফর্কড কার্যকারিতা নির্ধারণ করুন
আমরা ব্যবহারকারীদের কাঁটাচামচ দেখতে চূড়ান্ত কারণ হল কাস্টম কার্যকারিতা তৈরি করতে ব্লকলি প্যাচ করা যা তারা উপলব্ধি করে যে সে সময়ে আপস্ট্রিম অন্তর্ভুক্ত নয়। যদি আপনার কাঁটাটি উল্লেখযোগ্যভাবে পুরানো হয়ে থাকে, তাহলে আমরা ইতিমধ্যেই আপনার প্রয়োজনীয় কার্যকারিতা যোগ করেছি, হয় প্লাগইন হিসাবে বা মূলে। আপনার কাঁটাচামচটিতে আপনি কোন বৈশিষ্ট্যগুলি যোগ করেছেন তা জানা থাকলে আপনাকে কোন বৈশিষ্ট্যগুলি আপডেট করতে হবে তার জন্য একটি রোডম্যাপ প্রদান করতে পারে৷
স্থাপত্য বুঝুন
একবার আপনি ফর্ক-নির্দিষ্ট API ব্যবহার করে এমন বৈশিষ্ট্যগুলি বুঝতে পারলে, বিবেচনা করুন:
- কাঁটাচামচ ব্যবহার করে প্রতিটি বৈশিষ্ট্যের জন্য, ব্লকলি API ব্যবহার করে প্রতিলিপি করার একটি উপায় আছে কি?
- যদি মনে হয় আপনি Blockly APIs ব্যবহার করে বৈশিষ্ট্যটি প্রতিলিপি করতে পারবেন না, অনুগ্রহ করে ফোরামের মাধ্যমে আমাদের সাথে যোগাযোগ করুন বা Github- এ একটি সমস্যা ফাইল করুন। আমাদের দল তারপর আপনার কাস্টমাইজেশন সক্ষম করতে API যোগ করার বিষয়ে তদন্ত করবে।
আপনার অবিচ্ছিন্ন পথ নির্ধারণ করুন
পরবর্তী ধাপ হল কাঁটা ব্যবহার করে বৈশিষ্ট্যগুলির জন্য নতুন ব্লকলি ভিত্তিক আর্কিটেকচার বাস্তবায়নের প্রক্রিয়া শুরু করা। আপনি নিতে পারেন দুটি প্রধান পন্থা আছে:
- ব্লকলি আপগ্রেড করুন এবং দেখুন কি বিরতি : আপনি অবিলম্বে আপনার কোডের অঞ্চলগুলি দেখতে পাবেন যেগুলি আপডেট করা দরকার৷ আপনি এটিকে ব্যবহার করতে পারেন যা আপনি ইতিমধ্যেই জানেন যে কাস্টম আচরণ আপনার বিকাশকে গাইড করতে।
- ব্লকলি থেকে আপনার বৈশিষ্ট্যগুলিকে আলাদা করতে আপনার কোড রিফ্যাক্টর করুন : এর জন্য আপনাকে আপনার কাঁটাচামচের জন্য কোন বৈশিষ্ট্যগুলি কাস্টম এবং কোনটি ব্লকলি থেকে এসেছে তা গভীরভাবে বুঝতে হবে৷ একবার আপনার কোড সম্পূর্ণরূপে আলাদা হয়ে গেলে, আপনার Blockly-এর পুরানো সংস্করণটিকে সাম্প্রতিকতম সংস্করণ দিয়ে প্রতিস্থাপন করুন, তারপর যেকোন অবশিষ্ট ইন্টিগ্রেশন সমস্যার সমাধান করুন।
অগ্রসর হচ্ছে
এখানে কয়েকটি নিয়ম রয়েছে যা আপনাকে ভবিষ্যতে ব্লকলি বিকাশকারী হিসাবে অনুসরণ করা উচিত:
- সাধারণভাবে, আপনার ব্লকলি নামস্থানে নতুন ক্লাস যোগ করা উচিত নয়। আপনি কাস্টম ক্ষেত্র বা অন্যান্য নিবন্ধনযোগ্য ক্লাসগুলিকে ব্লকলি সংগ্রহস্থলের ভিতরে বা ব্লকলি নামস্থানে ঘোষণা না করে নিবন্ধন করতে পারেন।
- আপনার নিজের অ্যাপ্লিকেশন কম্পাইল করার জন্য আপনাকে ব্লকলির বিল্ড টুলের উপর নির্ভর করা উচিত নয়। আমরা আমাদের বিল্ড টুলগুলিকে সর্বজনীন API-এর অংশ হিসাবে বিবেচনা করি না, তাই আমরা সেগুলিতে পরিবর্তন করতে পারি যা আপনার আবেদনকে ভঙ্গ করে। আপনি যদি তা করতে চান তাহলে আপনার আবেদন কম্পাইল করার জন্য আপনি দায়ী।
রিচ আউট
ব্লকলি সর্বদা ব্লকলি ফোরামের মাধ্যমে উপলব্ধ! আনফোরকিং প্রক্রিয়া চলাকালীন আপনি যদি কোনো সমস্যার সম্মুখীন হন তবে নির্দ্বিধায় সেগুলি সেখানে পোস্ট করুন এবং আমরা সাহায্য করতে পারি।