توسعه¶
اگر این را میخوانید، احتمالاً به یادگیری نحوه مشارکت در کدبیس Odoo علاقه دارید. چه این باشد و چه بهطور تصادفی به اینجا آمده باشید، ما به شما کمک خواهیم کرد!
همچنین ملاحظه نمائید
وقتی احساس آمادگی کردید، به بخش راهاندازی محیط بروید تا سفر خود برای مشارکت در توسعه Odoo را آغاز کنید.
راهاندازی محیط¶
دستورالعملهای زیر به شما کمک میکند تا محیط خود را برای ایجاد تغییرات محلی در کدبیس آماده کنید و سپس آنها را به GitHub پوش کنید. اگر قبلاً این مرحله را انجام دادهاید، این بخش را رد کنید و به اولین مشارکت خود را انجام دهید بروید.
ابتدا باید یک حساب GitHub ایجاد کنید. Odoo از GitHub برای مدیریت کد منبع محصولات خود استفاده میکند و اینجاست که شما تغییرات خود را اعمال کرده و آنها را برای بررسی ارسال میکنید.
یک کلید SSH جدید ایجاد کنید و آن را در حساب GitHub خود ثبت کنید.
به github.com/odoo/odoo بروید و روی دکمه Fork در گوشه بالا سمت راست کلیک کنید تا یک فورک (نسخه خودتان) از مخزن در حساب خود ایجاد کنید. اگر به github.com/odoo/enterprise دسترسی دارید، همین کار را انجام دهید. این کار یک کپی از کدبیس ایجاد میکند که میتوانید بدون تأثیرگذاری بر کدبیس اصلی تغییراتی در آن ایجاد کنید. اگر در Odoo کار میکنید، این مرحله را رد کنید.
Git را نصب کنید. این یک ابزار خط فرمان است (یک رابط متنی) که به شما اجازه میدهد تاریخچه تغییرات انجام شده بر روی یک فایل را ردیابی کنید و مهمتر از همه، روی نسخههای مختلف از آن فایل بهطور همزمان کار کنید. این بدان معناست که هنگام ایجاد تغییرات، نیازی به نگرانی درباره نوشتن روی کار در حال انتظار شخص دیگری ندارید.
تأیید کنید که دایرکتوری نصب Git در متغیر
PATH
سیستم شما گنجانده شده باشد.دستورالعملهای بهروزرسانی متغیر PATH در لینوکس و macOS را دنبال کنید با استفاده از مسیر نصب Git (بهطور پیشفرض
/usr/bin/git
).راهنمای بهروزرسانی متغیر PATH در ویندوز <https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/> را با مسیر نصب Git (بهطور پیشفرض
C:\Program Files\Git
) دنبال کنید.Git را پیکربندی کنید تا خود را بهعنوان نویسنده مشارکتهای آینده شناسایی کنید. همان آدرس ایمیلی را وارد کنید که برای ثبتنام در GitHub استفاده کردهاید.
$ git config --global user.name "Your Name" $ git config --global user.email "youremail@example.com"
اودو را از منابع نصب کنید. اطمینان حاصل کنید که منابع را از طریق Git با SSH دریافت میکنید.
Git را پیکربندی کنید تا تغییرات به فورکهای خودتان پوش شود، نه به کدبیس اصلی. اگر در Odoo کار میکنید، Git را پیکربندی کنید تا تغییرات به فورکهای اشتراکی ایجاد شده در حساب odoo-dev پوش شود.
در دستور زیر،
<your_github_account>
را با نام حساب GitHub که در آن فورک(ها) را ایجاد کردهاید، جایگزین کنید.$ cd /CommunityPath $ git remote add dev git@github.com:<your_github_account>/odoo.git
اگر به
odoo/enterprise
دسترسی دارید، remote مربوطه را نیز پیکربندی کنید.$ cd /EnterprisePath $ git remote add dev git@github.com:<your_github_account>/enterprise.git
$ cd /CommunityPath $ git remote add dev git@github.com:odoo-dev/odoo.git $ git remote set-url --push origin you_should_not_push_on_this_repository $ cd /EnterprisePath $ git remote add dev git@github.com:odoo-dev/enterprise.git $ git remote set-url --push origin you_should_not_push_on_this_repository
همین! شما آماده هستید تا اولین مشارکت خود را انجام دهید.
اولین مشارکت خود را انجام دهید¶
مهم
Odoo development can be challenging for beginners. We recommend you to be knowledgeable enough to code a small module before contributing. If that is not the case, take some time to go through the developer tutorials to fill in the gaps.
برخی مراحل این راهنما نیاز به آشنایی کامل با Git دارند. اینجا چند آموزش و یک آموزش تعاملی وجود دارد اگر در جایی گیر کردید.
حالا که محیط شما آماده است، میتوانید به کدبیس مشارکت کنید. در یک ترمینال، به دایرکتوری که اودو را از منابع نصب کردهاید بروید و راهنمای زیر را دنبال کنید.
Choose the version of Odoo to which you want to make changes. Keep in mind that contributions targeting an unsupported version of Odoo are not accepted. This guide assumes that the changes target Odoo 18, which corresponds to branch
18.0
.Create a new branch starting from branch 18.0. Prefix the branch name with the base branch:
18.0-...
. If you work at Odoo, suffix the branch name with your Odoo handle:18.0-...-xyz
.مثال
$ git switch -c 18.0-fix-invoices
$ git switch -c 18.0-fix-invoices-xyz
Sign the Odoo CLA if not already done. Skip this step if you work at Odoo.
تغییرات دلخواه را در کدبیس اعمال کنید. هنگام کار بر روی کدبیس، این قوانین را دنبال کنید:
تغییرات خود را متمرکز و مشخص نگه دارید. بهتر است در هر زمان بر روی یک ویژگی خاص یا رفع مشکل کار کنید تا اینکه بهطور همزمان با تغییرات نامرتبط متعدد سر و کار داشته باشید.
هنگام کار بر روی شاخهای غیر از
master
، سیاست پایداری را رعایت کنید.دستورالعملهای کدنویسی را دنبال کنید.
تغییرات خود را بهطور کامل تست کنید و تستها را بنویسید تا اطمینان حاصل شود که همه چیز همانطور که انتظار میرود کار میکند و هیچگونه بازگشت یا پیامدهای ناخواستهای وجود ندارد.
تغییرات خود را commit کنید. یک پیام commit واضح مطابق با دستورالعملهای Git guidelines بنویسید.
$ git add . $ git commit
تغییر خود را به فورک خود push کنید، برای این کار remote alias
dev
را اضافه کردیم.مثال
$ git push -u dev 18.0-fix-invoices-xyz
یک PR در GitHub باز کنید تا تغییرات خود را برای بررسی ارسال کنید.
به صفحه مقایسه کدبیس odoo/odoo یا صفحه مقایسه کدبیس odoo/enterprise بروید، بسته به اینکه تغییرات شما کدام کدبیس را هدف قرار میدهد.
Select 18.0 for the base.
روی مقایسه میان فورکها کلیک کنید.
برای مخزن head، <your_github_account>/odoo یا <your_github_account>/enterprise را انتخاب کنید.
<your_github_account>
را با نام حساب GitHub که در آن فورک ایجاد کردهاید جایگزین کنید یا از odoo-dev استفاده کنید اگر در Odoo کار میکنید.تغییرات خود را مرور کرده و روی دکمه ایجاد درخواست pull کلیک کنید.
گزینه اجازه ویرایش توسط نگهدارنده را تیک بزنید. اگر در اودو کار میکنید، این مرحله را رد کنید.
توضیحات را تکمیل کرده و دوباره روی دکمه ایجاد درخواست pull کلیک کنید.
در پایین صفحه، وضعیت قابلیت ادغام را بررسی کنید و هرگونه مشکل را برطرف کنید.
As soon as your PR is ready for merging, a member of the Odoo team is automatically assigned for review. If the reviewer has questions or remarks, they will post them as comments and you will be notified by email. Those comments must be resolved for the contribution to go forward.
پس از تایید تغییرات شما، بازبین آنها را ادغام میکند و این تغییرات پس از بهروزرسانی بعدی کد برای همه کاربران اودو در دسترس خواهند بود!