Категории

SenDev: iBlock History - контроль изменений инфоблоков

Описание

Контроль изменений инфоблоков: как не потерять ни одной правки

Любой, кто работал с контентом в Битрикс, знает эту боль: кто-то отредактировал страницу, а вы не можете понять, что именно изменилось и когда. Стандартные инструменты платформы не дают ответов — история правок либо отсутствует, либо хранится в урезанном виде. Модуль SenDev: iBlock History решает эту проблему кардинально. Он автоматически создаёт версии при каждом добавлении, изменении или удалении элемента инфоблока. При этом вы сами решаете, что считать значимым изменением: служебные поля вроде TIMESTAMP_X можно игнорировать, чтобы не засорять историю. А если у вас массовый импорт — версионирование легко отключить на время.

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

Восстановление данных и работа с файлами: всё под контролем

Если правка оказалась ошибочной, восстановить элемент до любой версии можно в один клик. Модуль автоматически подтянет файлы, которые были привязаны к этой версии, а заменённые файлы при откате не удаляются — они архивируются в отдельную папку obsolete. Так вы всегда можете вернуться даже к удалённому файлу, если передумали.

Система копирует все файлы в каждую версию, но делает это с умом: дедупликация по хешу позволяет хранить одинаковые файлы в единственном экземпляре. Это даёт экономию дискового пространства до 70% по сравнению с обычным копированием. Для сайтов с большим количеством изображений и документов это серьёзный аргумент.

Гибкие настройки и интеграции: подстраивается под любые сценарии

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

Вкладка «История» встраивается прямо в карточку редактирования элемента или раздела — не нужно никуда переходить. Модуль поддерживает торговые предложения (работает с каталогом), высоконагруженные блоки (Highload), формы и бизнес-процессы. Для разработчиков есть полноценный REST API, CLI-команды для скриптов и вебхуки для уведомления внешних систем. Экспорт истории в ZIP с файлами и импорт на другой сайт позволяют мигрировать данные между проектами без потери версий.

Безопасность и целостность данных: спокойствие администратора

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

Разграничение прав настроено по модели R/W/X: отдельно можно дать доступ на просмотр истории, восстановление и удаление версий. Все действия логируются в EventLog: кто смотрел, кто восстанавливал, кто экспортировал. Данные и комментарии перед сохранением проходят санитизацию от XSS-атак. Для проектов с высокими требованиями к безопасности это обязательная опция.

Производительность и удобство администрирования

Модуль спроектирован для работы с большими объёмами данных. Умная очистка агентами автоматически удаляет старые версии и obsolete-файлы по заданным политикам — вам не нужно думать об этом вручную. Режим «Только значимые изменения» предотвращает раздувание истории за счёт игнорирования служебных полей. Для проектов с миллионами записей поддерживается партиционирование таблиц версий.

Поиск работает по содержимому полей, свойств и комментариев внутри истории — это помогает быстро найти, кто и когда изменил конкретный блок текста. Визуальный diff с подсветкой добавленных и удалённых данных делает историю наглядной, как в системах контроля версий кода. А события модуля (OnAfterVersionCreate) позволяют подключить внешние уведомления и вебхуки, если нужно интегрировать историю изменений в корпоративные системы мониторинга или уведомлений.

Часто задаваемые вопросы

SenDev: iBlock History - контроль изменений инфоблоков
8 400 ₽
1 обсуждение

Характеристики

Версия 0.9.802
Добавлен 11.03.2026
Установок Менее 50 раз
Код sendev.iblockhistory
Адаптивный Нет
Composite Нет