README.md

WP Change Log

Screenshot Screenshot Screenshot


Логирование любых изменений внутри сайта/мультисайта WP с возможностью отката/восстановления.

Описание

  • Отдельное хранилище в БД для лога
  • По умолчанию записи хранятся 14 дней (есть опция), циклическая запись
  • Механизм чтения логов и поиска нужной информации (объекта, события)
  • Мониторинг плагинов, изменений постов, таксономий, пользователей и избранных опций
  • Встроены инструменты очистки и оптимизации БД

Краткие инструкции


Настройки

Прежде всего, после активации плагина, необходимо установить опции для мониторинга.

  • По умолчанию мониторинг НЕ АКТИВЕН!

Переходим в меню “Инструменты” -> “Лог изменений”. Далее - вкладка “Настройки”.

Хранение записей

  • Указано кол-во дней цикла перезаписи журнала. По умолчанию - 14 дней. Также здесь отображается статус цикла.

    • Если всё хорошо, статус цикла обычно выглядит так Статус цикла: ENABLED (2023-01-30 02:00:00)
    • Показан актуальный статус события, дата активации и время ежедневного срабатывания.

Мониторинг

  • Активен или отключен. По умолчанию - отключен, поскольку опции (объекты наблюдения) не выбраны.

Объекты мониторинга

  • Необходимо указать, какие объекты будут подвержены мониторингу.

    • Посты

      • WP_Posts - все типы постов в системе будут подвержены анализу при каждом изменении.

        • Также будут учитываться обновления отдельных метаданных на каждом из постов.
    • Рубрики

      • WP_Term - любые таксономии, рубкрики, тэги, категории и т.д. - все изменения.
    • Плагины

      • Будет произведен монитогинг на предмет активации и деактивации плагинов блога.

      • Установка и удаление плагина не отслеживаются.

    • Пользователи

      • Все данные, включая опции перевода имени, будут под наблюдением.

Мониторинг опций

  • Здесь (по умолчанию) представлены базовые опции для мониторинга. Можно удалить или добавить наименования опций.

  • Если нет понимания, что есть опция блога, а что - опция сайта, лучше оставить списки опций по умолчанию.

  • Сохранить

  • После сохранения производится активация (реактивация) мониторинга и цикла перезаписи.

Лог

На вкладке “Лог” представлены (по умолчанию) последние 50 записей. Реализован infinite scroll для списка.

Реализованы фильтры и поиск, а также сортировка по значениям списка.

Управление

Элементы управления в порядке появления на экране - слева направо сверху вниз

  • Обновить

    • Перезагружает список записей журнала с сервера. По умолчанию автообновление происходит каждые 15 секунд.
  • Поиск по журналу

    • Полнотекстовый поиск по всем записям журнала. Обращаем внимание, что поиск индексирует только краткое содержание (изменения).
  • Фильтр по...

    • Позволяет выбрать дату/пользователя/тип объекта/событие для фильтрации записей.
  • Сброс

    • Сбрасывает все значения фильтров и поиска, восстанавливает состояние списка до фильтрации.
  • Удалить выбранные

    • Если есть отмеченные элементы журнала - удаляет их (безвозвратно).
  • Очистить

    • Запускает процедуру удаления тех записей, которые старше количества дней цикла.
  • Удалить всё

    • Полная очистка всех записей журнала. При этом сбрасываются счетчики лога (начинаться будут вновь с единицы).

Управление на элементе списка

  • Просмотреть

    • Детальное отображение записи журнала с дельтой изменений и базовой информацией по объекту.
  • Восстановить

    • Каждая запись в журнале хранит оригинальное состояние объекта до изменений. Можно восстановить объект полностью.
  • Удалить

    • Безвозвратно удалить запись журнала.

Тестирование


Для тестирования списка журнала (автозаполнения) можно применить автозаполнение - использовать GET параметр &testlist= со значением временного штампа (Unix Timestamp) не позднее 30 секунд от текущего времени.

Сгенерировать такое значение можно в консоли php -a > echo time(); или при помощи веб-сервисов (например, https://www.unixtimestamp.com/).

При использовании параметра &testlist= будет произведена генерация 500 новых записей со случайными значениями. Можно протестировать просмотр, фильтры, поиск и подгрузку/обновление записей журнала.

Для тестирования функций (восстановление, мониторинг) следует пройти полный путь от установки опций до внесения изменений над тем или иным объектом (пост/рубрика/пользователь/плагин/опция). Быть нужно очень внимательным при тестировании, особенно при восстановлении - ни в коем случае не восстанавливать тестовые события (из автоматически сгенерированного списка).

Тестирование цикла перезаписи подтверждено при условии значния ENABLED для статуса цикла. Добавлен также GET параметр cleanolder (целое число дней, >=1), позволяющий выполнить/форсировать очистку для произвольного кол-ва дней цикла. Например, &cleanolder=2 очистит/удалит все записи старше 2 дней. Обратить внимание следует на то, что удаление происходит для вхождений старше N дней от текущего времени. По умолчанию автоочистка происходит в 02:00 ежедневно.


Версия 1.5


  • 1.5

    • Исправлен серъезный баг при сохранении неизменного объекта (пустая дельта и/или пустые метаданные)
  • 1.4

    • Учет и восстановление для меток - добавлен сброс кэша на таксономиях постов
    • Сделано исправление для При добавлении и удалении пользователя создается лог с одинаковой пометкой "Removed"
  • 1.3

    • Правка: насильный сброс кэша при восстановлении любых объектов
    • Правка: мониторинг конечного (из корзины) удаления поста и пользователя (из листинга).
  • 1.2
    • Правка: сброс кэша на пользователях, правка для terms и term-relations.
    • Добавлено: bulk операция удаления записей, url к объекту записи, отслеживание статуса поста при изменении
    • Автообновление списка
  • 1.1
    • Правка: ajax вызовы и bulk операции, параметр очистки cleanolder
  • 1.0
    • Начальное исполнение
Описание

Логирование любых изменений внутри сайта/мультисайта WP с возможностью отката/восстановления.

Конвейеры
0 успешных
0 с ошибкой