Самый простой способ сделать это — использовать в клиенте что-то, что может
«напомнить» вики, какое предпочтительное состояние для этого конкретного пользователя. Таким образом,
вики не нужно отслеживать настройки для всех пользователей; он просто принимает то, что говорит клиент
это было предыдущее состояние для этого пользователя.
Иногда мы можем добиться этого, используя дополнительные скрытые поля формы, значения
из которых кэшируются в клиенте браузера и возвращаются в следующем запросе POST.
Схематично это показано на рис. 6-9. Метод, однако,
требуют некоторого минимума разбора запроса в модуле, который получает POST и
требует, чтобы значение передавалось между модулями соответствующим образом, используя клиент как
посредник.
Для более комплексной системы профилей пользователей мы рекомендуем реализовать
управление файлами cookie или URL-адреса с расширенным идентификатором как общий способ хранения и отзыва
определенные пользовательские настройки. Это обсуждается в главе 8.
Решение для анализа запросов
На рис. 6-10 показаны результаты соответствующей настройки парсинга запроса.
wiki, где редактирование и добавление реализованы в виде ссылок, а не кнопок.
Функциональность и вид страницы, полученные в результате нескольких добавленных комментариев,
то же самое в обоих типах вики с этими решениями.
Код для второго типа похож по концепции, хотя и отличается в деталях. в
определение верхнего и нижнего колонтитула страницы, используемое HandleBrowse, вставляется дополнительная ссылка
перед существующим Edit.
[<a href="$ScriptUrl\?append=$title">Добавить
комментарий</a>]
1
42
НАСТРОЙКА ВАШЕЙ ВИКИ
HTTP Получить
Эта страница
HTTP-сообщение
Эта страница
1}
wiki.cgi
Подавать страницу с
настройки по умолчанию
редактировать.cgi
Подавать форму редактирования
и пройти скрыто
ценить
Асинхронные состояния, вызванные пользователем
сохранить.cgi
Сохраните изменения и
отображение изменено
страница
wiki.cgi
Подача изменена
страница с пользователем
значение (проверено)
Эта страница
Скрытое значение формы
Как сохранить пользовательские настройки между запросами
и модули, использующие значения скрытых полей
РИСУНОК 6-9.
я
|
Редактировать
флажок