توسعه

اگر در حال خواندن این متن هستید، احتمالاً به یادگیری نحوه مشارکت در کدبیس Odoo علاقه‌مندید. چه اینطور باشد و چه به صورت اتفاقی به اینجا رسیده باشید، ما شما را راهنمایی خواهیم کرد!

وقتی احساس آمادگی کردید، به بخش راه‌اندازی محیط بروید تا سفر خود را برای مشارکت در توسعه Odoo آغاز کنید.

راه‌اندازی محیط

دستورالعمل‌های زیر به شما کمک می‌کنند محیط خود را برای اعمال تغییرات محلی در کدبیس آماده کرده و سپس آن‌ها را به GitHub ارسال کنید. اگر این مرحله را قبلاً انجام داده‌اید، این بخش را رد کرده و به اولین مشارکت خود را انجام دهید بروید.

  1. ابتدا باید یک حساب کاربری در GitHub ایجاد کنید. اودو از GitHub برای مدیریت کد منبع محصولات خود استفاده می‌کند و این همان جایی است که شما تغییرات خود را اعمال کرده و برای بررسی ارسال خواهید کرد.

  2. یک کلید SSH جدید ایجاد کنید و آن را در حساب GitHub خود ثبت کنید <https://docs.github.com/en/authentication/connecting-to-github-with-ssh>.

  3. به github.com/odoo/odoo بروید و روی دکمه Fork در گوشه بالا سمت راست کلیک کنید تا یک فورک (نسخه شخصی شما) از مخزن در حساب کاربری خود ایجاد کنید. اگر به github.com/odoo/enterprise دسترسی دارید، همین کار را برای آن انجام دهید. این کار یک نسخه کپی از کد اصلی ایجاد می‌کند که می‌توانید تغییرات خود را روی آن اعمال کنید بدون اینکه بر کد اصلی تأثیر بگذارید. اگر در شرکت Odoo کار می‌کنید، این مرحله را نادیده بگیرید.

  4. گیت را نصب کنید. این یک ابزار خط فرمان (یک رابط متنی) است که امکان ردیابی تاریخچه تغییرات ایجاد شده در یک فایل و مهم‌تر از آن، کار بر روی نسخه‌های مختلف آن فایل به طور همزمان را فراهم می‌کند. این بدان معناست که هنگام ایجاد تغییرات، نیازی به نگرانی در مورد بازنویسی کار در حال انجام شخص دیگری ندارید.

    تأیید کنید که دایرکتوری نصب Git در متغیر PATH سیستم شما قرار دارد.

    راهنمای «به‌روزرسانی متغیر PATH در لینوکس و macOS <https://unix.stackexchange.com/a/26059>`_ را با مسیر نصب Git (به‌طور پیش‌فرض /usr/bin/git) دنبال کنید.

  5. پیکربندی Git برای شناسایی شما به عنوان نویسنده‌ی مشارکت‌های آینده‌تان. همان آدرس ایمیلی را وارد کنید که برای ثبت‌نام در GitHub استفاده کرده‌اید.

    $ git config --global user.name "Your Name"
    $ git config --global user.email "youremail@example.com"
    
  6. اودو را از منابع نصب کنید. مطمئن شوید که منابع را از طریق Git با SSH دریافت کنید.

  7. گیت را تنظیم کنید تا تغییرات را به فورک‌های شما ارسال کند، نه به کدبیس اصلی. اگر در اودو کار می‌کنید، گیت را طوری تنظیم کنید که تغییرات را به فورک‌های مشترک ایجاد شده در حساب odoo-dev ارسال کند.

    در دستور زیر، <your_github_account> را با نام حساب GitHub که فورک‌ها را در آن ایجاد کرده‌اید، جایگزین کنید.

    $ cd /CommunityPath
    $ git remote add dev git@github.com:<your_github_account>/odoo.git
    

    اگر به odoo/enterprise دسترسی دارید، مخزن مرتبط را نیز پیکربندی کنید.

    $ cd /EnterprisePath
    $ git remote add dev git@github.com:<your_github_account>/enterprise.git
    
  8. همین است! شما آماده‌اید تا اولین مشارکت خود را انجام دهید.

اولین مشارکت خود را انجام دهید

مهم

  • توسعه اودو می‌تواند برای مبتدیان چالش‌برانگیز باشد. توصیه می‌کنیم قبل از مشارکت، دانش کافی برای کدنویسی یک ماژول کوچک داشته باشید. اگر این‌طور نیست، زمانی را صرف مرور آموزش‌های توسعه‌دهنده کنید تا شکاف‌ها را پر کنید.

  • برخی مراحل این راهنما نیاز به آشنایی با Git دارند. در اینجا چند آموزش و یک آموزش تعاملی برای مواقعی که در جایی گیر کرده‌اید، ارائه شده است.

اکنون که محیط شما تنظیم شده است، می‌توانید شروع به مشارکت در کدهای پایه کنید. در یک ترمینال، به دایرکتوری که اودو را از منابع نصب کرده‌اید بروید و راهنمای زیر را دنبال کنید.

  1. نسخه‌ای از Odoo را که می‌خواهید تغییرات در آن اعمال کنید، انتخاب کنید. به خاطر داشته باشید که مشارکت‌هایی که نسخه پشتیبانی‌نشده‌ای از Odoo را هدف قرار می‌دهند، پذیرفته نمی‌شوند. این راهنما فرض می‌کند که تغییرات نسخه Odoo 18 را هدف قرار می‌دهند که با شاخه 18.0 مطابقت دارد.

  2. ایجاد یک شاخه جدید از شاخه 18.0. نام شاخه را با شاخه پایه پیشوند کنید: 18.0-.... اگر در Odoo کار می‌کنید، نام شاخه را با شناسه Odoo خود پسوند کنید: 18.0-...-xyz.

    Example

    $ git switch -c 18.0-fix-invoices
    
    $ git switch -c 18.0-fix-invoices-xyz
    
  3. «توافقنامه مشارکت در Odoo <https://github.com/odoo/odoo/blob/18.0/doc/cla/sign-cla.md>» را امضا کنید اگر هنوز این کار را انجام نداده‌اید. این مرحله را نادیده بگیرید اگر در Odoo کار می‌کنید.

  4. تغییرات مورد نظر را در پایگاه کد اعمال کنید. هنگام کار بر روی پایگاه کد، این قوانین را دنبال کنید:

    • تغییرات خود را متمرکز و مشخص نگه دارید. بهتر است در هر زمان روی یک ویژگی خاص یا رفع یک اشکال کار کنید تا اینکه به طور همزمان به تغییرات متعدد و غیرمرتبط بپردازید.

    • هنگام کار در شاخه‌ای غیر از master، به سیاست پایداری احترام بگذارید.

    • دستورالعمل‌های کدنویسی را دنبال کنید.

    • تغییرات خود را به‌طور کامل آزمایش کنید و تست‌ها بنویسید تا اطمینان حاصل شود که همه چیز همان‌طور که انتظار می‌رود کار می‌کند و هیچ بازگشت یا پیامد ناخواسته‌ای وجود ندارد.

  5. تغییرات خود را ثبت کنید. یک پیام ثبت واضح مطابق با دستورالعمل‌های راهنمای Git بنویسید.

    $ git add .
    $ git commit
    
  6. تغییرات خود را به فورک خود ارسال کنید، که برای آن نام مستعار ریموت dev را اضافه کرده‌ایم.

    Example

    $ git push -u dev 18.0-fix-invoices-xyz
    
  7. یک PR در GitHub باز کنید تا تغییرات خود را برای بررسی ارسال کنید.

    1. به صفحه مقایسه کدبیس odoo/odoo <https://github.com/odoo/odoo/compare> یا صفحه مقایسه کدبیس odoo/enterprise <https://github.com/odoo/enterprise/compare> بروید، بسته به اینکه تغییرات شما کدام کدبیس را هدف قرار می‌دهند.

    2. نسخه 18.0 را به عنوان پایه انتخاب کنید.

    3. روی مقایسه بین شاخه‌ها کلیک کنید.

    4. مخزن اصلی را <your_github_account>/odoo یا <your_github_account>/enterprise انتخاب کنید. <your_github_account> را با نام حساب GitHub که فورک را در آن ایجاد کرده‌اید جایگزین کنید یا اگر در Odoo کار می‌کنید، از odoo-dev استفاده کنید.

    5. تغییرات خود را بررسی کنید و روی دکمه ایجاد درخواست ادغام کلیک کنید.

    6. کادر اجازه ویرایش توسط نگهدارنده را علامت بزنید. اگر در Odoo کار می‌کنید، این مرحله را رد کنید.

    7. توضیحات را کامل کنید و دوباره روی دکمه ایجاد درخواست کشش کلیک کنید.

  8. در پایین صفحه، وضعیت قابلیت ادغام را بررسی کنید و هرگونه مشکل را برطرف کنید.

  9. به محض آماده شدن PR شما برای ادغام، یکی از اعضای تیم Odoo به‌طور خودکار برای بررسی اختصاص داده می‌شود. اگر بازبین سوال یا نظری داشته باشد، آن‌ها را به‌صورت نظرات ارسال می‌کند و شما از طریق ایمیل مطلع خواهید شد. این نظرات باید حل شوند تا مشارکت ادامه یابد.

  10. پس از تأیید تغییرات شما، بازبینی آن‌ها را ادغام می‌کند و پس از به‌روزرسانی بعدی کد، برای همه کاربران Odoo در دسترس قرار می‌گیرند!