Сервер обновления расширения Joomla
SovMart формирует XML обновлений для элемента с платформой «Расширение Joomla». Эта статья нужна автору, который хочет связать своё расширение с таким XML. Сначала подготовьте корректную идентичность расширения и ZIP, опубликованную версию с файлом и проверенные требования к окружению.
Как устроена доставка
Joomla получает XML с описанием выпусков, выбирает подходящую версию и затем скачивает её установочный файл. Адрес сервера задаётся в <updateservers> манифеста расширения. Чтение XML и получение ZIP — отдельные запросы. Общий механизм описан в документации Joomla Update Servers.
SovMart создаёт extension.xml и changelog.xml. В обновления входят опубликованные версии выбранной платформы с прикреплённым файлом. В XML используются технические параметры элемента, номер и стабильность версии, требования к Joomla/PHP и метаданные ZIP.

Адрес XML сервера обновлений и ссылка на ZIP внутри метаданных.
Получите адрес и добавьте его в расширение
- Проверьте сохранённые
type,elementи, для плагина,folder. Они должны соответствовать установленному расширению. - Убедитесь, что версия опубликована, имеет ZIP и относится к платформе Joomla.
- Если в управлении элементом доступно действие «Сервер обновления», откройте его и скопируйте фактический URL. Используйте адрес целиком; не собирайте путь из названия продукта или имени ZIP.
- Откройте URL и проверьте содержимое
extension.xml: свой элемент, версию, тип, ограничения иdownloadurl. - Добавьте 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 связан с расширением, а обнаружение обновления и получение его файла проверены как отдельные действия. Дополнительные различия описаны в учётных данных и доступе.