Підготовка модуля.
Для публікації в магазині модулів apps.odoo.com, розроблений вами модуль треба підготувати.
1. Перевірте унікальність назви модуля
Назва модуля (назва директорії модуля) має бути унікальною на всьому маркеті, ви не зможете завантажити модуль, якщо хтось інший вже завантажив модуль з такою назвою. Можна використовувати префікс на 2-3 літери
Наприклад kw_survey_attachment
2. Підготуйте __manifest__.py
Параметр name
'name': 'File Question',
Придумайте коротку та зрозумілу назву на 2-3 слова
Параметр summary
'summary': 'Adds new File Question type, uploaded file stored in answers, '
'survey attachment',
в цьому параметрі можна додати усі ключові слова, та довгий опис.
Важливо: пошук працює по даному параметру також, тому не варто жертвувати красивою назвою - даний параметр дозволяє включити все, що потрібно для пошуку. А також він буде красиво відображатись при наведенні у списку.
Параметр author
'author': 'Kitworks Systems',
Використовуйте цей параметр, щоб популяризувати себе як автора. Якщо ви хочете додати ім'я розробника і назву компанії - можна розділити їх комою.
Параметр website
'website': 'https://kitworks.systems/',Після внесення змін в роботу магазину, це єдина можливість залишити посилання на свій сайт: посилання в описі відключені
Параметр category
'category': 'Extra tools',
Цей параметр впливає лише на те, в якій категорії буде ваш модуль відображатись. Перелік категорій можна взяти в списку магазину. В інтернеті є різні списки категорій. Але вони з помилками. Найточніший перелік на сайті магазину
Параметр license
'license': 'OPL-1',
Є різні варіанти яку ліцензію обрати, там GPL, AGPL там версію і таке інше. Але якщо ви в них не розбираєтесь, оберіть OPL-1. Проста, коротка і забороняє привласнення вашого модуля.
Параметр images
'images': [
'static/description/cover.png',
'static/description/icon.png',
],
Складається з двох зображень. Перше в списку - банер, друге - іконка. Порядок важливий.
Параметри price та currency
Якщо хочете продавати модуль додайте ціну та валюту
'price': 500,
'currency': 'EUR',
Приклад підготовленого файлу __manifest__.py
{
'name': 'File Question',
'summary': 'Adds new File Question type, uploaded file stored in answers, '
'survey attachment',
'author': 'Kitworks Systems',
'website': 'https://kitworks.systems/',
'category': 'Extra tools',
'license': 'OPL-1',
'version': '14.0.1.0.4',
'depends': [
'survey', 'mail', 'web_widget_url_advanced',
],
'data': [
'views/survey_template_view.xml',
'views/survey_user_input_line_view.xml',
'views/survey_view.xml',
'views/assets.xml',
],
'installable': True,
'images': [
'static/description/cover.png',
'static/description/icon.png',
],
}
3. Додайте файли опису, документації, ліцензії тощо
Схематично які файли будуть відображені в описі модуля
Додайте файли LICENSE та COPYRIGHT
Ці файли не обов'язкові, але без них не солідно. Файл LICENSE буде відображений, як показано на скриншоті.
Важливо! Вміст LICENSE ніяк не пов'язаний з параметром license в маніфесті. Якщо вирішили поміняти ліцензію - то не забудьте поміняти її в обох місцях.
Додайте файли doc/index.rst або doc/index.md
Гарна була задумка: автоматично збирати документацію можливо аналогічно readthedocs.org, але щось пішло не так. Мануалу по специфіки формату для маркета я не знайшов, а стандартний формат виглядає кривенько.
Тому можна взагалі її не додавати в модуль, а дати посилання в описі, чи в параметрі website
Додайте static/description/index.html
От цей файл насправді важливий: це ваша вітрина, рекламна листівка і все таке. Якщо ви збираєтесь модуль продавати (або просто хочете, щоб ваш модуль багато скачали), то приділіть цьому файлу увагу, напишить красивий текст, наробіть скріншотів, може навіть відео зробіть. Про себе щось хороше напишіть. Щоб довго не пояснювати:
ваш модуль - це товар у марктеплейсі, подивіться як розписують переваги товару в електронних магазинах, вам треба так само робити.
4. Зареєструйтесь в apps.odoo.com
Це до речі один й той самий аккаунт з odoo.com, то може ви вже зареєстровані, то просто увійдіть в аккаунт
5. Додайте репозиторій з модулями
Зайдіть в репозиторії та перейдіть на додавання репозиторію
Додаємо урл нашого репозиторію
і тут у нас виникають зразу дві проблеми:
1. ВСІ модулі з вашого репозиторію попадуть на маркет.
Навіть ті, що ви викладати не хотіли. Можна буде зайти в кожен модуль і сховати його, але якщо в репозиторій додасте новий модуль - він теж попаде на маркет. Або ж вимикати автооновлення - теж не зручно, бо фікси треба буде заливати руками. Можна робити ще один репозиторій, типу один для розробки, інший для маркету, але там така ж проблема: його теж треба оновлювати. Я не придумав тут якогось стовідсотково правильного і зручного рішення.
2. Ваш репозиторій приватний
Ну це не дуже проблема, але дещо доведеться зробити, цитую рекомендації з маркету
Щоб опублікувати ваші модулі на нашій платформі, нам потрібно дозволити читати з вашого репозитарію.
* Якщо ви перебуваєте на Github, ви можете просто авторизувати нашого користувача online-odoo (НЕ odoo-online) у вашому сховищі (авторизація повинна бути здійснена конкретно для репозитарію, а не для всієї компанії).
* Якщо ви перебуваєте на Gitlab, ви можете авторизувати нашого користувача OdooApps (apps@odoo.com).
* Якщо ви використовуєте Bitbucket або будь-який інший хост, ви можете натомість авторизувати наш відкритий ключ SSH. (Можливо, вам доведеться зробити це знову після того, як ми оновимо ключі SSH з міркувань безпеки)
Не забудьте використовувати URL-адресу SSH вашого сховища під час реєстрації, щоб ми могли ідентифікувати себе за допомогою ssh. Наприклад, для GitHub це має бути щось на кшталт ssh://git@github.com/odoo/odoo#9.0.
Оновіть репозиторій, щоб побачити модуль на маркеті
Завжди перевіряйте, що ви завантажили і як воно виглядає, можливо доведеться переробляти.