Розробка

Якщо ви читаєте це, швидше за все, вам цікаво дізнатися, як зробити внесок у кодову базу Odoo. Незалежно від того, чи це так, чи ви потрапили сюди випадково, ми допоможемо вам!

Коли ви відчуєте, що готові, перейдіть до розділу Налаштування середовища, щоб почати свій внесок у розвиток Odoo.

Налаштування середовища

Наведені нижче інструкції допоможуть підготувати ваше середовище для внесення локальних змін до кодової бази, а потім надіслати їх на GitHub. Пропустіть цей розділ і перейдіть до Зробіть свій перший внесок, якщо ви вже виконали цей крок.

  1. По-перше, вам потрібно створити обліковий запис GitHub. Odoo використовує GitHub для керування вихідним кодом своїх продуктів, і саме тут ви вносите зміни та надсилаєте їх на перевірку.

  2. Створіть новий ключ SSH і зареєструйте його у своєму обліковому записі GitHub.

  3. Перейдіть на сторінку github.com/odoo/odoo і натисніть кнопку Fork у верхньому правому куті, щоб створити форк (ваша власна копія) репозиторію у вашому обліковому записі. Зробіть те саме з github.com/odoo/enterprise, якщо у вас є до нього доступ. Це створює копію кодової бази, до якої можна вносити зміни, не впливаючи на основну кодову базу. Пропустіть цей крок, якщо ви працюєте в Odoo.

  4. Встановіть Git. Це інструмент командного рядка (текстовий інтерфейс), який дозволяє відстежувати історію змін, внесених у файл, і, що більш важливо, працювати над різними версіями цього файлу одночасно. Це означає, що вам не потрібно турбуватися про те, щоб перезаписати чиюсь незавершену роботу під час внесення змін.

    Переконайтеся, що каталог встановлення Git включено у змінну PATH вашої системи.

    Дотримуйтеся посібника з оновлення змінної PATH у Linux і macOS зі шляхом встановлення Git (за замовчуванням /usr/bin/git).

  5. Налаштуйте Git, щоб ідентифікувати себе як автора ваших майбутніх внесків. Введіть ту саму ел. адресу, яку ви використовували для реєстрації на GitHub.

    $ git config --global user.name "Your Name"
    $ git config --global user.email "youremail@example.com"
    
  6. Install Odoo from the sources. Make sure to fetch the sources through Git with SSH.

  7. Налаштуйте Git так, щоб надсилати зміни у ваші форки, а не в основну кодову базу. Якщо ви працюєте в Odoo, налаштуйте Git, щоб надсилати зміни до спільних форків, створених в обліковому записі odoo-dev.

    У наведеній нижче команді замініть <your_github_account> на назву облікового запису GitHub, у якому ви створили fork.

    $ 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. Це воно! Ви готові зробити свій перший внесок.

Зробіть свій перший внесок

Важливо

  • 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. Ось декілька навчальних посібників та інтерактивне навчання, якщо ви застрягли в якийсь момент.

Тепер, коли ваше середовище налаштовано, ви можете почати вносити внесок у кодову базу. У терміналі перейдіть до каталогу, де ви встановили Odoo із вихідних кодів, і дотримуйтесь інструкцій нижче.

  1. 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 17, which corresponds to branch 17.0.

  2. Create a new branch starting from branch 17.0. Prefix the branch name with the base branch: 17.0-.... If you work at Odoo, suffix the branch name with your Odoo handle: 17.0-...-xyz.

    Example

    $ git switch -c 17.0-fix-invoices
    
    $ git switch -c 17.0-fix-invoices-xyz
    
  3. Sign the Odoo CLA if not already done. Skip this step if you work at Odoo.

  4. Внесіть потрібні зміни в кодову базу. Працюючи над кодовою базою, дотримуйтеся таких правил:

    • Зробіть ваші зміни зосередженими та конкретними. Найкраще працювати над однією окремою функцією чи виправленням помилки за раз, а не братися за кілька непов’язаних змін одночасно.

    • Дотримуйтеся стабільної політики під час роботи в іншій гілці, ніж master.

    • Дотримуйтеся інструкцій з кодування.

    • Test your changes thoroughly and write tests to ensure that everything is working as expected and that there are no regressions or unintended consequences.

  5. Зафіксуйте свої зміни. Напишіть чітке повідомлення коміту згідно з інструкціями в Рекомендації Git.

    $ git add .
    $ git commit
    
  6. Надішліть свої зміни у свій fork, для якого ми додали віддалений аліас dev.

    Example

    $ git push -u dev 17.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. Select 17.0 for the base.

    3. Натисніть порівняти через forks.

    4. Виберіть <your_github_account>/odoo або <your_github_account>/enterprise для головного сховища. Замініть <your_github_account> на назву облікового запису GitHub, у якому ви створили форк, або на odoo-dev, якщо ви працюєте в Odoo.

    5. Перегляньте свої зміни та натисніть кнопку Створити запит на отримання.

    6. Поставте прапорець Дозволити редагування від супроводжуючого. Пропустіть цей крок, якщо ви працюєте в Odoo.

    7. Завершіть опис і знову натисніть кнопку Створити запит на отримання.

  8. Унизу сторінки перевірте статус злиття та вирішіть усі проблеми.

  9. 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.

  10. Після схвалення ваших змін рецензія об’єднує їх, і вони стають доступними для всіх користувачів Odoo після наступного оновлення коду!