Решил задачу, рассказал об этом
В этой заметке опишу схему сборки обновлений собственного модуля для маркетплейс платформы битрикс своими руками, без применения дополнительных сторонних приложений. Расскажу на примере, как я собирал обновление для своего модуля "Соглашение с куки" для маркетплейса битрикс.
После релиза собственного модуля прошло около 3 месяцев, как мне в комментариях написали, что после установки модуля в системе обновления выскакивает ошибка Ошибка: "[Ux11] Ошибка описания модуля "pashkof.usecookies". Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля "pashkof.usecookies". Что интересно, за два часа до этого, мне нужно было протестировать сторонний модуль доставки и эту ошибку я пофиксил, т.к. она мне не позволяла этого сделать. Почитать как я устранил ошибку можно в статье - [Ux11] Ошибка описания модуля "pashkof.usecookies" И спустя несколько минут!, мне прилетает комментарий от некой компании, которая хотела купить мой модуль с такой же проблемой.
Ошибку я пофиксил и дальше нужно теперь обновить модуль на маркет платформе битрикс.
- Сборка содержит только те файлы, которые были изменены или добавлены по сравнению с предыдущей версией сборки. При установке обновления пользователем, эти файлы копируются как есть, в папку с установленным модулем
- При сборке, все измененые или добавленные файлы кладутся в папку с названием новой версии модуля и затем эта папка заархивируется в архив zip с аналогичным названием.
/install/version.php - файл содержит номер версии обновления и дату его выпуска.
Пример содержания файла
$arModuleVersion = array( "VERSION" => "1.0.1", //номер версии должен соответствовать названию папки в которой заархивирован модуль "VERSION_DATE" => "2019-05-14 10:50:38" ); ?>
/description.ru - содержит описание обновления. В описании можно использовать только некоторые html теги -
,
Пример содержания файла
, на английском - description.en На других языках по аналогии.
/updater.php этот файл будет обязательный, если необходимо обновить файлы вне ядра модуля или изменить базу данных. Содержит произвольный php код, который выполняется в контексте сайта.
Например нужно обновить файл script.js в структуре битрикс
Пример содержания файла
$MODULE_ID = "pashkof.usecookies"; $updater->CopyFiles("install/assets/scripts", "js/{$MODULE_ID}"); ?>
version_control.txt этот файл обязательный, если обновление зависит от версии других модулей в системе. Данный файл пока не использовал. Но как только поработаю с ним, обязательно дополню.
Если в сборке присутствует файл /install/index.php проверьте, чтобы были прямо определены следующие переменные
var $MODULE_ID = "pashkof.usecookies"; var $PARTNER_NAME = "pashkof"; var $PARTNER_URI = "http://pashkof.pro/";
Иначе вылезут соответствующие ошибки
После сборки обновления, его необходимо загрузить в персональном кабинете партнера. И после успешной загрузки будет доступен тип обновления