يوسّع Odoo 20 وضع عدم الاتصال بحيث يمكن للمستخدمين إنشاء السجلات وتعديلها وأرشفتها وإلغاء أرشفتها وحذفها من دون اتصال نشط. يمكن أيضا تشغيل عمليات البحث التي نُفذت مسبقا دون اتصال. بعد عودة الاتصال، تتولى قوائم انتظار المزامنة معالجة التغييرات، مع واجهة دون اتصال وأدوات إدارة لمراقبة العملية. (ملاحظات إصدار Odoo 20; Odoo Goes Offline) ينقل هذا الوصول دون اتصال من كونه بديل عرض إلى وضع عمل يمكنه تغيير بيانات الأعمال. ينبغي للمنظمات التي تقيم Odoo 20 أن تراجع كيفية سلوك تلك التغييرات عند مزامنتها، وليس فقط ما إذا كانت السجلات ستبقى متاحة أثناء الانقطاع.
يسرد Odoo Nightly Odoo 20 باعتباره إصدار Community Edition مستقرا وموصى به، بتاريخ سبتمبر 2026 ومدعوما حتى Odoo 23. (nightly.odoo.com) هذه الإشارة مهمة لتخطيط Community Edition، لكنها لا تثبت وجود تغطية متطابقة دون اتصال عبر كل منصة أو بيئة Enterprise أو قاعدة بيانات مخصصة. يجب التحقق من التغطية وفق النشر المقصود.
ما الذي تغير مقارنة بـ Odoo 19
يتيح وضع عدم الاتصال في Odoo 19 للمستخدمين عرض السجلات التي تم فتحها قبل انقطاع الاتصال، ولكن ليس تعديلها أثناء عدم الاتصال. يضيف Odoo 20 إنشاء السجلات وتعديلها وأرشفتها وإلغاء أرشفتها وحذفها. (وثائق Odoo 19.0: وضع عدم الاتصال العام; ملاحظات إصدار Odoo 20) هذا توسع وظيفي وليس مجرد تسمية جديدة للذاكرة المؤقتة السابقة. في Odoo 19، يمكن للمستخدمين الاستعداد للانفصال بفتح السجلات ذات الصلة، لكن العمل الذي يغيّر تلك السجلات يجب أن ينتظر الاتصال. يدعم Odoo 20 كلاً من السجلات الجديدة والتغييرات على السجلات القائمة أثناء عدم الاتصال. (وثائق Odoo 19.0: وضع عدم الاتصال العام; ملاحظات إصدار Odoo 20)
يجب أن تميز تقييمات الإصدارات بين الوصول إلى المعلومات المخزنة مؤقتا وبين القدرة على إكمال عمليات السجلات ووضعها في قائمة الانتظار. سير العمل الذي لا يتطلب سوى بيانات مرجعية له متطلبات مختلفة عن سير عمل يتضمن إدخال البيانات أو تغيير الحالة أو الحذف. (وثائق Odoo 19.0: وضع عدم الاتصال العام; ملاحظات إصدار Odoo 20)
العمليات المؤكدة دون اتصال
تشمل الإجراءات المؤكدة في Odoo 20 خمسة أجزاء من دورة حياة السجل: الإنشاء والتعديل والأرشفة وإلغاء الأرشفة والحذف. تتوفر أيضا عمليات البحث التي نُفذت مسبقا أثناء عدم الاتصال. (ملاحظات إصدار Odoo 20) ينبغي أن يتضمن اختبار القبول سيناريو واحدا على الأقل لكل إجراء، وأن يؤكد ظهور حالة السجل المتوقعة بعد إعادة الاتصال والمزامنة.
تصف جلسة Experience في Odoo واجهة مخصصة دون اتصال، وقوائم انتظار للمزامنة، وأدوات لمراقبة المزامنة وإدارتها. (Odoo Goes Offline) ينبغي تغطية هذه الوظائف في تدريب المستخدمين وإجراءات التشغيل. يحتاج المستخدمون إلى معرفة أين تظهر العناصر في قائمة الانتظار، وكيفية تحديد العنصر غير المحلول، ومن يراجعه. تؤكد المواد المقدمة أن أدوات الإدارة موجودة، لكنها لا تحدد سير عملها الكامل أو أذوناتها الإدارية.
يحتاج التخزين المؤقت وتغطية البحث إلى التحقق
تصف وثائق Odoo 19 الوصول دون اتصال من حيث السجلات التي تم فتحها قبل فقدان الاتصال. ويؤكد Odoo 20 بشكل منفصل أن عمليات البحث التي نُفذت مسبقا يمكن تشغيلها دون اتصال. (وثائق Odoo 19.0: وضع عدم الاتصال العام; ملاحظات إصدار Odoo 20) لا توضح المصادر المقدمة مقدار البيانات المرتبطة التي يتم الاحتفاظ بها، أو مدة بقائها متاحة، أو ما إذا كانت هناك حدود للتخزين، أو ما إذا كان كل حقل مرتبط بسجل مخزن مؤقتا متاحا. كما أنها لا تحدد ما إذا كان تكرار البحث دون اتصال يعيد مجموعة النتائج الأصلية أم فقط البيانات المخزنة بالفعل على الجهاز.
قبل اعتماد سير عمل دون اتصال، ينبغي للفرق تحديد عمليات البحث وأنواع السجلات التي يحتاجها كل دور. يجب أن يبدأ الاختبار عبر الاتصال، من خلال تشغيل عمليات البحث ذات الصلة وفتح السجلات المطلوبة. ثم يمكن للمختبرين قطع الاتصال وتكرار المهام المقصودة، بما في ذلك أي استخدام للمرفقات والسجلات المرتبطة والحقول المطلوبة. هذه نقاط تحقق، وليست قيودا مؤكدة، لأن معلومات الإصدار المقدمة لا تصف سلوكها. (Odoo 20 Release Notes)
تحتاج معالجة التعارض إلى اختبار
تم تأكيد قوائم الانتظار وأدوات الإدارة الخاصة بالمزامنة، لكن المصادر المقدمة لا توضح كيف يحل Odoo 20 التغييرات المتنافسة على السجل نفسه، أو حالات فشل التحقق بعد إعادة الاتصال، أو التبعيات بين العمليات الموجودة في قائمة الانتظار. (Odoo Goes Offline) إن وجود قائمة انتظار لا يثبت وجود سياسة للتعارض. يجب إثبات سلوكها في إصدار Odoo المستهدف وتكوينه.
يمكن لاختبار التعارض أن يجعل مستخدما يغير سجلا دون اتصال بينما يغير مستخدم آخر السجل نفسه عبر الإنترنت. بعد إعادة الاتصال، يجب على الفريق فحص القيم الناتجة وحالة قائمة الانتظار وإشعار المستخدم. يجب أن تغطي اختبارات منفصلة تعديلا دون اتصال لسجل تم أرشفته أو حذفه في مكان آخر، وسجلا تم إنشاؤه حديثا وفشل بسبب قاعدة على الخادم. يجب أن توثق الاختبارات ما إذا كان التحديث يتقدم، أو يحدث دمج، أو يلزم تدخل يدوي. (Odoo Goes Offline)
ضوابط الوصول والإجراءات المدمرة
لأن Odoo 20 يتضمن الأرشفة وإلغاء الأرشفة والحذف دون اتصال، فيجب أن يمتد التقييم إلى ما هو أبعد من إدخال البيانات الروتيني. (Odoo 20 Release Notes) ينبغي للمنظمات التحقق مما إذا كانت حقوق الوصول وقواعد السجل ومتطلبات الموافقة تُفرض عند حدوث الإجراء دون اتصال، أو أثناء المزامنة، أو في المرحلتين معا. تؤكد ملاحظات الإصدار الإجراءات المتاحة لكنها لا تشرح كيف يتصرف كل ضابط أمني من دون اتصال.
يجب أن يستخدم الاختبار أدوارا تمثل المستخدمين الفعليين بدلا من الاعتماد على حساب مسؤول فقط. ينبغي أن يحاول كل دور تنفيذ إجراءات مسموحة وممنوعة أثناء الاتصال والانقطاع. بعد ذلك يجب على المختبرين التحقق مما إذا كانت التغييرات الموضوعة في قائمة الانتظار تظل مرئية، وما إذا كانت رسائل الرفض واضحة، وما إذا كانت السجلات المؤرشفة أو المستعادة أو المحذوفة تصل إلى الحالة النهائية المقصودة. ينبغي أن تكون للعمليات التي يترتب على الحذف فيها عواقب كبيرة إجراءات موثقة للعمل دون اتصال قبل النشر. (Odoo 20 Release Notes؛ Odoo Goes Offline)
تحتاج الوحدات المخصصة إلى اختبار موجه
تغطي الميزة المؤكدة عمليات السجلات دون اتصال في Odoo 20 وإمكانات المزامنة، لكن المصادر المقدمة لا تنص على أن كل وحدة مخصصة أو وحدة من طرف ثالث أو إجراء آلي أو تكامل خارجي متوافق مع العمل دون اتصال. (Odoo 20 Release Notes؛ Odoo Goes Offline) لذلك ينبغي للبيئات المخصصة تقييم الدعم وحدة بوحدة بدلا من افتراض أن الوضع دون اتصال ينطبق بالتساوي على قاعدة البيانات كلها.
يجب أن يغطي الاختبار الحقول المخصصة وسلوك onchange والقيم المطلوبة والقيم المحسوبة وعمليات التحقق على الخادم المستخدمة في سير العمل داخل المنظمة. كما ينبغي مراقبة عمليات التكامل التي تستجيب عادة لإنشاء السجلات أو تعديلها بعد مزامنة التغييرات الموضوعة في قائمة الانتظار. الغرض ليس افتراض الفشل، بل تحديد ما إذا كان كل عنصر يعمل دون اتصال، أو ينتظر إعادة الاتصال، أو ينتج عنه عنصر مرفوض في قائمة الانتظار، أو يتطلب عملية مختلفة. (Odoo 20 Release Notes؛ Odoo Goes Offline)
أسئلة يجب حسمها قبل الإطلاق
يوفر Odoo 20 مجموعة أوسع مؤكدة من إمكانات العمل دون اتصال مقارنةً بـ Odoo 19، مدعومة بواجهة مخصصة وأدوات مزامنة للعمل الموضوع في قائمة الانتظار. (Odoo 19.0 Docs: General Offline Mode؛ Odoo 20 Release Notes؛ Odoo Goes Offline) قبل الاعتماد على هذه الإمكانات، ينبغي للمنظمة التحقق من التطبيقات وأنواع السجلات المشمولة، وما الذي يجب على المستخدمين فتحه أو البحث عنه قبل الانفصال، وكيف تظهر التعارضات، ومن يراقب حالات المزامنة الفاشلة أو المتأخرة.
ينبغي أن يسجل قرار الإطلاق أيضا الأجهزة وبيئات النشر المدعومة، وسلوك التخزين والاحتفاظ، ونتائج ضوابط الوصول، ونتائج الوحدات المخصصة، وإجراءات الحذف أو غيره من التغييرات ذات الأثر الكبير. لا تجيب المواد الإصدارية المقدمة عن أسئلة التنفيذ هذه، لكنها تحدد ما إذا كانت الوظائف المؤكدة مناسبة لسير عمل معين دون اتصال. (Odoo 20 Release Notes؛ Odoo Goes Offline)
بالنسبة لتخطيط Community Edition، توفر قائمة Odoo Nightly المصنفة مستقرة وموصى بها حالة الإصدار المذكورة، مع الدعم حتى Odoo 23. (nightly.odoo.com) لا يزال الاعتماد التشغيلي يجب أن يستند إلى اختبار البناء الدقيق والوحدات والصلاحيات وسير العمل الذي سينفذه المستخدمون دون اتصال. التغيير المؤكد هو أن Odoo 20 ينتقل إلى ما بعد وصول Odoo 19 للقراءة فقط إلى السجلات المفتوحة مسبقا، وذلك من خلال السماح بإنشاء وتعديل مؤجلين دون اتصال. يجب أن يثبت الاختبار كيف يتصرف ذلك في تكوين المنظمة. (وثائق Odoo 19.0: وضع عدم الاتصال العام; ملاحظات إصدار Odoo 20; يعمل Odoo دون اتصال)
