Лицензирование и продажа модулей
Платный модуль: код продукта, что проверяет ядро, ключ на домен, подписанный пакет, публикация в каталоге 100300.ru.
Платный модуль
В module.json:
"license": {"type": "commercial", "product": "mymodule"}
Код продукта уникален и не меняется никогда — им подписываются ключи.
Что делает ядро без лицензии
- не даёт установить и включить модуль;
- контроллеры модуля отвечают 402;
- слушатели событий, фоновые задачи, хуки темы и провайдеры модуля не вызываются;
- модуль выключается при проверке лицензий.
Ядро узнаёт код модуля по его PSR-4 префиксу — поэтому весь код модуля должен жить под его пространством имён. Если вы добавляете в модуль свою точку расширения для других модулей, фильтруйте её через ModuleLicenceGuard.
На адресах разработки (localhost, *.test) всё работает без ключа.
Ключ
Лицензия — подписанный ключ на продукт и домен: бессрочно, с годом обновлений. Ключи выдаёт 100300.ru после оплаты; на сайт покупателя ключ попадает сам.
Пакет
Модуль распространяется подписанным zip-архивом: манифест с контрольной суммой каждого файла и подпись. Сайт проверяет подпись перед установкой и делает резервную копию. Обновления ставятся тем же путём.
Пробная версия
В module.json → "trial": {"exclude": [...]} — что вырезать из пробной сборки (то, без чего нельзя вести реальную работу).
Продать свой модуль
Модули сторонних разработчиков публикуются в каталоге 100300.ru через нас: пришлите модуль, мы проверим его (безопасность, лицензирование, совместимость), подпишем и опубликуем. Цена и описание — ваши, в карточке — блок market из module.json с картинками из market/.