Удаление, переустановка, откат
Что удаление снимает, а что оставляет
С версии 7.6.0 удаление идёт мастером из двух шагов: сначала предупреждение и подтверждение, потом собственно удаление. До этого нажатие «Удалить» сразу всё сносило, без вопросов.
Первый шаг — вкладка «Удаление» с плашкой-предупреждением. Кнопка «Удалить» там намеренно не зелёная, рядом «Отмена»: удаление не должно выглядеть основным действием экрана.
Снимается: обработчики событий, фоновое задание перевода, права на модуль и служебные файлы в /bitrix/admin/ и /bitrix/tools/.
Остаётся всегда: словарь в highload-блоке и таблица состояния очереди. Переводы не удаляются ни при какой настройке — это контент, а не служебные данные, и восстановить его неоткуда. Если модуль вернуть, переводить заново и платить второй раз не придётся.
Остаётся по галочке: настройки модуля — языки, глоссарий, описание сайта для переводчика и выбранный переводчик. На первом шаге мастера в строке «Настройки модуля» стоит галочка «Сохранить»; снимете — настройки уйдут вместе с модулем, и при повторной установке их придётся задать заново.
Переустановка
Удалить → залить файлы → Установить заново.
Данные переживают эту операцию: словарь и очередь остаются на месте, права после установки досеются только тем группам, у которых их не было. Выданные вручную не тронутся.
Переустановка помогает, когда разъехались служебные файлы вне каталога модуля — скрипты, стили, эндпоинт. Но чаще того же результата достигает обычное обновление, и оно безопаснее: не снимает обработчики даже на минуту.
Откат на прежнюю версию
- Верните файлы модуля из бэкапа.
- Откатите версию в
b_module:
UPDATE b_module SET VERSION = '7.6.1' WHERE ID = 'mrlexndr.translate';
- При необходимости восстановите таблицу словаря и таблицу состояния.
Третий шаг нужен не всегда. Схема между версиями меняется добавлением колонок, а не удалением: старый код на новой схеме обычно работает — он просто не знает про лишние поля. Восстанавливать базу стоит, если между версиями менялись данные, а не структура; что именно менялось, смотрите в Истории версий.
Откат из-за версии PHP
Отдельный случай: залили 8.0.0 или новее на сервер с PHP старее 8.2. Обновление откажется само и схему не тронет, но файлы вы уже заменили, и машинный перевод до подъёма PHP работать не будет.
Откатывайтесь возвратом каталога из бэкапа, а не удалением модуля. Удаление здесь ничего не решает и делает хуже: оно снимет обработчики событий, фоновое задание и права, и после подъёма PHP всё это придётся ставить заново. Схема при этом всё равно осталась от прежней версии — откатывать в ней нечего.
Если поднять PHP можно в ближайшее время, откат не нужен вовсе: витрина, словарь и админка продолжают работать. Поднимите версию и нажмите «Обновить».
Что будет, если просто удалить каталог
Сайт продолжит работать. Модуль не меняет стандартные объекты Битрикса, и даже полное удаление каталога вместе с записями в b_module_to_module и b_agent ничего не ломает — пропадёт только подстановка переводов, и посетитель увидит исходные русские значения.
Это стоит знать на случай аварии: модуль перевода не может стать причиной недоступности сайта, и искать в нём причину пятисотки не надо.