Інструкція зі створення репозиторію модулів для OkayCMS
- Крок 1. Клонування офіційного репозиторію
- Крок 2. Налаштування середовища
- Крок 3. Ведення репозиторію
- Крок 4. Оновлення OkayCMS у master
- Крок 5. Створення модуля
- Крок 6. Структура модуля
- Крок 7. Версійність модулів
- Крок 8. Оновлення OkayCMS у гілці модуля
- Крок 9. Створення демо-контенту
- Крок 10. Робота з шаблонами
- Крок 11. Додавання репозиторію в маркетплейс
- Крок 12. Налаштування Webhook
- Готово!
Крок 1. Клонування офіційного репозиторію
-
Склонуйте офіційний репозиторій OkayCMS:
-
Видаліть директорію
.git, щоб від’єднатися від оригінальної історії: -
Ініціалізуйте репозиторій заново:
Крок 2. Налаштування середовища
-
Створіть файл
config/config.local.php(за аналогією зconfig/config.php) і пропишіть у ньому свої доступи до бази даних. -
Імпортуйте дамп бази з файлу
1DB_changes/okay_clean.sql. -
Виконайте встановлення залежностей:
Крок 3. Ведення репозиторію
-
У гілці
masterмають бути версії OkayCMS, для яких створюються модулі. -
Кожен коміт у
masterбажано підписувати версією, наприклад: -
У репозиторії бажано підтримувати всі основні версії OkayCMS — як у офіційному репозиторії.
Крок 4. Оновлення OkayCMS у master
Щоб оновити OkayCMS у гілці master:
-
Перейдіть у
master: -
Видаліть усі каталоги, крім:
(і, за потреби,
.ideaчи інші власні конфігурації). -
Склонуйте офіційний репозиторій у тимчасову директорію.
-
Перейдіть у ньому на потрібну версію OkayCMS.
-
Скопіюйте файли з тимчасової директорії у ваш репозиторій модулів.
-
Імпортуйте оновлений дамп бази
1DB_changes/okay_clean.sql. -
Знову виконайте:
Крок 5. Створення модуля
-
Кожен модуль потрібно вести в окремій гілці, створеній від відповідної версії
master. -
Назву гілки варто давати за назвою модуля, наприклад:
-
У гілці дозволено розвивати лише один модуль. Гілки не зливаються між собою.
Крок 6. Структура модуля
Модуль має бути ізольованим у директорії:
Якщо для роботи модуля потрібно додати шорткод у шаблон, — додайте його у демо-версію, але основний архів модуля не має містити ці зміни.
Також обов’язково створіть інструкцію з установлення (наприклад, install instruction.md) або реалізуйте контролер, який описує процес налаштування.
Крок 7. Версійність модулів
Версія модуля складається з трьох чисел у форматі:
| Коли змінювати | Що робити |
|---|---|
| Невеликі фікси | збільшуйте третє число (1.0.1 → 1.0.2) |
| Зміна логіки або версії OkayCMS | збільшуйте друге число (1.1.0 → 1.2.0) |
| Повна переробка модуля | збільшуйте перше число (1.0.0 → 2.0.0) |
Щоб позначити коміт версією модуля — додайте тег:
Наприклад:
Крок 8. Оновлення OkayCMS у гілці модуля
Оновлювати OkayCMS потрібно через merge з master, а не шляхом ручних змін у коді.
Тобто:
-
Переконайтесь, що у
masterє потрібна версія OkayCMS. -
У гілці модуля виконайте merge:
Мерж повинен містити два батьківські коміти — з master і з гілки модуля.
Крок 9. Створення демо-контенту
-
Демо-контент зберігається у файлі:
-
Заборонено змінювати:
-
Для створення демо-контенту:
-
додайте товари, банери тощо в адмінці;
-
відкрийте Adminer або інший клієнт БД;
-
зробіть дамп лише потрібних таблиць (ті, які змінювали);
-
у стовпчику “Tables” не вибирайте жодної таблиці;
-
у стовпчику “Data” — оберіть потрібні таблиці;
-
у першому полі “Data” вкажіть:
і формат
SQL.
-
⚠️ Заборонено додавати у демо-дамп таблиці:
ok_managers,ok_modules,ok_settings,ok_settings_lang.
Крок 10. Робота з шаблонами
-
Кожен шаблон — окрема гілка, створена від відповідної версії
master. -
Назва гілки = назва шаблону.
-
Шаблон має розміщуватись у:
-
Для шаблонів створіть файл:
У ньому опишіть інструкцію з налаштування (групи банерів, дії після встановлення тощо).
-
Для коректного відображення на демо-маркетплейсі додайте банери у демо-контент.
Крок 11. Додавання репозиторію в маркетплейс
-
У Bitbucket перейдіть у:
-
У полі Label вкажіть будь-яке ім’я, а в полі Key вставте цей ключ:
Крок 12. Налаштування Webhook
Щоб модулі автоматично з’являлися у системі маркетплейсу:
-
У Bitbucket відкрийте:
-
У полі Title введіть довільну назву.
-
У полі URL вкажіть:
Готово!
Тепер ваш репозиторій готовий для розробки, тестування та публікації модулів або шаблонів у маркетплейсі OkayCMS.