#language ru <> <> Данный доклад посвящён 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 = {{attachment:moin-item.png||align=right}} * Item * Может иметь метаданные * Может содержать в себе несколько версий (revision) * Версия: * Содержит метаданные (MIME, ACL, авторство, время создания, …) * Содержит собственно данные * Метаданные являются таблицей строк вида «ключ-значение» * Данные: вообще говоря, бинарные = Подсистема хранения = || {{attachment:moin-storage-layers_k.png}}|| = Что, собственно, изменилось? = * На самом деле, концепция поменялась несущественно: * Есть надежда, что аналогичные революционные или эволюционные изменения в других проектах позволят решить большое количество проблем, в основном связанных с воместимостью разных вики-серверов. = Текущее состояние = * MoinMoin 2.0 находится в активной разработке * Ввиду большого количества изменений, релиз планируется не ранее 2011 года * На данный момент практически полностью реализована базовая функциоенальность = Спасибо за внимание = * Сайт проекта: http://moinmo.in/ * Репозиторий: http://hg.moinmo.in/