لا تحتاج إلى قراءة كل سطر لتكتشف وحدة Odoo محفوفة بالمخاطر. في 30 دقيقة يمكنك فحص ملف manifest والاعتماديات وقواعد الصلاحيات وملفات البيانات والاختبارات، ثم تقرر هل تثبّتها.
DEبقلم DevMarket Editorial·نُشر: ·4 دقائق قراءة
في هذه الصفحة
قراءة كل سطر في الوحدة نادرًا ما تكون عملية. لكن يمكنك أن تعرف قدرًا مفاجئًا من المعلومات في نصف ساعة، بمجرد النظر في الأماكن الصحيحة. هذا الدليل روتين مراجعة عملي للمطوّرين والمنفّذين والمشترين التقنيين الذين يتسلمون وحدة Odoo في ملف مضغوط (zip) ويريدون أن يقرروا هل تستحق مكانًا على خادم الاختبار.
يفترض الدليل أنك تستطيع فتح ملف مضغوط وقراءة Python وXML وتشغيل Odoo على نسخة من بياناتك. وهو لا يغني عن مراجعة كاملة للشيفرة في أي وحدة تتعامل مع الأموال أو البيانات الشخصية، لكنه سيكشف معظم المشكلات التي تسبب المتاعب في الشهر الأول.
من الدقيقة 0 إلى 5: المجلد وملف manifest
فكّ ضغط الملف وانظر إلى البنية. الوحدة السليمة لها تخطيط واضح: models وviews وsecurity وdata، وغالبًا static وi18n، وملف __manifest__.py في المستوى الأعلى.
افتح ملف manifest واقرأه ببطء:
version ينبغي أن يطابق سلسلة Odoo التي تشغّلها (مثلًا 19.0.x.y.z).
depends يسرد كل وحدة تحتاج إليها. وكل بند هو شيء يجب أن يكون مثبّتًا لديك وأن تحافظ على توافقه.
license ينبغي أن يكون موجودًا وأن يطابق ما يذكره البائع.
data وassets يوضحان الملفات التي تُحمَّل؛ والملف المذكور المفقود خطأ ينتظرك.
auto_install وpre_init_hook وpost_init_hook تستحق عناية إضافية، لأنها تشغّل شيفرة وقت التثبيت.
من الدقيقة 5 إلى 10: الاعتماديات والمفاجآت
قارن قائمة الاعتماديات بقاعدة بياناتك. هل تحتاج الوحدة إلى تطبيق لا تشغّله، أو إلى وحدة خاصة بـ Enterprise فقط؟ هل تستورد حزم Python غير موجودة في بيئتك؟ ابحث عن ملف requirements.txt أو بند external_dependencies، وانظر إلى أسطر import في أعلى ملفات Python بحثًا عن أي شيء غير مألوف.
ابحث في الشيفرة عن الاستدعاءات التي تصل إلى خارج خادمك: طلبات الشبكة، وأوامر الصدفة (shell)، وكتابة الملفات خارج مجلد البيانات. ليست كلها خاطئة، لكن ينبغي أن يكون لكل منها سبب واضح.
من الدقيقة 10 إلى 15: قواعد الأمان
تحمي Odoo البيانات بحقوق الوصول وقواعد السجلات. والوحدة التي تضيف نماذج ينبغي أن تأتي بها:
يمنح ir.model.access.csv كل مجموعة صلاحيات القراءة والكتابة والإنشاء والحذف لكل نموذج.
تقيّد قواعد السجلات في XML السجلات التي تستطيع المجموعة رؤيتها، وهذا مهم في الإعدادات متعددة الشركات.
الوحدة التي تضيف نماذج دون ملف صلاحيات علامة تحذير. وكذلك الملف الذي يمنح كل مستخدم صلاحيات كاملة على كل شيء. وابحث أيضًا عن استخدامات sudo() وSQL الخام: قد تكون مشروعة، لكنها تتجاوز الحمايات المعتادة، ولذلك ينبغي أن يكون كل استخدام صغيرًا ومُفسَّرًا.
من الدقيقة 15 إلى 20: ملفات البيانات والتغييرات على السجلات الموجودة
افتح ملفات بيانات XML. السجلات الجديدة التي تحمل noupdate="1" تُنشأ مرة واحدة وتُترك كما هي، وهذا ما تريده للإعدادات التي قد تغيّرها. أما السجلات التي تكتب فوق سجلات موجودة فتحتاج إلى مبرر: فالوحدة التي تعيد كتابة ضرائبك أو دليل حساباتك أو قوالب بريدك الإلكتروني ينبغي أن تقول ذلك بوضوح تام.
انظر إلى الواجهات التي ترثها الوحدة. توسيع نموذج بإضافة تبويب جديد تعديل خفيف. أما استبدال واجهة كاملة فقد يكسر وحدات أخرى توسّعها هي أيضًا.
من الدقيقة 20 إلى 25: الاختبارات والترجمات
وجود اختبارات آلية في مجلد tests يدل على أن مطوّر الوحدة يشغّلها. لا تحتاج إلى قراءة الاختبارات؛ فوجودها وحداثتها هما الإشارة. وابحث أيضًا عن ملفات الترجمة في i18n: ففي الأسواق التي تستخدم العربية أو لغات أخرى، تدل على أن الوحدة بُنيت لتكون قابلة للترجمة.
من الدقيقة 25 إلى 30: أول تشغيل على نسخة تجريبية
استعد نسخة احتياطية حديثة على خادم اختبار، وثبّت الوحدة وراقب السجل. ثم:
افتح الشاشات الرئيسية التي تضيفها وجرّب الإجراءات الشائعة.
أنشئ سجلًا وعدّله واحذفه بصفتك مستخدمًا عاديًا، لا مسؤول النظام.
بدّل اللغة إن كنت تستخدم أكثر من لغة.
ألغِ تثبيت الوحدة على النسخة وتأكد من أن قاعدة البيانات تبقى صالحة للاستخدام.
تقارن المراجعة السريعة بين ما تعد به الوحدة وما تحتويه ملفاتها فعلًا.
ماذا تخبرك المراجعة
النتيجة
المعنى
manifest واضح وقائمة اعتماديات قصيرة وقواعد صلاحيات واختبارات
مطوّر حريص؛ احتمال المفاجآت منخفض
لا توجد قواعد صلاحيات، واستخدام مكثّف لـ SQL الخام
راجعها مراجعة وافية أو ارفضها
تكتب فوق بيانات موجودة دون أن تذكر ذلك
اسأل المطوّر أولًا
لا تُثبَّت أو لا يُلغى تثبيتها بسلاسة على نسخة تجريبية
لا تستخدمها في الإنتاج
احتفظ بملاحظاتك مع الترخيص
دوّن الإصدار الذي راجعته والتاريخ وما فحصته. وإذا أصدر المطوّر تحديثًا، فستعرف ما الذي تغيّر منذ مراجعتك.
بعد المراجعة
إذا اجتازت الوحدة المراجعة، فثبّتها في بيئة اختبار، وشغّل عملياتك المعتادة لبضعة أيام، ثم خطّط للتثبيت في الإنتاج مع نسخة احتياطية وخطة رجوع. وإذا كنت لا تزال تقارن بين مرشحين، فإن دليلنا حول اختيار وحدة Odoo يوضح ما ينبغي فحصه في صفحة المنتج قبل أن تنزّل أي شيء، ويسرد قسم وحدات Odoo الإصدارات المدعومة لكل منتج. أما لتغييرات الإصدارات الرئيسية فراجع ترقية Odoo مع الوحدات الخارجية.
قارن بين خيارات استضافة Odoo الثلاثة بحسب وثائق Odoo: ما يتيحه كل خيار، ومن يدير ماذا، وأي النسخ يناسب، وأين تُخزَّن البيانات، وما التكاليف المتوقعة، وكيف تنتقل بين الخيارات.
تطبيق Odoo في الشركة مشروع وليس مجرد تثبيت. اتبع المراحل من تحديد النطاق إلى الإطلاق، وتعرّف على دور كل طرف، وقرّر بين الاستعانة بشريك والتنفيذ بنفسك، واستعن بقائمة تحقق للإطلاق.
Odoo Studio يغيّر Odoo دون كود، والوحدات المخصصة تضيف كودًا. تعرّف على ما يستطيعه كل منهما، وأي نسخة واستضافة تسمحان به، وما تعنيه الترقيات لكليهما، وكيف تقرر بحسب الحاجة.
·8 دقائق قراءة
اعثر على البرنامج المناسب للمهمة
لكل منتج على DevMarket إصدار يراجعه فريقنا، ومفتاح ترخيص فوري، وشروط واضحة للتحديث والدعم.