SenDev: iBlock History — контроль изменений инфоблоков
SenDev: iBlock History сохраняет версии элементов, разделов и торговых предложений инфоблоков. Модуль позволяет увидеть, кто и когда изменил объект, сравнить состояния, вернуть прежнюю версию, сохранить историю в архив и перенести её на другой сайт.
Основная задача модуля — дать администратору и контент-менеджеру понятную историю изменений без ручного резервного копирования каждого элемента перед редактированием. Версии создаются автоматически при добавлении, изменении и удалении объектов, если соответствующие правила включены в настройках.
[Скриншот 1: меню «История инфоблоков» в административной части 1С-Битрикс]
Как устроена работа
- Базисная версия — исходная точка для уже существующих объектов. Её рекомендуется создать после установки модуля.
- Автоматические версии — снимки, которые создаются при дальнейших изменениях.
- История версий — общий журнал со всеми сохранёнными состояниями.
- Вкладка «История» — краткая история непосредственно в карточке элемента или раздела.
- Сравнение — показывает отличия между двумя версиями или между сохранённой версией и текущим состоянием.
- Восстановление — возвращает поля, свойства и поддерживаемые файлы к выбранному состоянию.
- Устаревшие файлы — отдельный архив файлов, которые были заменены или удалены при редактировании и восстановлении.
- Экспорт и импорт — перенос выбранных версий вместе с файлами через ZIP-архив.
Рекомендуемый порядок после установки
- Откройте «Настройки» и определите, какие типы объектов нужно версионировать.
- Исключите технические инфоблоки, история которых вам не нужна.
- Проверьте правила создания версий и срок хранения.
- Откройте «Создать базис» и создайте исходные версии для существующего контента.
- Убедитесь в «Диагностике», что версии и базис появились.
- Отредактируйте тестовый элемент и проверьте вкладку «История».
- Сравните версии и выполните тестовое восстановление на некритичном объекте.
- После проверки используйте модуль в обычной работе.
[Скриншот 2: схема работы: базис → изменения → история → сравнение → восстановление]
Что считается версией
Версия содержит снимок полей и свойств объекта на конкретный момент времени. Для элементов и торговых предложений сохраняются значения полей и свойств, для разделов — поля раздела. Файловые поля и файловые свойства обрабатываются отдельно, чтобы состояние можно было восстановить даже после замены исходного файла.
В журнале используются действия CREATE, UPDATE, DELETE, RESTORE и MANUAL. Базис — это ручная версия с отдельной меткой, поэтому в диагностике он учитывается отдельно.
Что важно учитывать
- Перед массовым включением версионирования оцените объём инфоблоков и файлов: история увеличивает объём базы данных и файлового хранилища.
- Настройка «Только значимые изменения» уменьшает количество лишних версий, но для процессов, где важно фиксировать каждое сохранение, её лучше отключать.
- Восстановление изменяет текущий объект. Перед откатом проверьте нужную версию через просмотр и сравнение.
- Удаление версий и файлов из архивов необратимо. Используйте очистку только после проверки выбранных условий.
- Для торговых предложений базис следует создавать по конкретному инфоблоку предложений, а не по всем инфоблокам сразу.
[Скриншот 3: вкладка «История» в карточке элемента с несколькими версиями]