Смешивайте и подбирайте модули, пробуйте альтернативные решения — существующие модули

продолжать работать, как прежде. Если вы сломаете один модуль с изменением кода,

другие продолжают функционировать. Модульный подход означает, что определенная

объем кода должен повторяться в каждом модуле, но это небольшая цена, за которую приходится платить.

гибкость. Как вариант, общий код можно собрать в отдельный файл и

включены с использованием (импортировать во время компиляции) или требуют (включить оценивается в

время выполнения) команда.

Есть много способов реализовать одну и ту же функциональность и разные взгляды на

сколько или как мало включить в набор функций. Некоторые из этих альтернатив и

возможности расширения обсуждаются после базового анализа. Множество расширенных функций

довольно легко реализовать, поэтому реальный вопрос скорее «почему», чем «как». Другой

В главах книги эти вопросы обсуждаются с разных точек зрения пользователя и

администратор, и как и где используется вики.

Как отмечалось в условиях лицензирования ПО с открытым исходным кодом, представленных ранее в книге, вы

обязаны сохранить исходный текст об авторских правах в любом источнике вики-кода, который вы изменяете,

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


РАЗБИРАЕМ QUICKIWIKI

209

на сопроводительном компакт-диске. Кроме того, вы можете изменить функциональность по своему усмотрению,

но вы, конечно, должны взять на себя полную ответственность за результаты ваших экспериментов.

QUICKIWIKI КОМПОНЕНТНАЯ МОДЕЛЬ

Вики хранит базу данных в виде страниц плоского файла, то есть простого текста, где одна страница

соответствует одному файлу. Как отмечалось в предыдущих главах, это предпочтительнее из нескольких

точки зрения. QuickiWiki устанавливается в любой каталог и по умолчанию сохраняет страницы в

подкаталог к этому. Каталог pages создается, если он еще не существует.

Схематическая диаграмма компонентной модели QuickiWiki показана на

Рисунок 7-1. Функционал поддерживается рядом специализированных скриптовых модулей, которые

отвечать на вызовы либо явно через соответствующие URL-адреса (гиперссылки,

закладки) или неявно посредством запросов формы (кнопки), определяемой страницей, из браузера.