Сервер обновления расширения Joomla

SovMart формирует XML обновлений для элемента с платформой «Расширение Joomla». Эта статья нужна автору, который хочет связать своё расширение с таким XML. Сначала подготовьте корректную идентичность расширения и ZIP, опубликованную версию с файлом и проверенные требования к окружению.

Как устроена доставка

Joomla получает XML с описанием выпусков, выбирает подходящую версию и затем скачивает её установочный файл. Адрес сервера задаётся в <updateservers> манифеста расширения. Чтение XML и получение ZIP — отдельные запросы. Общий механизм описан в документации Joomla Update Servers.

SovMart создаёт extension.xml и changelog.xml. В обновления входят опубликованные версии выбранной платформы с прикреплённым файлом. В XML используются технические параметры элемента, номер и стабильность версии, требования к Joomla/PHP и метаданные ZIP.

Сервер обновлений Joomla
Сервер обновлений Joomla

Адрес XML сервера обновлений и ссылка на ZIP внутри метаданных.

Получите адрес и добавьте его в расширение

  1. Проверьте сохранённые type, element и, для плагина, folder. Они должны соответствовать установленному расширению.
  2. Убедитесь, что версия опубликована, имеет ZIP и относится к платформе Joomla.
  3. Если в управлении элементом доступно действие «Сервер обновления», откройте его и скопируйте фактический URL. Используйте адрес целиком; не собирайте путь из названия продукта или имени ZIP.
  4. Откройте URL и проверьте содержимое extension.xml: свой элемент, версию, тип, ограничения и downloadurl.
  5. Добавьте URL в манифест своего расширения и выпустите архив с этим манифестом.

Пример фрагмента; адрес необходимо заменить скопированным URL:

<updateservers>
    <server type="extension" priority="1" name="Example Updates">https://market.example/ACTUAL_PATH/extension.xml</server>
</updateservers>

Если действие отсутствует или XML не содержит выпуск, проверьте платформу, опубликованную версию, файл и доступность элемента через продукт. Не подменяйте отсутствующий адрес предположительным URL; передайте сведения о выпуске в поддержку.

Что проверить в XML

ДанныеПроверка автора
element, type, folder, clientСовпадают с идентичностью и областью расширения
versionСоответствует содержимому ZIP и номеру выпуска
tags/tagПравильно отражает стабильный или предварительный выпуск
targetplatformСодержит заявленный шаблон версий Joomla и, если нужны, ограничения dev level
php_minimumМинимальная версия PHP соответствует проверенному окружению
supported_databasesУказаны только поддерживаемые и проверенные вами СУБД
downloads/downloadurlВозвращает нужный ZIP при предусмотренном способе доступа
changelogurlОткрывает список изменений, если он задан для выпуска

Для плагинов генератор удаляет префикс plg_ и префикс группы из element; для шаблонов — tmpl_, tpl_ или tmp_. Всё равно сверяйте итоговый XML с установленным расширением и не полагайтесь только на автоматическое преобразование имени.

Описание изменений версии преобразуется в текст для changelog.xml. Не рассчитывайте на сохранение интерактивных блоков, оформления или изображений внутри окна обновлений Joomla. Заполните понятное текстовое описание основных изменений в версии элемента.

Платные расширения

Публичная доступность XML не даёт права скачать платный ZIP. Ссылки в XML ведут на скачивание сайта SovMart, где платному продукту нужны пользовательская сессия и активное назначение лицензии. Удалённый установщик Joomla не получает браузерную сессию покупателя автоматически.

В Joomla существует механизм <dlid> для передачи ключа скачивания, однако в текущем SovMart ключ активации не обслуживает этот механизм. Добавление <dlid> с ключом SovMart само по себе не делает платное обновление рабочим. О механизме Joomla см. раздел Download Keys в описании манифеста.

Для покупателя платного продукта используйте проверенный сценарий ручного скачивания и обновления. Если издатель предлагает другой способ доступа, он должен быть отдельно описан и проверен с платной лицензией; обычная ссылка XML этого не обеспечивает.

Проверка результата

На отдельном сайте установите предыдущую версию расширения с правильным адресом сервера. Проверьте обнаружение нового выпуска, содержимое списка изменений и реальное получение ZIP. Для бесплатного продукта проверьте скачивание без входа. Для платного продукта отдельно проверьте выбранный вами способ авторизации и сообщения об отказе.

Если Joomla видит обновление, но вместо ZIP получает страницу входа, сначала исправьте способ доступа. Если обновление не обнаружено, проверьте адрес XML, идентичность расширения, номера версий, стабильность и требования к окружению.

Результат: адрес XML связан с расширением, а обнаружение обновления и получение его файла проверены как отдельные действия. Дополнительные различия описаны в учётных данных и доступе.

К оглавлению помощи

Содержание помощи