❒ Сообщите, что страница была отредактирована.
РИСУНОК 8-2.
Форма редактирования со ссылками размером с форму, в настоящее время отображается «Маленький».
Идея состоит в том, что окончательный арбитр используемого размера должен исходить от браузера.
запрос клиента; например, URL-адрес, подобный следующему. Либо, либо оба из
размеры могут быть указаны как добавленные назначения параметров.
http://mydomain.com/cgi/wiki?edit=ContactsFile&cols=50&rows=15
Хотя ручная настройка URL-адреса в клиенте возможна, обычный маршрут —
предоставьте пару ссылок с предустановленными вариантами на странице редактирования или даже в форме
элемент с предустановками выпадающего списка или редактируемыми полями.
Решение для связи показано на рис. 8-2 со ссылками для небольшого, стандартного и
большой размер как в верхней, так и в нижней части формы. Нажав на любой из размеров
ссылки перезагружают страницу редактирования (и контент) с формой, измененной до предустановленных
определено в этой ссылке. Расширение одинаково подходит для модульной QuickiWiki;
только ссылки нужно изменить.
Фактический размер на экране пользователя зависит от шрифтов, используемых браузером,
потому что размеры основаны на рендеринге строк шрифтом «предварительного формата» и
столбцы текста, которые считаются моноширинными, а не абсолютными размерами.
Еще одним усовершенствованием было бы сделать пользовательские предпочтения «липкими» и
идеально редактируемый, например, на личной странице контактов пользователя. Код будет
258
АЛЬТЕРНАТИВЫ И РАСШИРЕНИЯ
затем нужно определить имя пользователя, прочитать соответствующую страницу, посмотреть, есть ли предпочтения
установлен, и примените это. Меньше накладных расходов на вики приходится на использование файлов cookie браузера.
Сохранение
Сохранение обновленной страницы — единственная процедура в этом скрипте, вызываемая запросом
обработка для POST. Эта процедура может быть более или менее сложной, в зависимости от
степень постобработки, примененная к представленным данным формы и журналам аудита. в
пример сценария, это довольно ограниченная последовательность вызовов (некоторые необязательные) из
Обработка подпрограммы Post и связанных с ней подпрограмм.
1. Определите дату и время обновления для целей журнала.
2. Загрузите любую предыдущую версию страницы, чтобы проверить конфликты версий, отследить
повторные правки одним и тем же пользователем и т. д. (Инициализируйте, если это новая страница.)
3. Разрешить любой конфликт версий (прервать обновление).
4. Обработайте все подстановки перед сохранением или действия, определенные страницей.
5. Обновите поля страницы возвращенными данными формы редактирования.
6. Записать обновленную страницу в файл, включая резервное копирование/контроль версий.
7. Обновите журналы истории.
8. Обработайте любой общий запрос на уведомление.
9. Либо создайте дополнительную страницу (спасибо), либо принудительно просмотрите
обновленная страница.