ম্যাগেন্টো আপগ্রেডের প্রাক্কলন হ'ল আপনি যে আপডেটটি আধুনিকায়ন করতে চলেছেন তার উপর প্রয়োগিত পরিবর্তনগুলি সম্পর্কে তথ্য সংগ্রহ করার প্রক্রিয়া, এই পরিবর্তনগুলি কোনও সমস্যার কারণ হতে পারে কিনা তা পরীক্ষা করে এবং তারপরে কাজ করার জন্য কত সময় প্রয়োজন তা নির্ধারণ করে।
সমস্ত পরিবর্তনগুলি আক্ষরিকভাবে অফ-কোর এবং ইন-কোরে ভাগ করা যায় ।
অফ-কোর পরিবর্তনগুলি হ'ল যা আপগ্রেডের সাথে ওভাররাইট করা হবে না। সেগুলি তৃতীয় পক্ষের এক্সটেনশান , স্থানীয় স্কোপ (অ্যাপ্লিকেশন / কোড / স্থানীয় / মাইজে) দেওয়া মূল ফাইলগুলি এবং একটি কাস্টম থিম ।
ইন-কোর পরিবর্তনগুলি সরাসরি ম্যাজেন্টো কোর ফাইলগুলিতে প্রয়োগ করা হয় (অ্যাপ / কোড / কোর), স্থানীয়করণ ফাইল (অ্যাপ / লোকেল / এন_ ইউএস), কোর টেম্পলেট এবং জাভাস্ক্রিপ্ট , বাহ্যিক গ্রন্থাগারগুলির মতো কিছু বিষয় যা তবুও কাস্টমাইজড তবুও বিবেচনায় নিতে হবে ।
অফ-কোর পরিবর্তনসমূহ
তৃতীয় পক্ষের এক্সটেনশনগুলি
আপগ্রেড চলাকালীন তৃতীয় পক্ষের এক্সটেনশনগুলি ইস্যুগুলির প্রধান উত্স। যার অর্থ আপনার আরও বেশি সময় বাড়ানোর জন্য আপনাকে সেগুলি বিশ্লেষণ করতে হবে।
প্রথমটি যাচাই করার জন্য হ'ল আপনি যদি আপগ্রেড করছেন এমন Magento এর কোনও সংস্করণে এক্সটেনশনের সরবরাহকৃত কার্যকারিতাটি এখনও প্রয়োগ করা হয়নি। উদাহরণস্বরূপ মত কিছু এক্সটেনশান Yoast_CanonicalUrl
, Mxperts_CustomerAddress
বা Fontis_Wysiwyg
ব্যাপকভাবে Magento 1.3.xx এবং বয়স্ক ব্যবহার করা হয়েছিল কিন্তু এখন কোর Magento কার্যকারিতার অংশ এবং আর প্রয়োজন নেই।
তারপরে আপনার যদি আপনার সমস্ত এক্সটেনশনগুলির সত্যই প্রয়োজন হয় কিনা তা পরীক্ষা করা (আপনার গ্রাহককে জিজ্ঞাসা করা) ভাল ধারণা। এমন কিছু এক্সটেনশন থাকতে পারে যা আপনি ইনস্টল করেছেন তবে বাস্তবে কখনও ব্যবহার করেন নি। সুতরাং এই মুহুর্তে এক ধরণের ক্লিনআপ করা ভাল।
তারপরে একটি গুরুত্বপূর্ণ জিনিস যাচাই করার জন্য আপনার আপগ্রেড করা Magento এর একটি সংস্করণ সহ বাকি প্রতিটি এক্সটেনশনের সামঞ্জস্যতা। যদি কিছু এক্সটেনশান সামঞ্জস্যপূর্ণ না হয় এবং কোনও অনুরূপ এক্সটেনশান উপলব্ধ না হয় তবে সামঞ্জস্যপূর্ণ হওয়ার জন্য আপনার কিছু কার্যকারিতা হারাতে বা বিদ্যমান এক্সটেনশানগুলি সংশোধন করার কঠোর পছন্দ করতে হবে।
দ্রষ্টব্য: তৃতীয় পক্ষের এক্সটেনশানটি সরাসরি সংশোধন করবেন না তবে একটি নতুন এক্সটেনশান তৈরি করুন যা পুরানোটির প্রসারিত করবে এবং তারপরে নতুন এক্সটেনশনের বুটস্ট্র্যাপ এক্সএমএলে নির্ভরতা নির্ধারণ করবে।
সমস্তগুলি সম্পন্ন করার পরে বাকি প্রতিটি এক্সটেনশনের প্রকৃত বিশ্লেষণ সরবরাহ করা যেতে পারে। এটি সর্বদা etc/config.xml
ফাইল পরীক্ষা দিয়ে শুরু করা উচিত । দেখার জন্য এখানে 3 টি জিনিস রয়েছে:
- শ্রেণীর পুনর্লিখনগুলি একটি পরিষ্কার প্রযুক্তি নিজেই নয় তবে কিছু ক্ষেত্রে এর বাইরে অন্য কোনও উপায় নেই। সুতরাং যদি লিখিত ক্লাসটি ম্যাজেন্টোর নতুন সংস্করণে পরিবর্তিত হয় তবে এটি একটি সম্ভাব্য সমস্যা হতে পারে।
- লেআউট আপডেটগুলি সম্ভবত আপনার আপগ্রেডে সমস্যা তৈরি করবে তবে তবুও যদি এক্সটেনশানটি কোনও ব্লককে উল্লেখ করে যা একটি নতুন ম্যাগেন্টো সংস্করণে অবনতিযুক্ত আপনাকে এটিকে প্রায় কাজ করতে হবে।
- এসকিউএল আপডেটগুলি আপগ্রেডের সময় সমস্যার উত্সাহকে অল্প সংখ্যক উত্স। তৃতীয় পক্ষের এক্সটেনশানটি ডিফল্ট ম্যাজেন্টো টেবিলের কোনও ক্ষেত্রে রেফারেন্সিংয়ের জন্য একটি বিদেশী কী তৈরি করা হয় যখন সমস্যাটি ঘটে। ফলস্বরূপ এই ক্ষেত্রটি পরিবর্তনগুলি থেকে লক করা আছে। এবং তারপরে যদি নেটিভ ইনস্টল স্ক্রিপ্ট এই ক্ষেত্রটি আপডেট করার চেষ্টা করে তবে এটি নিঃশব্দে ব্যর্থ হবে। তারপরে এই ক্ষেত্রে উল্লেখ করে প্রতিটি পরবর্তী ইনস্টল স্ক্রিপ্ট আপনার আপগ্রেডকে ক্রাশ করবে।
অ্যাপ্লিকেশন / কোড / স্থানীয় / পুরোনো যাদুকর
আপনি আপনার এক্সটেনশানগুলি শেষ করার পরে আপনার app/code/local/Mage
ডিরেক্টরিটি একবার দেখুন । এখানে আপনি পরিবর্তিত মূল ফাইলগুলি একটি local
স্কোপে স্থানান্তরিত করতে পারবেন । তাদের প্রত্যেকের অবশ্যই কিছু ধূসর চুলের দাম পড়বে কারণ আপনি কখনই জানেন না (যদি এটি সেখানে না রাখেন তবে) সেখানে কী কী পরিবর্তন হয়েছিল এবং কী কারণে। সুতরাং আপনাকে তাদের প্রত্যেককে একটি উত্সের সাথে তুলনা করতে হবে এবং নতুন সংস্করণের সংবাদদাতাদের ফাইলের সাথে যুক্ত কার্যকারিতাটি স্থানান্তর করতে হবে।
কাস্টম থিম
শেষ গুচ্ছ অফ-কোর পরিবর্তনটি কাস্টম থিম। এটি কোনও বড় ব্যাপার নয় বলে মনে হতে পারে তবে বাস্তবে এটি ধূসর অঞ্চল। ম্যাজেন্টো বেস থিমটি সংস্করণ থেকে সংস্করণে পরিবর্তন করা হচ্ছে এবং প্রতিটি কাস্টম থিমকে সেগুলির কয়েকটি পরিবর্তন করতে হবে। দুর্ভাগ্যক্রমে কোনও সিলভার বুলেট নেই যা নির্ধারণ করতে হবে এবং কী স্থানান্তরিত করতে হবে তা নির্ধারণ করতে। সুতরাং আপনার আপগ্রেডের পরে কিছু বড় চমক এবং ছোট্ট নাইটপিকিংয়ের জন্য প্রস্তুত থাকুন।
ইন-কোর পরিবর্তনসমূহ
নিখুঁত বিশ্বে কেউ নেই। তৃতীয় পক্ষের বিকাশকারীদের দ্বারা আপত্তিজনক ব্যবহার করার পরে আপনি যখন কোনও ম্যাজেন্টো ইনস্টলেশন পেয়েছেন, যারা সস্তার জন্য অনেক বেশি অফার করছেন আপনি কোনও কিছুর প্রত্যাশা করতে পারেন। সুতরাং মূল পরিবর্তনগুলি হ'ল যা আপগ্রেড প্রক্রিয়া চলাকালীন ওভাররাইট করা হবে । বেশিরভাগ ক্ষেত্রে এটি কোনও ত্রুটি তৈরি করে না তবে ফলস্বরূপ আপনি ক্রিয়াকলাপটি হারাবেন যা এই ধরনের নৃশংসভাবে যুক্ত হয়েছিল।
ইন-কোর পরিবর্তনগুলি সনাক্ত করার একমাত্র উপায় হ'ল আপনার ম্যাজেন্টো ইনস্টলেশনের সমস্ত ফাইল একই সংস্করণের পরিষ্কার ফাইলগুলির সাথে তুলনা করা। আমি গিট দিয়ে এটি করার পরামর্শ দিচ্ছি। কেন? কেবল কারণ এটি সমস্ত নিউলাইন এবং সাদা স্থানগুলিকে সুন্দরভাবে পরিচালনা করবে।
এমনকি যদি আপনার ম্যাজেন্টো ইনস্টলেশন গিটের অধীনে না থাকে তবে আপনি নিজের ফাইলগুলি আলাদা ডিরেক্টরিতে অনুলিপি করতে পারেন এবং তারপরে গিট ইনিশ চালাতে পারেন। তারপরে প্রাথমিক প্রতিশ্রুতিবদ্ধ করুন, "পরিষ্কার" ম্যাগেন্টো ফাইলগুলি অনুলিপি করুন এবং রান করুন git status
। আপনি এরকম কিছু পাবেন:
এখন git diff
প্রতিটি সংশোধিত ফাইলের সংখ্যার উপর নির্ভর করে আপনি একবারে প্রতিটি ফাইল বা পুরো ব্যাচে চালাতে পারেন । এটি আপনাকে সমস্ত অভ্যন্তরীণ মূল পরিবর্তনগুলির একটি বিস্তৃত রেফারেন্স দেবে। আপনার যদি পিএইচপিস্টোরমের মতো গিট ভিজুয়ালাইজেশন থাকে তবে জীবন আপনার পক্ষে অনেক সহজ easier
আমি এটি করার পরামর্শ দিচ্ছি আপনার কাছে git diff > changes.txt
সর্বদা হাতের পরিবর্তনের একটি তালিকা থাকবে।
মূল পরিবর্তনগুলির তালিকা থাকাতে আপনি অনুমান করতে পারবেন কী নতুন সংস্করণে স্থানান্তর করতে হবে এবং এটি করতে কত সময় প্রয়োজন হবে।
এখন আমি প্রকৃত আপগ্রেডের জন্য কিছু পরামর্শ দিতে চাই। এই প্রক্রিয়াটি ভালভাবে নথিভুক্ত হয়েছে তাই কোন আদেশটি চালাতে হবে এবং কোথায় ক্লিক করতে হবে তা আমি লিখব না। তবে আমি বেশ কয়েকটি গুরুত্বপূর্ণ বিষয়ে একটি উচ্চারণ করতে চাই:
- আমরা ধরে নিচ্ছি যে আপনি আপনার উন্নয়নের পরিবেশে আপগ্রেড করছেন। আপনার প্রোডাকশন সার্ভারে আপগ্রেড চালানো আত্মহত্যা।
- আপনি আপগ্রেড করার সময় তাদের উত্পাদনে কিছু পরিবর্তন করতে দেবেন না। আপনার ম্যাজেন্টোটিকে সংস্করণ নিয়ন্ত্রণের অধীনে রাখুন বা এমনকি লেখার থেকে অস্থায়ী লক ফাইলগুলিও রাখুন।
- সমস্ত তৃতীয় পক্ষের এক্সটেনশন অক্ষম করুন তবে নোট করুন কোনটি প্রাথমিকভাবে অক্ষম ছিল যাতে আপনি পরে সেগুলি সক্ষম করবেন না।
- সার্ভারে কোনও ম্যাজেন্টো ক্লিনআপ স্ক্রিপ্ট চলছে কিনা তা পরীক্ষা করুন। অন্যথায় দিয়ে শুরু হওয়া সকল টেবিল অগ্রভাগ ছাঁটিয়া
dataflow_*
, log_*
, report_*
।
- আপগ্রেড সময় ডিফল্ট থিম ফিরে।
আপগ্রেড স্ক্রিপ্ট সমাপ্ত হওয়ার পরে:
changes.txt
আপনার অভ্যন্তরীণ মূল পরিবর্তনগুলি যা মাইগ্রেশন করার জন্য সত্যই যোগ্য স্থানান্তরিত করার আগে তৈরি করেছিলেন তা উল্লেখ করে।
app/code/local/Mage
আপগ্রেড করার আগে মাইগ্রেট পরিবর্তনগুলি পাওয়া গেছে।
- একের পর এক তৃতীয় পক্ষের এক্সটেনশন সক্ষম করুন।
- আপনার থিমটি পিছনে রাখুন এবং উত্পাদন সার্ভারের সাথে ফলাফলের ব্যাপকভাবে তুলনা করুন।
- আপনি ফলাফলের সাথে খুশি হলে একবার প্রোডাক্টে নিযুক্ত করুন।
উপসংহার
আমি এই সমস্ত ভয়ঙ্কর শোনার জন্য জানি তবে আপনি যদি নিয়মিতভাবে আপগ্রেড করে থাকেন তবে আপনার মূল পরিষ্কার রাখছেন এবং কেবলমাত্র সত্যিকার অর্থে আপনার নির্ভরযোগ্য বিক্রেতাদের কাছ থেকে এক্সটেনশানগুলি ইনস্টল করা হচ্ছে এবং কেবল যদি আপনার সত্যই তাদের প্রয়োজন হয় তবে আপনি এই নিবন্ধে বর্ণিত বেশিরভাগ সমস্যার মুখোমুখি হবেন না। আপনার ম্যাজেন্টো ইকোসিস্টেম সুস্থ রাখুন এবং আপনাকে পুরস্কৃত করা হবে।
পোস্ট স্ক্রিপ্টাম
খুব জটিল ক্ষেত্রে সর্বশেষ ম্যাজেন্টোর একটি নতুন ইনস্টল করে আপনার স্টোর থিম এবং কার্যকারিতা ধাপে ধাপে স্থানান্তরিত করার অর্থটি বোধ করা যায়। এটি অবশ্যই সময় নিবে তবে শেষ পর্যন্ত আপনার কাছে একটি স্বাস্থ্যকর ম্যাজেন্টো ব্যবস্থা থাকবে যা চলছে আপনার সম্পূর্ণ সচেতনতার সাথে।