Содержание
Данный доклад посвящён MoinMoin 2.0, следующему поколению вики-сервера MoinMoin.
MoinMoin 2.0
MoinMoin 2.0: вики-сервер нового поколения
Седьмая конференция разработчиков свободных программ |
Переславль-Залесский, 2010 |
История вики
« |
The simplest online database that could possibly work.» |
Ward Cunningam |
Вики — веб-сервис, позволяющий пользователям свободно создавать и редактировать содержимое размещённых на вики-сайте страниц. Вики поддерживает форматирование текста посредством вики-синтаксиса. Другой особенностью вики является простота указания ссылок и создания новых страниц. Также следует отметить такую важную особенность вики (являющуюся енеобходимым следствием простоты внесения правок), как наличие истории изменений у каждой страницы.
Основные концепции и свойства
- Вики состоит из страниц
- Страницы вики легко можно создавать и править
- Страницы вики имеют простой синтаксис
- Страницы легко связывать
- Страницы имеют историю версий
Основная метафора в рамках концепции вики — страница. Она являет собой текст в специальной (вики-) разметке, доступный в рамках сервера по определённому адресу.
Наслоения
Страницы, имеющие другую разметку (HTML, DocBook, ReST, …)
- Прикрепляемые файлы
- ACL
- Различные системы расширений синтаксиса и функциональных возможностей
- Управление пользователями (группы, права, переименование, …)
- Параметризация отображения страниц
- Обработка страниц (замена ссылок, изменение упомянутого выше, и т. д.)
- Различные упражнения с внешним видом — user css, per-page css, …
Концепции Moin2
- Унификация хранимых на вики сущностей. Единый вид объекта — Item;
- Единый способ обработки различных форматов на основе wiki DOM и конверторов из входных и в выходные форматы.
- Подсистема хранения:
- Выделение storage backend (который может быть любым: на основе файлов, БД, DVCS…);
- mount-like подключение различных хранилищ.
Здесь не упомянуты многие другие новшества Moin2 (темплейтинг на Jinja2, изменения в i18n/l10n, переработанная система дополнений), но они носят скорее внутренний и технический характер.
Item
- Item
- Может иметь метаданные
- Может содержать в себе несколько версий (revision)
- Версия:
- Содержит метаданные (MIME, ACL, авторство, время создания, …)
- Содержит собственно данные
- Метаданные являются таблицей строк вида «ключ-значение»
- Данные: вообще говоря, бинарные
Подсистема хранения
|
Что, собственно, изменилось?
- На самом деле, концепция поменялась несущественно:
- Есть надежда, что аналогичные революционные или эволюционные изменения в других проектах позволят решить большое количество проблем, в основном связанных с воместимостью разных вики-серверов.
Текущее состояние
MoinMoin 2.0 находится в активной разработке
- Ввиду большого количества изменений, релиз планируется не ранее 2011 года
- На данный момент практически полностью реализована базовая функциоенальность
Спасибо за внимание
Сайт проекта: http://moinmo.in/
Репозиторий: http://hg.moinmo.in/