Короткий ответ

Resolvers, validators, vehicles, версии, зависимости, миграции и upgrade path. Разбираем практический порядок работ, риски, стоимость и то, как принять результат без новых проблем.

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

Что должно обновляться пакетом

ЧастьРекомендация
Файлыvehicle/resolver или package source
Namespace/menuobject vehicles
Системные настройки
значений
DB schemaмиграции по версии
Lexicon/assetsпоставлять пакетом
Удалениене удалять пользовательские данные без явного решения

Каркас сборки transport package

PHP
$builder = $modx->newObject('modPackageBuilder');
$builder->createPackage('myextra', '1.0.0', 'pl');
$builder->registerNamespace('myextra', false, true, '{core_path}components/myextra/');

$vehicle = $builder->createVehicle($object, [
    xPDOTransport::UNIQUE_KEY => 'name',
    xPDOTransport::UPDATE_OBJECT => true,
    xPDOTransport::PRESERVE_KEYS => false,
]);

$builder->putVehicle($vehicle);
$builder->pack();

Rollback надо проектировать до релиза

Если версия меняет таблицы или формат данных, одного удаления пакета недостаточно. До обновления нужен backup БД/файлов и понятная миграция назад либо совместимость кода с обеими версиями схемы.

Релизный чек-лист

ПроверкаДо публикации
Чистая установкада
Обновление предыдущей версиида
Повторная установкане создаёт дубли
Удалениепредсказуемое
Версии package/metadataсовпадают
Resolver pathsсуществуют
Manager/routesоткрываются после update

Как проверить результат

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

Связанные материалы

Проверка обновления Transport Package

После установки сравните не только номер пакета в MODX, но и фактически развёрнутые файлы, плагины и сниппеты. Отдельно проверьте источники файлов в транспортном архиве: путь в vehicle или resolver должен совпадать с расположением содержимого в пакете. При несовпадении MODX способен зарегистрировать новую версию, а рабочий код останется старым.

Безопасный цикл проверки: резервная копия, установка на staging, анализ логов установки, проверка файлов и элементов MODX, функциональный smoke-test, затем обновление рабочего окружения. Откат должен учитывать не только PHP-файлы, но и изменения схемы данных.