Пакет Joomla из нескольких расширений

Пакет Joomla подходит, когда продукт должен одной установкой поставить несколько связанных расширений. До сборки подготовьте и отдельно проверьте каждый вложенный архив. В SovMart для такого выпуска нужен элемент с платформой «Расширение Joomla» и типом package.

Отличайте пакет от состава продукта

Пакет Joomla — один установочный ZIP. Продукт SovMart — коммерческая редакция с элементами. Добавление нескольких элементов в продукт не собирает из них пакет Joomla.

Возможны два самостоятельных решения:

Задача покупателяЧто подготовить
Установить компонент и связанный плагин одним действиемОдин элемент с ZIP пакета Joomla
Скачивать несколько независимых расширений по отдельностиНесколько элементов в составе продукта

Выберите модель до выпуска. Если публикуете и целый пакет, и отдельные расширения, объясните пользователю, какой способ установки и обновления вы поддерживаете, чтобы он не устанавливал одни и те же части повторно по разным инструкциям.

Согласуйте имена и состав

У пакета собственная идентичность: например, type=package, element=pkg_example. Она отличается от идентичности входящих компонента com_example и плагина example группы system. Сохраните соответствие между именами вложенных ZIP, их манифестами и записями <file> внешнего манифеста. Для обычного обновления сохраняйте идентификаторы установленных частей; см. названия и идентификаторы Joomla.

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

Пример структуры

Joomla package содержит собственный манифест и вложенные расширения. Имя манифеста связано с <packagename>: для example используется pkg_example.xml. Атрибуты id вложенных записей должны соответствовать установленным расширениям; плагину также нужна группа. Эти правила описаны в официальной документации Joomla Packages.

pkg_example_1_2_3.zip
├── pkg_example.xml
└── packages/
    ├── com_example.zip
    └── plg_system_example.zip

Пример манифеста для уже подготовленных компонента и системного плагина:

<?xml version="1.0" encoding="UTF-8"?>
<extension type="package" method="upgrade">
    <name>Example Package</name>
    <packagename>example</packagename>
    <version>1.2.3</version>
    <description>Компонент Example и системный плагин Example</description>
    <files folder="packages">
        <file type="component" id="com_example">com_example.zip</file>
        <file type="plugin" id="example" group="system">plg_system_example.zip</file>
    </files>
</extension>

Замените имена, версию и состав своими значениями. Этот пример не содержит код вложенных расширений и не задаёт политику их зависимостей. При необходимости отдельно предусмотрите установочный скрипт и правила удаления частей пакета.

Пакет Joomla
Пакет Joomla

Вложенные ZIP-архивы пакета Joomla и соответствующие записи манифеста.

Настройте пакет в SovMart

  1. В платформе элемента выберите «Расширение Joomla».
  2. В «Тип расширения Joomla» выберите «Пакет» (package).
  3. Укажите «Системное имя расширения» pkg_example, соответствующее вашему пакету.
  4. В «Состав пакета Joomla» отметьте типы входящих расширений, например «Компонент» и «Плагин». Это описание состава; оно не создаёт вложенные ZIP и не заменяет <files> в манифесте.
  5. Создайте версию пакета, загрузите внешний ZIP и заполните требования всего поставляемого комплекта к окружению.

Внешние имена pkg_example_1_2_3.zip и pkg_example.1.2.3.zip соответствуют правилу SovMart: одиночные точки между непустыми частями основы разрешены. Вложенные ZIP проверяются на безопасность вместе с внешним архивом, поэтому чрезмерная вложенность или большой распакованный объём могут привести к отказу.

Проверьте установку и обновление

На отдельном сайте выполните чистую установку пакета. Затем проверьте обновление с поддерживаемого предыдущего выпуска, наличие всех частей, их версии и работу совместных функций. Отдельно проверьте выбранный вами сценарий удаления: ошибочный id или группа плагина могут проявиться именно при удалении пакета.

Скачайте опубликованный файл из SovMart и повторите проверку с ним. Так вы проверите и сам архив, и то, что к версии прикреплён правильный файл. При ошибке вложенного расширения исправьте его архив и пересоберите пакет; изменение одного поля «Состав пакета Joomla» не исправит установку.

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

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

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