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) позволяют подключить внешние уведомления и вебхуки, если нужно интегрировать историю изменений в корпоративные системы мониторинга или уведомлений.
Часто задаваемые вопросы
Характеристики
| Версия | 0.9.802 |
| Добавлен | 11.03.2026 |
| Установок | Менее 50 раз |
| Код | sendev.iblockhistory |
| Адаптивный | Нет |
| Composite | Нет |