Статьи 1С-Битрикс

Решил задачу, рассказал об этом

Сборка обновления собственного модуля Битрикс

Сборка обновления собственного модуля Битрикс

В этой заметке опишу схему сборки обновлений собственного модуля для маркетплейс платформы битрикс своими руками, без применения дополнительных сторонних приложений. Расскажу на примере, как я собирал обновление для своего модуля "Соглашение с куки" для маркетплейса битрикс.

Небольшое предисловие.

После релиза собственного модуля прошло около 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 теги -

    <b>,<i>,<u>,<li>,<ul>,<span>,<p>, <br>

    Пример содержания файла

    
    		<ul>
    			<li>Исправлена ошибка [Ux11] Ошибка описания модуля "pashkof.usecookies"</li>
    		</ul>
    		

    , на английском - 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

Если в сборке присутствует файл /install/index.php проверьте, чтобы были прямо определены следующие переменные


		var $MODULE_ID = "pashkof.usecookies";
		var $PARTNER_NAME = "pashkof";
		var $PARTNER_URI = "http://pashkof.pro/";
		

Иначе вылезут соответствующие ошибки

Загрузка в персональный кабинет партнера

После сборки обновления, его необходимо загрузить в персональном кабинете партнера. И после успешной загрузки будет доступен тип обновления

  • Тип Альфа - обновление с данным типом будет возможно для установки и тестирования только вам по спец лицензионному ключу. Его можно найти в кабинете партнера
  • Тип Бета - обновление будет доступно всем, у кого в настройках главного модуля во вкладке "Обновления", не стоит галочка - "Устанавливать только стабильные обновления"
  • Тип Стабильное - обновление доступно всем. В этот режим переводится когда обновление протестировано и соответственно стабильно работает.

Возврат к списку