কাজের অভিজ্ঞতা
Drupal 7 থেকে Drupal 8-এ আধুনিকীকরণ
6,000-এর বেশি পাতা নিয়ে healthcare marketing platform Drupal 7 থেকে 8-এ নেওয়ার পরিকল্পনা ও কাজ। template মানিয়ে নেওয়া, visual regression অটোমেট করা আর caching দিয়ে performance-এর কাজ এর মধ্যে ছিল।
- আমার ভূমিকা
- migration-এর পরিকল্পনা, test automation ও performance
- কাজের প্রেক্ষাপট
- healthcare digital platform-এর আধুনিকীকরণ। জুলাই ২০১৯ থেকে ফেব্রুয়ারি ২০২০, 6,000-এর বেশি content আর search page নিয়ে কাজ।
- ব্যবহৃত প্রযুক্তি
- Drupal 7, Drupal 8, PHP, JavaScript, Node.js, Visual Regression
সমস্যাটা কী ছিল
হাজার হাজার content আর search page না হারিয়ে, চালু template না ভেঙে, আর সব visual তুলনা সীমাহীন হাতে করা কাজ না বানিয়ে বড় healthcare marketing platform-কে Drupal 7 থেকে 8-এ নিতে হত।
যে সীমাগুলো মাথায় ছিল
- migration চলার সময়েও 6,000-এর বেশি content আর search page চালু রাখতে হত।
- গ্রাহকের দেখা আচরণ রেখে নতুন Drupal-এর জন্য template মানাতে হত।
- প্রতিটা পাতা হাতে পরীক্ষা করার বাস্তব সীমার বাইরে visual coverage বাড়াতে হত।
- performance-এর কাজে frontend-এর ফলের পাশাপাশি caching-এর আচরণও ধরতে হত।
যেভাবে এগিয়েছি
- data migration আর Drupal 8-এর template বদলানোর ক্রমের পরিকল্পনা করেছি।
- বারবার লাগা template-এর কাজ আর content migration আলাদা রেখেছি, যাতে পরিষ্কারভাবে রিভিউ হয়।
- বড় পাবলিক অংশ নিয়মমতো তুলনা করতে sitemap ধরে visual regression workflow বানিয়েছি।
- migration গ্রহণের অংশ হিসেবে caching-এর কৌশল আর বারবার চালানো performance check রেখেছি।
আর্কিটেকচারের সিদ্ধান্ত
- অটোমেটেড visual তুলনায় কোন কোন পাতা দেখতে হবে তার তালিকা হিসেবে sitemap ব্যবহার করেছি।
- ভঙ্গুর compatibility code-এর আড়ালে platform-এর পার্থক্য না ঢেকে template বদল স্পষ্ট রেখেছি।
- caching-কে আলাদা যাচাই দরকার এমন performance-এর architectural layer ধরেছি।
যেখানে ছাড় দিতে হয়েছে
- বড় পরিসরে visual automation regression দেখিয়েছে, কিন্তু কোন তফাত অর্থপূর্ণ তা মানুষকে দেখতে হয়েছে।
- জোরালো caching-এ ডেলিভারি দ্রুত হয়েছে, কিন্তু cache কখন নতুন হবে তার আচরণ ঠিক রাখাও জরুরি হয়েছে।
কী বদল এসেছে
- নথিভুক্ত জুলাই ২০১৯ থেকে ফেব্রুয়ারি ২০২০ সময়ে 6,000-এর বেশি content আর search page migrate করা হয়েছে।
- অটোমেটেড visual regression-এ পাবলিক সাইট জুড়ে হাতে তুলনার বোঝা কমেছে।
- LinkedIn-এর প্রজেক্টের বিবরণে caching-এর কৌশলে 300% performance উন্নতির কথা লেখা আছে।
যা শিখেছি
- বড় platform migration-এ এমন তালিকা দরকার, যা দিয়ে কাজ আর যাচাই দুটোই চালানো যায়।
- performance, template, content আর test automation-কে একই আধুনিকীকরণের কাজ হিসেবে এগোতে হয়।