Совет 9,4: логируйте версии изменений
Все изменения легко отследить во втором, закрытом списке, который нельзя редактировать.
Просто создайте и отправьте другую строку $log процедуре, которая добавит ее в журнал.
файл по вашему выбору.
Источник для оперативной генерации последних изменений задокументирован в
раздел анализа кода на наличие изменений. cgi в главе 7. Его главное преимущество в том, что
страница изменений регенерируется по запросу из реальных файлов. Таким образом, список
невосприимчив к злонамеренному редактированию.
Что сложнее сделать в этом случае, так это указать в списке, кто
внесены изменения или как часто менялась каждая страница. Обе эти проблемы могут быть
решается путем отслеживания информации об изменениях на каждой странице, как следует из истории
пример журнала.
Изменения на странице
Вики-страницы бывают двух видов:
• Обычный текст (например, QuickiWiki)
• Скрытые поля плюс текст
Когда реализуется вторая версия, это немного усложняет процесс создания страниц.
удалось. С другой стороны, скрытые поля позволяют хранить дополнительную информацию.
с каждой страницы. Часть этой информации может быть использована для отслеживания, а часть для
предоставить визуальную информацию о странице, например, как часто страница редактировалась,
когда в последний раз и кем. Без него вы обычно ограничены датой последнего редактирования, т.к.
извлечен из штампа даты файла.
Несколько очевидных значений страницы для отслеживания со скрытыми полями:
• Номер текущей версии
• Время и дата последнего редактирования
• «Подпись» последнего редактирования
• Идентификатор IP-host-соединения последнего редактирования
• Клиент браузера, использованный для последнего редактирования
ИСТОРИЯ СОБЫТИЙ
273
Совет 9.5: Скрытая резервная копия
Вы даже можете сохранить одну или несколько предыдущих версий отредактированной страницы.
как текст скрытого поля;
Как будет видно позже, использование скрытых полей также может упростить некоторые виды доступа и редактирования.
контроль на странице.
ИСПОЛЬЗОВАНИЕ
Статистика
Базовый вики-скрипт не отслеживает историю, за исключением последних изменений и
возможно количество ревизий на странице. Веб-сервер, на котором размещена вики, может
предоставить необработанный файл журнала для анализа, но он не имеет удобного доступа для использования вики без
специальные инструменты анализа.