الانتقال من Odoo 17 إلى Odoo 18: ما الذي يتغير، وما الذي يتعطل، وكيفية الاستعداد
يُصدر Odoo إصدارًا رئيسيًا كل عام، وتجلب كل ترقية ميزات جديدة وتحسينات في الأداء وتغييرات جذرية حتمًا. يتطلب الترحيل من Odoo 17 إلى Odoo 18 تخطيطًا دقيقًا، خاصة إذا كنت تقوم بتشغيل وحدات مخصصة أو تعتمد على الوظائف الإضافية للمجتمع. يغطي هذا الدليل كل ما تحتاج إلى معرفته حول الترحيل من Odoo 17 إلى 18: التغييرات الرئيسية، والأعطال المحتملة، وخطوات الإعداد، واستراتيجيات الاختبار.
لماذا الترقية إلى Odoo 18؟
Odoo 18 يقدم تحسينات كبيرة عبر النظام الأساسي:
- مكونات OWL 3 الجديدة: إعادة كتابة مكونات الواجهة الأمامية مع تحسين الأداء وتجربة المطور
- ميزات مدعومة بالذكاء الاصطناعي: تسجيل نقاط العملاء المتوقعين، واقتراحات التسوية المصرفية الذكية، وإنشاء المحتوى بمساعدة الذكاء الاصطناعي
- تحسينات جداول البيانات: تكامل جداول البيانات الأصلية مع بيانات Odoo في الوقت الفعلي، والجداول المحورية، والتحرير التعاوني
- ترقيات التصنيع: تحسين جدولة الإنتاج، وبوابة التعاقد من الباطن، وواجهة الكمبيوتر اللوحي في أرضية المتجر
- الأداء: تحميل أسرع للصفحات بنسبة 15-25% من خلال تجميع الأصول المحسّن والتحميل البطيء
- أداة إنشاء مواقع الويب: كتل جديدة للسحب والإفلات، وخيارات تخصيص السمات، وتحرير محسّن على الأجهزة المحمولة
إن البقاء على الإصدارات القديمة يعني فقدان التصحيحات الأمنية، وفقدان الوصول إلى تحديثات وحدة المجتمع، وتراكم الديون الفنية التي تجعل عمليات الترحيل المستقبلية أكثر صعوبة.
الجدول الزمني: ما المدة التي تستغرقها عملية ترحيل Odoo؟
| التعقيد | وحدات مخصصة | الجدول الزمني المقدر | |---|---|---| | قياسي (بدون رمز مخصص) | 0 | 1-2 أسابيع | | منخفض (عدد قليل من الحقول/طرق العرض المخصصة) | 1-5 | 2-4 أسابيع | | متوسط (سير العمل المخصص) | 5-15 | 4-8 أسابيع | | عالية (تخصيصات عميقة) | 15+ | 8-16 أسبوع |
تتضمن هذه الجداول الزمنية التحليل والترحيل والاختبار والبدء المباشر. المتغير الأكبر هو تعقيد الوحدة المخصصة.
التغييرات العاجلة في Odoo 18
تغييرات إطار عمل OWL
يستمر Odoo 18 في الترحيل إلى OWL 3. إذا كانت الوحدات المخصصة الخاصة بك تشتمل على مكونات JavaScript للواجهة الأمامية، فتوقع هذه التغييرات:
** تغييرات OWL الرئيسية: **
- دورة حياة المكون: تم استبدال
willStartوwillUpdatePropsبخطافاتsetup()وonWillStart - تجميع النماذج: يتم الآن تجميع قوالب QWeb إلى جافا سكريبت المحسّن في وقت الإنشاء بدلاً من وقت التشغيل
- حقن الخدمة: الوصول إلى الخدمات من خلال نمط
this.env.servicesحصريًا؛ يتم إهمال الواردات المباشرة - حزمة الأصول: لقد تغير هيكل الحزمة
web.assets_backend؛ قم بتحديث إقرارات الأصول__manifest__.pyالخاصة بك
مثال على الهجرة:
// Odoo 17
class MyComponent extends Component {
async willStart() {
this.data = await this.rpc('/my/endpoint');
}
}
// Odoo 18
class MyComponent extends Component {
setup() {
onWillStart(async () => {
this.data = await this.env.services.rpc('/my/endpoint');
});
}
}
تغييرات الواجهة الخلفية لبايثون
** تغييرات النموذج والميدان: **
- يتطلب
fields.Monetaryالآن الإعلان عنcurrency_fieldبشكل صريح (لم تعد الإعدادات الافتراضية هيcurrency_id) - تمت إزالة مصمم الديكور
@api.multiبالكامل (تم إهماله منذ الإصدار 13، لكن بعض وحدات المجتمع لا تزال تستخدمه) - تغيير سلوك
sudo():sudo()بدون وسائط يستخدم الآن بشكل صريح المستخدم المتميز بدلاً من مستخدم OdooBOT - يقبل
search_count()الآن المعلمةlimitالاختيارية لتحسين الأداء
الطرق المهملة للتحديث:
| مهمل (الآية ١٧) | الاستبدال (آية ١٨) |
|---|---|
| fields.Many2one.search() | fields.Many2one مع السمة domain |
| _register_hook() | _post_init_hook في البيان |
| SQL المباشر في النماذج | self.env.cr.execute() مع المعلمات المناسبة |
| website.published الحقل | website.is_published (تمت إعادة تسميته) |
عرض وتغييرات القالب
- عرض النموذج: أصبح غلاف
sheetإلزاميًا لجميع طرق عرض النموذج (كان اختياريًا سابقًا) - عرض القائمة: تمت إعادة تسمية العلامة
treeرسميًا إلىlist(لا يزال الاسم المستعار المتوافق مع الإصدارات السابقة يعمل ولكنه يؤدي إلى تحذيرات الإيقاف) - عرض كانبان: أصبح QWeb
t-escهو الإعداد الافتراضي الآن؛ يتطلبt-rawالاشتراك الصريح للأمان - تقرير QWeb: تم تحديث محرك عرض PDF؛ اختبار كافة التقارير المطبوعة لتغييرات التخطيط
تغييرات مخطط قاعدة البيانات
يتضمن Odoo 18 تغييرات هيكلية على الجداول الأساسية:
sale.order.lineيكتسب حقولًا جديدة لإدارة الاشتراكاتaccount.move.lineيتضمن أعمدة جديدة متعلقة بالتسوية- تمت إعادة هيكلة جدول
stock.quantلتحسين الأداء من خلال المخزونات الكبيرة - تم تحسين جداول
mail.messageوmail.activityبفهرسات جديدة
تتم معالجة تغييرات المخطط هذه من خلال برامج الترحيل المدمجة في Odoo للوحدات القياسية، ولكن الوحدات المخصصة التي تشير إلى هذه الجداول تحتاج إلى تحديثات يدوية.
القائمة المرجعية للتحضير لما قبل الهجرة
1. قم بمراجعة التثبيت الحالي لديك
قم بتوثيق كل شيء قبل البدء:
- [ ] قائمة بجميع الوحدات المثبتة (الرسمية والمجتمعية والمخصصة)
- [ ] سجل إصدار Odoo الحالي ومستوى التصحيح
- [ ] توثيق كافة التطورات المخصصة (الحقول، النماذج، طرق العرض، التقارير، الإجراءات المجدولة)
- [ ] قائمة بجميع عمليات التكامل الخارجية (بوابات الدفع، شركات الشحن، واجهات برمجة التطبيقات التابعة لجهات خارجية)
- [ ] تصدير حقوق الوصول الحالية وتكوين قواعد السجل
- [ ] عمل نسخة احتياطية لقاعدة بيانات الإنتاج ومخزن الملفات بشكل كامل
2. تحقق من توافق وحدة المجتمع
لكل وحدة مجتمعية (OCA أو جهة خارجية):
- التحقق من وجود إصدار متوافق مع Odoo 18 على GitHub أو متجر تطبيقات Odoo
- في حالة عدم وجود إصدار متوافق، قرر ما إذا كنت تريد نقل الوحدة بنفسك أو البحث عن بديل أو إزالة الوظيفة
- اتصل بمشرفي الوحدة النمطية لـ ETA على منافذ الإصدار 18
3. إعداد منافذ الوحدة المخصصة
بالنسبة لكل وحدة مخصصة، قم بتقييم جهد الترحيل:
جهد منخفض (1-3 أيام لكل وحدة):
- وحدات تحتوي على حقول جديدة وطرق عرض بسيطة فقط
- لا توجد مكونات JavaScript/OWL
- لا يوجد تجاوزات للطرق الأساسية المتغيرة
جهد متوسط (3-10 أيام لكل وحدة):
- الوحدات التي تحتوي على مكونات OWL تتطلب تحديثات
- تجاوزات الأساليب الأساسية المهملة أو المتغيرة
- التقارير المخصصة التي تحتاج إلى تحديثات QWeb
جهد عالي (أكثر من 10 أيام لكل وحدة):
- التكامل العميق مع الوحدات الأساسية المتغيرة (المحاسبة والمخزون والموقع الإلكتروني)
- تطبيقات الواجهة الأمامية المعقدة OWL
- الوحدات التي تستخدم واجهات برمجة التطبيقات المهملة أو التي تمت إزالتها على نطاق واسع
إن العمل مع [متخصصي ترحيل Odoo] ذوي الخبرة](/services/odoo/migration) يقلل بشكل كبير من الوقت والمخاطر المرتبطة بنقل الوحدات المخصصة.
خطوات تنفيذ الترحيل
الخطوة 1: إعداد بيئة الترحيل
Production (v17) ──backup──> Test Database (v17)
│
Upgrade to v18
│
Test Database (v18)
│
Validation & UAT
│
Production (v18)
قم بإنشاء بيئة معزولة باستخدام:
- تثبيت خادم Odoo 18 جديد
- نسخة من قاعدة بيانات الإنتاج الخاصة بك
- تم نقل كافة الوحدات المخصصة إلى الإصدار 18
الخطوة الثانية: تشغيل ترقية قاعدة البيانات
بالنسبة لـ Odoo Enterprise: استخدم خدمة الترقية الرسمية من Odoo على Upgrade.odoo.com. قم بتحميل قاعدة البيانات الخاصة بك، وسيقوم Odoo SA بتشغيل البرامج النصية للترحيل لجميع الوحدات القياسية.
بالنسبة لمجتمع Odoo: استخدم مشروع openupgrade بواسطة OCA. يوفر OpenUpgrade برامج نصية للترحيل يديرها المجتمع للوحدات القياسية:
- قم بتثبيت OpenUpgrade للإصدار المستهدف
- قم بتشغيل الترحيل على قاعدة بيانات الاختبار الخاصة بك
- راجع سجل الترحيل بحثًا عن الأخطاء والتحذيرات
- قم بإصلاح أية مشكلات وأعد التشغيل حتى يتم التنظيف
الخطوة 3: منفذ الوحدات المخصصة
لكل وحدة مخصصة:
- قم بتحديث إصدار
__manifest__.pyإلى18.0.x.x.x - إصلاح كود Python (واجهات برمجة التطبيقات المهملة، وتغيير توقيعات الطريقة)
- قم بتحديث مكونات JavaScript/OWL إلى أنماط الإصدار 3
- إصلاح طرق عرض XML (شجرة إلى قائمة، غلاف الورقة، تغييرات القالب)
- قم بتشغيل مجموعة اختبار الوحدة وإصلاح حالات الفشل
- اختبره يدويًا في بيئة التدريج
الخطوة 4: التحقق من البيانات
بعد الترحيل، تحقق من سلامة البيانات:
- المحاسبة: قارن إجمالي ميزان المراجعة بين الإصدارين v17 وv18. يجب أن تتطابق تماما.
- المخزون: التحقق من كميات المخزون لعينة من المنتجات ذات القيمة العالية.
- المبيعات/الشراء: تأكيد الأوامر المفتوحة وترحيل حالاتها بشكل صحيح.
- جهات الاتصال: تأكد من سلامة سجلات العملاء والبائعين، بما في ذلك العناوين والتفاصيل المصرفية.
- المرفقات: تأكد من إمكانية الوصول إلى المستندات والصور ومرفقات الملفات.
استراتيجية الاختبار
المستوى 1: الاختبارات الآلية
قم بتشغيل مجموعة الاختبار الكاملة لكل وحدة مثبتة. إصلاح جميع حالات الفشل قبل المتابعة.
المستوى الثاني: الاختبار الوظيفي
اختبار سير عمل الأعمال الأساسية من البداية إلى النهاية:
- إنشاء عرض أسعار، تأكيده، تسليم البضائع، إنشاء فاتورة، تسجيل الدفع
- معالجة أمر الشراء من خلال الاستلام وفاتورة البائع
- تشغيل أمر التصنيع من قائمة المواد (BOM) إلى المنتج النهائي
- استكمال دورة تسوية البنك كاملة – إنشاء والتحقق من التقارير المالية الرئيسية
المستوى 3: اختبار قبول المستخدم (UAT)
اطلب من المستخدمين الفعليين من كل قسم أداء مهامهم اليومية في بيئة التدريج لمدة 5-10 أيام عمل. تتبع المشكلات في جدول بيانات مشترك أو أداة إدارة المشروع.
المستوى الرابع: اختبار الأداء
قارن أوقات تحميل الصفحة وسرعة إنشاء التقارير وأداء البحث بين الإصدارين 17 و18 مع أحجام البيانات على مستوى الإنتاج.
استراتيجية البث المباشر
النهج الموصى به: الترحيل في عطلة نهاية الأسبوع
- ** مساء الجمعة: ** خذ نسخة احتياطية نهائية للإنتاج. تجميد كافة المعاملات.
- السبت: قم بتشغيل الترقية على قاعدة بيانات الإنتاج. قم بنقل أي بيانات في اللحظة الأخيرة.
- الأحد: استكمال عملية التحقق من البيانات واختبار الدخان. النشر على خوادم الإنتاج.
- صباح الاثنين: ابدأ البث المباشر. راقب عن كثب خلال الـ 48 ساعة الأولى.
جهز خطة التراجع: احتفظ بالنسخة الاحتياطية لقاعدة بيانات الإصدار 17 وتكوين الخادم متاحين حتى تتمكن من العودة خلال ساعات في حالة ظهور مشكلات حرجة.
الأسئلة المتداولة
س: هل يمكنني تخطي الإصدارات والانتقال من Odoo 16 إلى Odoo 18 مباشرةً؟ نعم، لكنه أكثر تعقيدا. يحتوي كل إصدار على نصوص برمجية خاصة به للترحيل، كما يؤدي تخطي الإصدارات إلى تفاقم التغييرات. تتعامل خدمة الترقية من Odoo مع القفزات المتعددة الإصدارات، ولكن ترقية الوحدة المخصصة تتطلب معالجة التغييرات المعطلة من كل إصدار تم تخطيه. خصص وقتًا إضافيًا بنسبة 50-100% لعمليات الترحيل متعددة الإصدارات.
س: هل ستتعطل تقاريري المخصصة أثناء الترحيل؟ من المحتمل. تتغير قوالب تقارير QWeb بشكل متكرر بين الإصدارات بسبب بنيات البيانات المحدثة وتحسينات محرك العرض. اختبر كل تقرير مطبوع (الفواتير، وإيصالات التسليم، وأوامر الشراء) بعد الترحيل واضبط القوالب حسب الحاجة.
س: هل يجب أن أهاجر أم أبدأ من جديد؟ قم بالترحيل إذا كان لديك سنوات من البيانات التاريخية والتكوينات المعقدة والمستخدمين المدربين. ابدأ من جديد إذا كان التثبيت الحالي الخاص بك مخصصًا بشكل كبير بحيث لا يمكن إصلاحه، أو كان به مشكلات كبيرة في جودة البيانات، أو إذا تغيرت عمليات عملك كثيرًا بحيث تكون إعادة التكوين أسرع. تختار معظم الشركات الترحيل للحفاظ على تاريخها التشغيلي. استشر أحد شركاء Odoo الاستشاريين لتقييم النهج الذي يناسب موقفك.
دعم الهجرة المهنية
يعد الترحيل بين إصدارات Odoo مشروعًا تقنيًا يستفيد من الأيدي ذات الخبرة. تغطي [خدمات ترحيل Odoo] (/services/odoo/migration) من ECOSIRE العملية الكاملة: تدقيق ما قبل الترحيل، ونقل الوحدة المخصصة، وترحيل البيانات، والاختبار، والدعم المباشر.
اتصل بفريقنا لتقييم الترحيل وتقدير الجدول الزمني بناءً على تثبيت Odoo المحدد لديك. سنقوم بتحليل الوحدات النمطية والتخصيصات وتعقيد البيانات الخاصة بك لتوفير نطاق وميزانية دقيقين.
بقلم
ECOSIRE Research and Development Team
بناء منتجات رقمية بمستوى المؤسسات في ECOSIRE. مشاركة رؤى حول تكاملات Odoo وأتمتة التجارة الإلكترونية وحلول الأعمال المدعومة بالذكاء الاصطناعي.
مقالات ذات صلة
تكامل Amazon.de Odoo: البيع في أكبر سوق في ألمانيا باستخدام Odoo ERP
كيفية دمج Amazon.de مع Odoo ERP للسوق الألمانية. يغطي FBA ألمانيا، والوفاء لعموم أوروبا، وضريبة القيمة المضافة الألمانية، والامتثال لـ VerpackG، وتسوية التسوية.
دخول سوق التجارة الإلكترونية الألمانية باستخدام Odoo: دليل خطوة بخطوة للبائعين الدوليين
الدليل الكامل للبائعين الدوليين الذين يدخلون سوق التجارة الإلكترونية الألمانية. يغطي تحليل السوق، والمتطلبات القانونية، وتسجيل ضريبة القيمة المضافة، واختيار السوق، وإعداد Odoo ERP للبيع للمستهلكين الألمان.
إدارة عوائد التجارة الإلكترونية الألمانية باستخدام Odoo: استراتيجيات الأسواق ذات العائدات العالية
كيفية التعامل مع معدلات عوائد التجارة الإلكترونية المرتفعة في ألمانيا باستخدام Odoo ERP. يغطي سير عمل معالجة المرتجعات، وتحليلات كود السبب، وإعادة أتمتة التخزين، والسياسات الخاصة بالسوق لـ Zalando، وOtto، وAmazon.de، وKaufland.