Смешивайте и подбирайте модули, пробуйте альтернативные решения — существующие модули
продолжать работать, как прежде. Если вы сломаете один модуль с изменением кода,
другие продолжают функционировать. Модульный подход означает, что определенная
объем кода должен повторяться в каждом модуле, но это небольшая цена, за которую приходится платить.
гибкость. Как вариант, общий код можно собрать в отдельный файл и
включены с использованием (импортировать во время компиляции) или требуют (включить оценивается в
время выполнения) команда.
Есть много способов реализовать одну и ту же функциональность и разные взгляды на
сколько или как мало включить в набор функций. Некоторые из этих альтернатив и
возможности расширения обсуждаются после базового анализа. Множество расширенных функций
довольно легко реализовать, поэтому реальный вопрос скорее «почему», чем «как». Другой
В главах книги эти вопросы обсуждаются с разных точек зрения пользователя и
администратор, и как и где используется вики.
Как отмечалось в условиях лицензирования ПО с открытым исходным кодом, представленных ранее в книге, вы
обязаны сохранить исходный текст об авторских правах в любом источнике вики-кода, который вы изменяете,
в том числе в производных версиях. Подобные термины обычно применяются к другим источникам, найденным
РАЗБИРАЕМ QUICKIWIKI
209
на сопроводительном компакт-диске. Кроме того, вы можете изменить функциональность по своему усмотрению,
но вы, конечно, должны взять на себя полную ответственность за результаты ваших экспериментов.
QUICKIWIKI КОМПОНЕНТНАЯ МОДЕЛЬ
Вики хранит базу данных в виде страниц плоского файла, то есть простого текста, где одна страница
соответствует одному файлу. Как отмечалось в предыдущих главах, это предпочтительнее из нескольких
точки зрения. QuickiWiki устанавливается в любой каталог и по умолчанию сохраняет страницы в
подкаталог к этому. Каталог pages создается, если он еще не существует.
Схематическая диаграмма компонентной модели QuickiWiki показана на
Рисунок 7-1. Функционал поддерживается рядом специализированных скриптовых модулей, которые
отвечать на вызовы либо явно через соответствующие URL-адреса (гиперссылки,
закладки) или неявно посредством запросов формы (кнопки), определяемой страницей, из браузера.