Готовые решения - установка, обновление, разбор последствий
Готовое решение экономит недели работы и приносит чужой код в ваш проект. Здесь о том, как получить первое и удержать под контролем второе.
Что общего у этих задач
Решение ставят сначала на копии. Установка меняет базу и файлы, а откат на боевом сайте стоит дороже, чем лишний час на стенде.
Чужой код подписывается на ваши события. Половина странностей после установки объясняется обработчиком, о котором никто не знал.
Обновления решения живут своей жизнью. Они приходят отдельно от продукта, и брошенное автором решение однажды перестаёт работать с новым ядром.
Ответственность за решение остаётся на вас. Заказчику неважно, чей код сломал витрину, а разбираться с последствиями всё равно придётся команде проекта. Поэтому выбор решения - это техническое решение, а не только вопрос цены.
С чего начать
Начинают с описания решения и даты его последнего обновления. Брошенное решение обходится дороже собственного кода, даже если стоит ноль рублей. Смотрят поддерживаемые версии продукта, отзывы и наличие ответов автора на вопросы.
Дальше ставят решение на копию сайта и проходят основные сценарии. Проверяют оформление заказа, обмен с учётной системой и скорость витрины до и после установки.
Перед боевой установкой снимают резервную копию и записывают порядок отката. Список обработчиков, которые повесило решение, стоит сохранить отдельно: он пригодится при первом же странном поведении сайта.
Решения подтемы
- Готовое решение в проекте: установка, вмешательство, удаление - что проверить до, что смотреть после и что остаётся при удалении.
- Обновление сторонних решений: совместимость, проверка, откат - совместимость, порядок и откат.
- Сайт сломался после установки решения: разбор причин - обработчики решения, свои шаблоны, требования, правки ядра.
- Решение изнутри: файлы, следы, вмешательство - состав поставки, установщик, следы в базе и файлах, удаление.
Частые вопросы
Что смотреть перед установкой решения?
Дату последнего обновления, поддерживаемые версии продукта и отзывы. Брошенное решение дороже собственного кода.
Можно ли ставить решение сразу на боевой сайт?
Не стоит: установка меняет и файлы, и базу. Сначала копия, потом боевой сайт.
Почему после установки сайт стал медленнее?
Обычно из-за обработчиков решения на общих событиях. Их видно списком подписок в коде.
Что остаётся после удаления решения?
Часто таблицы, настройки и загруженные файлы. Полную чистку делают руками после удаления.
Связанные темы
- Модули и решения - устройство модулей целиком
- Свой модуль: структура, установка, автозагрузка классов - как то же самое устроено изнутри
- Обновление продукта: подготовка, порядок, откат - обновления ядра и решений
- Обработчик события: регистрация, аргументы, отмена действия - чем решение вмешивается в проект
- Раздел Модули и решения