Інструкція для розробників з оформлення модулів
Перш за все, хочемо висловити подяку за інтерес до розробки для OkayCMS. Ми віримо, що разом з нашим ком'юніті зможемо підняти систему на новий рівень. Всі ми стикаємося з різними завданнями і потребами замовників. Ділячись своїми напрацюваннями, можна сильно розширити можливості CMS і, звичайно, заробити неодноразово на додатку, який принесло прибуток одного разу, а після зберігається в забутті десь на жорсткому диску. Ми зробили систему з відкритим кодом, щоб якомога більше талановитих людей змогли підключитися до процесу розробки. Ми будемо раді, якщо ви поповните їх ряди.
А тепер від високих речей перейдемо до застосовним на практиці.
Як відбувається розміщення доповнення в маркетплейсе OkayCMS:
Ви надсилаєте матеріали, оформлені відповідно до вимог, на info@okay-cms.com . Про вимоги до оформлення ми розповімо нижче.
Модератор з нашої команди перевіряє роботу модуля до 3-х робочий днів і викладає його на Git. Якщо в ході розгляду виникають якісь питання або зауваження, ми зв'язуємося з вами за контактним e-mail.
Якщо все в порядку, контент-менеджер розміщує модуль в маркетплейсе. Як тільки додаток опубліковано на сайті, воно є до замовлення.
Як оформляти модуль для OkayCMS
Потрібно розуміти, що швидкість розміщення доповнення на офіційному сайті безпосередньо залежить від того, наскільки правильно ви його оформите. Ми пропонуємо вимоги, щоб уніфікувати процес і не затягувати перевірку. Якщо їх проігнорувати, доповнення, швидше за все, повернеться на доопрацювання, тому що нашим розробникам є на що витрачати час.
- Кожному розробнику присвоюється унікальний префікс (далі по тексту - "vendor"). Він використовується для складання лейбла модуля, для формування коментарів модуля.
Дізнатися префікс можна, написавши на пошту info@okay-cms.com . Якщо ви ще не робили доповнення для нас, можете придумати його самостійно. Зазвичай він збігається з назвою компанії / ніком розробника і т.п. Напишіть латиницею, поставте нижнє підкреслення між словами і надішліть на ту ж пошту, щоб ми перевірили, чи немає збігів з існуючими. Якщо префікс виявиться неунікальним, складемо для вас інший.
- Коментарі потрібно використовувати тільки блокові. Ними ви відзначаєте початок і кінець змін в коді. Всі коментарі обов'язково повинні починатися з префікса розробника.
Приклад для PHP і JS: /*vendor_module_name*/.../*/vendor_module_name*/
для Smarty: {* vendor_module_name *} ... {* / vendor_module_name *}
Між словами в коментарях ставте нижнє підкреслення - використання прогалин всередині коментарів не допускається.
- SQL-файл доповнення називайте так само, як і коментар доповнення, за схемою vendor_module_name.sql.
Все SQL-запити повинні бути 100% робітниками для стандартної версії OkayCMS. Запити в файлі розділяйте крапкою з комою.
Правильним буде закомментировать код і додати свій.
Ще приклад, як робити погано:
добре:
Відзначати потрібно не всю рядок, в яку вносилися зміни, а безпосередньо зміни.
Так погано:
а так добре:
Якщо ж синтаксис не дозволяє позначити коментарем в рамках одного рядка тільки новий код або код стає нечитабельним, допускається закомментировать всю рядок коду, зазначивши це коментарем, і додати свою зі змінами.
- При розширенні списків, на подобі цих, додавайте нові елементи тільки в кінець списку.
- У перекладах бажано додавати свої переклади одним пакетом, а не розбивати по файлу.
- Неприпустимо замінювати один файл іншим, просто вказавши це десь в інструкції. У таких випадках потрібно додати файл і підключити його замість дефолтного, а підключення позначити коментарями.
Як ведеться версійність доповнень
- Ми присвоюємо версію модулю, поєднуючи версію самого доповнення і версію OkayCMS, для якої він розроблений. Тобто версія модуля складається з двох чисел.
Наприклад: module_1.0_for_OkayCMS_2.2.2 (де module - назва доповнення)
- Коли оновлюється OkayCMS всередині модуля і модуль оновлюється тільки під вимоги системи, версія модуля не змінюється.
Якщо оновлюється додаток (виправлення / додавання функціоналу), збільшується версія саме доповнення.
- Не допускається оновлення версії модуля і версії OkayCMS одним коммітов.
Якщо потрібно оновити версію модуля (пофиксить баг) і версію OkayCMS, для якої модуль призначений, бажано першим оновити модуль, потім - CMS всередині модуля. Так ми отримаємо оновлений модуль для двох версій системи.
Що необхідно для публікації доповнення:
- Документ .docx з наступною інформацією:
- Назва модуля - має бути зрозумілим і максимально відображати функціонал, щоб зацікавити відвідувачів маркетплейса.
- Текст опису - ми не вимагаємо опусів і позамежної грамотності, просто розкажіть, навіщо це доповнення і як з ним працювати.
- Умови установки - самостійна, техподдержкой OkayCMS, розробником. Якщо модуль будете ставити ви, ви погоджуєтесь зв'язатися з клієнтом не пізніше, ніж через 3 дні після замовлення, інакше він буде видалений з маркетплейса.
- Умови підтримки - не надається, тільки поштою, поштою і по телефону.
- Додаткові матеріали для розміщення на сайті:
- Скріншоти доповнення - вони будуть виводитися як фото товару, а також в описі. З їх допомогою клієнт повинен наочно побачити зміни, які привнесе додаток на сайт, в адмінку, повідомлення і т.д., і зрозуміти, за що він платить гроші.
- Відеоогляд - потрібен, щоб показати, як з модулем працювати.
- Посилання та доступи до демосайту (якщо є) - коли клієнт розуміє, що отримає, легше розлучається з грошима.
- Іконка 95х95 px - щоб додаток виглядало презентабельно в маркетплейсе.
Наявність цих матеріалів не обов'язково, але дуже бажано, тому що в рази збільшує ймовірність покупки.
- Zip-архів з самим доповненням.
- Назвіть архів в форматі modulename_moduleversion_for_OkayCMS_cmsversion.zip
Наприклад: sale_timer_1.0_for_OkayCMS_1.2.0.zip
- В корінь покладіть файл readme.txt, де описаний коментар, яким відзначені всі зміни в коді, і вказані файли, змінені повністю або створені вами.
- Якщо необхідна зміна БД, надайте також файл з SQL-запитом у форматі .sql.
Прикладіть все це до листа модератору на info@okay-cms.com . У листі вкажіть ціну на свій модуль, ви будете отримувати 50% від кожного замовлення.
That's All Folks! І пам'ятайте, ви наш найважливіший ресурс!
2. Также была бы интересна статья или видео, как на практике работать с Git, и контролировать изменения как CMS так и своих модулей, особенно когда выходят новые версии CMS которые нужно связать с своими модулями, я полагаю Git в данном процессе помогает.
P.S. Имеются много своих правок как CMS так и своих модулей, тесно связаных и зависящих друг от друга. Стыдно признавать, но вот с Git так и не удалось полноценно научиться работать, либо просто не понял как с ним правильно взаимодействовать... и когда выпускается обновление CMS, приходиться помучатся в сравнивании файлов и переносом правок как от CMS, так и связать изменения CMS c своими модулями, так как бывает что выпускаемые новые версии CMS и внесенные изменения, затрагивают логику модуля в следствии чего, забирает много времени чтобы связать обновления CMS c своими правками либо модулями, а потом еще и протестировать.
Лично я сейчас через Notepad++ по FTP подключаюсь к хостингу, открываю код и веду разработку, мне это удобно так как приходиться работать с нескольких рабочих мест и соответственно компьютеров, и завершив кусок кода на одном устройстве, легко продолжить доработку на другом компе и без локалки, а когда выходят обновления CMS c помощью Notepad++ можно сравнить файл CMS c файлом на хостинге и перенести правки, и как я понимаю чтобы контролировать версии как CMS так и модулей можно использовать Git, вот если подскажите как в данную цепочку прикрутить Git, буду очень благодарен.
Заранее спафсибо!