البدء¶
المكونات الرئيسية¶
عند العمل مع Odoo.sh، من المهم فهم المكونات الرئيسية المعنية:
رغم أنها جميعاً مترابطة، يؤدي كل عنصر دوراً مميزاً في تطوير تطبيقات Odoo ونشرها. معاً، تُشكّل هذه العناصر مساراً متكاملاً بدءاً من تطوير الكود وصولاً إلى الاستخدام التجاري الفعلي.
مستودع GitHub¶
مستودع GitHub أشبه بمجلد على جهاز الكمبيوتر الخاص بك يحتوي على جميع الملفات والمجلدات الخاصة بمشروع معين. الفرق هو أنه يُخزَّن على GitHub، ويمكن لعدة أشخاص على أجهزة كمبيوتر مختلفة الوصول إليه وتعديله.
بعبارة أخرى، مستودع GitHub هو مكان يمكنك فيه تخزين ملفات مشروعك ومشاركتها مع الآخرين، حتى يتمكنوا من التعاون معك، وإجراء تعديلات، والمساهمة في مشروعك. كما يتتبع جميع التغييرات التي تطرأ على مشروعك بمرور الوقت، مما يتيح لك العودة بسهولة إلى نسخة سابقة عند الحاجة.
بالإضافة إلى ذلك، يوفر GitHub العديد من الميزات لمساعدتك على إدارة مشروعك، مثل تتبع المشكلات، وطلبات السحب، ومراجعات الكود. إنه أداة قوية لإدارة مشاريع البرمجيات والتعاون فيها، ويستخدمه المطورون على نطاق واسع حول العالم. وهو مساحة خاضعة للتحكم بالإصدارات يُخزَّن فيها الكود المصدري لتطبيقات Odoo. يتتبع كل تغيير، ويدعم التعاون، ويمكن أن يكون عاماً أو خاصاً.
مشروع Odoo.sh¶
مشروع Odoo.sh هو منصة كخدمة (PaaS) تتكامل مع GitHub، وتُتيح تطويراً واختباراً ونشراً مبسّطاً لتطبيقات Odoo. يتضمن أدوات مثل النسخ الاحتياطي التلقائي، وبيئات التجهيز، ومسارات التكامل المستمر.
قاعدة بيانات Odoo¶
تُخزّن قاعدة بيانات Odoo جميع البيانات التشغيلية المستخدمة والمُنشأة بواسطة تطبيقات Odoo، مثل السجلات التجارية، والإعدادات، وبيانات المستخدمين.
أنواع المستخدمين¶
يتضمن Odoo.sh أنواعًا مختلفة من المستخدمين، كل منهم له دور محدد في دورة حياة المشروع:
مستخدمو GitHub: المطورون الذين لديهم صلاحية الوصول إلى مستودع GitHub المرتبط بمشروع Odoo.sh. الوصول إلى المستودع لا يجعل الشخص تلقائياً مُتعاوناً في مشروع Odoo.sh.
متعاونو Odoo.sh: الأشخاص الذين يديرون مشروع Odoo.sh. يجب ربط كل متعاون بمستخدم على GitHub. مع ذلك، المتعاونون ليسوا نفس مستخدمي قاعدة البيانات.
مستخدمو قاعدة البيانات: المستخدمون النهائيون لقاعدة بيانات Odoo المنشورة. يتفاعلون مع النظام الفعلي، لكنهم لا يشاركون في التطوير أو إدارة المشروع.
المفاهيم التقنية¶
عند العمل مع Odoo.sh، من المهم أيضاً فهم عدة مفاهيم تقنية:
تفريع مستودع¶
تفريع مستودع على GitHub يعني إنشاء نسخة من مستودع شخص آخر في حسابك الخاص. يتيح لك ذلك إجراء تغييرات على المستودع دون التأثير على النسخة الأصلية.
عند تفريع مستودع، تُنشئ نسختك الخاصة منه، متضمنة جميع الملفات والمجلدات الموجودة في المستودع الأصلي. يمكنك بعد ذلك إجراء تغييرات على الملفات في نسختك من المستودع وتأكيدها، تماماً كما تفعل مع أي مستودع آخر.
تكمن فائدة تفريع مستودع في إمكانية إجراء تغييرات على الكود دون التأثير على النسخة الأصلية، وهو أمر مفيد عند رغبتك في تجربة ميزات جديدة أو إصلاح أخطاء في كود شخص آخر. يمكنك أيضاً استخدام المستودع المُفرَّع كنقطة انطلاق لمشروعك، وإجراء التغييرات حسب الحاجة.
بمجرد إجراء تغييرات على المستودع المُفرَّع، يمكنك تقديم طلب سحب (pull request) إلى مالك المستودع الأصلي، تطلب منه فيه دمج تغييراتك في مستودعه. تُعد هذه الطريقة نهجاً شائعاً في المشاريع مفتوحة المصدر لقبول مساهمات المطورين الآخرين، ويمكن أن تكون وسيلة رائعة للمشاركة في المجتمع وتحسين مهاراتك في البرمجة.
دفع تأكيد¶
عند إجراء تغييرات على ملف واحد أو عدة ملفات في مستودع Git على جهازك المحلي، تُعتبر هذه التغييرات غير مؤكَّدة. بعبارة أخرى، يعلم Git أن تغييرات قد أُجريت، لكنها لم تُحفظ أو تُسجَّل رسمياً بعد.
لحفظ هذه التغييرات وإضافتها إلى مستودع Git، تحتاج إلى إنشاء تأكيد. التأكيد هو لقطة للتغييرات التي أجريتها على الملفات في لحظة زمنية محددة. يُسجِّل ما هي التغييرات التي أُجريت، ومن أجراها، ومتى.
بمجرد إنشاء تأكيد، يمكنك دفعه إلى مستودع بعيد، مثل مستودع مستضاف على GitHub. دفع التأكيد يعني إرسال التغييرات التي أجريتها في التأكيد من مستودعك المحلي إلى المستودع البعيد، ليتمكن الآخرون من رؤيتها واستخدامها.
باختصار، دفع تأكيد يعني إرسال التغييرات التي أجريتها على الملفات في مستودع Git الخاص بك من جهازك المحلي إلى مستودع بعيد. إنها وسيلة لمشاركة تغييراتك مع الآخرين والتعاون في مشروع.
دمج فرع¶
دمج فرع في فرع آخر هو عملية جمع التغييرات التي أُجريت في أحد الفروع مع الفرع الآخر. على سبيل المثال، لنفترض أنك أنشأت فرعاً جديداً باسم feature-branch للعمل على ميزة جديدة لمشروعك. بمجرد الانتهاء من إجراء التغييرات على هذا الفرع، يمكنك دمج هذه التغييرات مرة أخرى في الفرع الرئيسي (الذي يُسمى غالباً master أو main).
عند دمج فرع، يفحص Git التغييرات في كلا الفرعين ويحاول دمجها. في حال وجود أي تعارضات بين التغييرات التي أُجريت في الفرعين، سيطلب منك Git حلّها قبل إتمام عملية الدمج (على مستوى الكود).