পূর্ববর্তী নিবন্ধে, আমরা শর্টকোড ম্যাপিং-এর মূল বিষয়গুলো এবং কীভাবে আপনি এর চমৎকার সুবিধাগুলো পেতে পারেন সে সম্পর্কে আলোচনা করেছি। আমরা শর্টকোড ম্যাপিংয়ের পেজ বিল্ডার স্যান্ডউইচ সংস্করণ সম্পর্কিত নিবন্ধটি আলাদা করার সিদ্ধান্ত নিয়েছি, কারণ নিচের লেখাটি কিছুটা বেশি টেকনিক্যাল হতে পারে।
নিচে আমাদের শর্টকোড ম্যাপিং ফিচারের অভ্যন্তরীণ কার্যপ্রণালী এবং এটি আমরা কীভাবে কার্যকর করেছি তার আরও বিস্তারিত বিবরণ দেওয়া হলো।
একটি স্বয়ংক্রিয় প্রক্রিয়া
শর্টকোড ম্যাপারে কোন প্লাগইনগুলো অন্তর্ভুক্ত করা হবে তা নির্ধারণ করতে, আমরা একটি স্বয়ংক্রিয় স্ক্রিপ্ট তৈরি করেছি যা নিচের মানদণ্ডের ভিত্তিতে ওয়ার্ডপ্রেস প্লাগইন ডিরেক্টরি থেকে শীর্ষস্থানীয় প্লাগইনগুলো সংগ্রহ করবে:
- ১,০০০টি জনপ্রিয়, শীর্ষ রেটপ্রাপ্ত এবং আপডেট করা প্লাগইনের মধ্যে, অন্তত ৪,০০০টি সক্রিয় ইনস্টলসহ,
- অন্তত ৪,০০০টি সক্রিয় ইনস্টলসহ,
- অন্তত ২০টি রেটিং, এবং;
- অন্তত একটি ৩-তারকা গড় রেটিং
আমরা প্রতিদিন ওয়ার্ডপ্রেস প্লাগইন ডিরেক্টরিতে এই কুয়েরিটি চালাই। এই ফিল্টারগুলো নিশ্চিত করে যে আমরা প্রচুর মানুষের ব্যবহৃত ভালো মানের প্লাগইনগুলোর একটি তালিকা পাই। এটি লেখার সময়ে, এই মানদণ্ডের ভিত্তিতে ৮০০টি প্লাগইন পাওয়া গিয়েছিল। এটি অনেক বেশি। সত্যিই অনেক বেশি।

এরপর আমরা প্রতিটি প্লাগইনের সোর্স কোডে ধারাবাহিকভাবে কিছু স্বয়ংক্রিয় পরীক্ষা চালাই যাতে কোনো শর্টকোড আছে কিনা তা খুঁজে বের করা যায়, এবং তারপর আমরা সেগুলোর সমস্ত অ্যাট্রিবিউটসহ সেই সমস্ত শর্টকোড খুঁজে বের করার চেষ্টা করি। ডেটা বিশ্লেষণ করে দেখা গেছে, এর সংখ্যা ২,০০০-এরও বেশি শর্টকোড। সত্যিই তাক লাগানো ব্যাপার। শনাক্ত করা শর্টকোডগুলো ম্যানুয়াল পরীক্ষার জন্য শর্টকোড ম্যাপিং ডেটাবেসে যুক্ত করা হয়।
এই প্রক্রিয়া শেষে, আমাদের কাছে প্লাগইনের একটি বিশাল তালিকা এবং সেগুলোর সম্ভাব্য শর্টকোড কী কী হতে পারে তা চলে আসে। সবকিছু সঠিক আছে কিনা তা নিশ্চিত করতে এখন এই ডেটাগুলো যাচাই-বাছাই ও পরিচ্ছন্ন করার বিষয়।
একটি ম্যানুয়াল প্রক্রিয়া
এটি সম্ভবত পুরো ম্যাপিং সিস্টেমের সবচেয়ে কঠিন অংশ। প্লাগইন কোড বিভিন্ন রূপ ও আকারের হয়ে থাকে, আমাদের স্ক্রিপ্ট দিয়ে সব শর্টকোড স্বয়ংক্রিয়ভাবে শনাক্ত করা যায় না। যদিও ওয়ার্ডপ্রেস কোডেক্স শর্টকোডের অ্যাট্রিবিউট ফিল্টার করতে `shortcode_atts` ফাংশন ব্যবহার করার পরামর্শ দেয়, তবে এটি কেবল একটি সুপারিশ এবং সবাই তা অনুসরণ করে না। একটি প্লাগইন ইনস্টল করার পর শর্টকোডের অভ্যন্তরীণ অংশ যাচাই করার কোনো নিশ্চিত উপায়ও নেই।
তাই আমরা যাতে সব শর্টকোড এবং সেগুলোর অ্যাট্রিবিউট সঠিকভাবে পাই তা নিশ্চিত করতে, শর্টকোড ও অ্যাট্রিবিউট সম্পাদনার জন্য একটি ডেডিকেটেড ফ্রন্ট-এন্ড এরিয়া তৈরি করেছি যা AngularJS এবং Bootstrap ব্যবহার করে তৈরি করা হয়েছে।

আমাদের ম্যানুয়ালি প্রতিটি প্লাগইন দেখতে হবে এবং সেগুলোর শর্টকোড ডকুমেন্টেশন পরীক্ষা করে নিশ্চিত করতে হবে যে আমাদের কাছে থাকা সমস্ত তথ্য সঠিক।
যদিও এটি অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ, তবুও একটি স্বয়ংক্রিয় প্রক্রিয়ার কিছু ইতিবাচক দিক রয়েছে:
- আমাদের প্রাথমিক পরিসংখ্যান অনুসারে, প্রতি ২টি প্লাগইনের মধ্যে মাত্র ১টিতে শর্টকোড থাকে।
- শনাক্ত করা শর্টকোডগুলোর অর্ধেকের কোনো অ্যাট্রিবিউট নেই (তবে এর একটি অংশ ফলস পজিটিভ হতে পারে)
- শুধুমাত্র ভালো মানের প্লাগইন নেওয়ার কারণে, সেগুলোর শর্টকোড ডকুমেন্টেশন থাকার সম্ভাবনাই বেশি
যখন একটি প্লাগইনের সমস্ত শর্টকোড পরীক্ষা করা সম্পন্ন হয়, কেবল তখনই সার্ভার সেই প্লাগইনের শর্টকোড ম্যাপিং ব্যবহারকারীদের কাছে বিতরণ করা শুরু করবে।
একটি Rest API কল
ধাঁধার শেষ অংশটি হলো প্লাগইনটি নিজেই। এখানকার ধারণাটি সহজ: কোন প্লাগইনগুলো সক্রিয় আছে, সাইটটি কোন থিম ব্যবহার করছে এবং কোন শর্টকোডগুলো উপলব্ধ আছে তা খুঁজে বের করা, তারপর শর্টকোড ম্যাপিং ডেটাবেসের কাছে জানতে চাওয়া যে সেখানে কোনো ম্যাপিং আছে কিনা। এর জন্য আমরা একটি কাস্টম WP REST API এন্ডপয়েন্ট তৈরি করেছি যাতে সমস্ত ক্লায়েন্ট তাদের সর্বশেষ শর্টকোড ম্যাপিং পাওয়ার জন্য পিং করে।
ভবিষ্যৎ: ক্রাউডসোর্সিং
ম্যানুয়ালি প্রতিটি প্লাগইন পরীক্ষা করার জন্য প্রচুর সময় এবং শ্রমের প্রয়োজন হয়। শর্টকোড ম্যাপিং প্ল্যাটফর্মটি স্থিতিশীল হয়ে গেলে, আমরা সবার জন্য শর্টকোড ম্যাপিং উন্মুক্ত করার পরিকল্পনা করছি। এর অর্থ হলো প্রত্যেকে শর্টকোড যুক্ত করতে সাহায্য করতে পারবে।
আপনি হয়তো ভাবছেন, “আমি কেন শর্টকোড ম্যাপ করতে সাহায্য করব? এতে আমার কী লাভ?” মানুষ কেন সাহায্য করতে চাইবে সে সম্পর্কে কয়েকটি বিষয় মাথায় আসে:
- আপনি যদি কোনো প্লাগইন তৈরি করে থাকেন, এবং উপরের মানদণ্ডের কারণে আমরা যদি এটি এখনও শনাক্ত না করে থাকি (এবং এটি ওয়ার্ডপ্রেস প্লাগইন ডিরেক্টরিতে থাকে), তবে আপনি নিজেই এর ম্যাপিংগুলো যোগ করতে পারেন। আপনার প্লাগইনটি পিবিএস (PBS) দ্বারা সম্পূর্ণরূপে সমর্থিত হবে!
- যেহেতু আমরা স্বয়ংক্রিয় প্রক্রিয়ায় কেবল ওয়ার্ডপ্রেস প্লাগইন ডিরেক্টরিতে থাকা প্লাগইনগুলো নিয়েই কাজ করব, তাই প্রিমিয়াম প্লাগইন ও থিম নির্মাতারা এতে অন্তর্ভুক্ত হবেন না। সুতরাং আপনার যদি এমন কিছু থাকে, তবে আপনি সেগুলোর জন্যও আপনার শর্টকোড ম্যাপিং যোগ করতে পারেন।
- আর যারা প্লাগইন নির্মাতা নন, যারা সাহায্য করবেন আমরা তাদের পুরস্কৃত করতে পারি। শর্টকোড ম্যাপিংকে একটি আকর্ষণীয় উদ্যোগ করে তুলতে, যারা আনন্দের সাথে সাহায্য করবেন তাদের আমরা একটি ব্যক্তিগত লাইসেন্স বা পিবিএস-এর প্রিমিয়াম লাইসেন্সে আপগ্রেড দিয়ে পুরস্কৃত করতে পারি!
আমাদের নিউজলেটারে সাইন আপ করুন
শর্টকোড ম্যাপিং কার্যকারিতা আমাদের গ্রাহকদের জন্য প্রাথমিকভাবে ১২ আগস্ট ১৫ আগস্ট ১৬ আগস্ট, ২০১৬ তারিখে উন্মুক্ত করা হবে। এই সময়ের মধ্যে সমস্ত শর্টকোড ম্যাপ করা সম্ভব হবে না (আমাদের অনুমান অনুযায়ী হয়তো ১০০টি প্লাগইন), তবে ম্যাপিংয়ের কাজ ক্রমাগত চলতে থাকবে এবং নতুনগুলো প্রকাশিত হওয়ার সাথে সাথেই গ্রাহকরা সেগুলো পেয়ে যাবেন।
শর্টকোড ম্যাপিং সংক্রান্ত খবর, আমরা কখন এটি প্রকাশ করব এবং কখন আমরা জনসাধারণের জন্য শর্টকোড ম্যাপিং উন্মুক্ত করব সে সম্পর্কে জানতে আমাদের নিউজলেটারে সাইন আপ করুন!