Interested Article - MoinMoin
- 2021-09-12
- 1
MoinMoin — мощный, простой в использовании и расширяемый вики-движок , написанный на языке Python . MoinMoin — свободное программное обеспечение, распространяемое по лицензии GNU GPL .
Название происходит от приветствия «Moin» во фризском языке .
Для хранения информации MoinMoin использует файловую систему .
Может работать практически с любым веб-сервером , поддерживающим CGI / FastCGI / WSGI , или без него (со встроенным веб-сервером на базе ).
История
MoinMoin появился примерно в 2000 году . Изначально проект разрабатывался Юргеном Херманом (Jürgen Hermann), на данный момент он покинул проект и разработка ведётся командой людей , возглавляемой Томасом Вальдманом (Thomas Waldmann). В качестве основы для MoinMoin был использован движок , и MoinMoin сильно эволюционировал с того времени. На данный момент MoinMoin используется на , а также в качестве корпоративной и персональной вики в множестве мест .
Архитектура
MoinMoin имеет достаточно гибкую архитектуру, следствием чего является богатый набор встроенных функций и простота расширяемости. Ключевыми компонентами вики-сервера MoinMoin являются:
- Сервер. Обрабатывает запросы и вызывает соответствующие обработчики.
- Обработчики-действия (actions). На основании параметров запроса и конфигурации реализуют различную функциональность вики.
- Хранилище и кэш. Позволяют хранить различные виды данных (в первую очередь, страницы вики и прикреплённые к ним файлы, также там содержатся другие виды объектов, такие, как и ), и предоставляют возможности по кэшированию (основной способ кэширования — pickle).
- Механизм аутентификации. Позволяют аутентифицироваться пользователям различными способами (HTTP auth, LDAP, PHP cookie, …), подробнее см.
- Механизм авторизации и разграничения прав доступа (security policy). Обеспечивают различные методы разграничения доступа, в первую очередь, ACL. См. также и .
- Механизмы оповещения. Реализуют поддержку различных видов оповещений при возникновении различных событий, см. .
- Обработчики входных форматов (parsers, парсеры). Вызываются для обработки страницы или блока текста в некоем входном формате. Могут дополняться пользовательскими парсерами.
- Обработчики выходных форматов (formatters, форматтеры). Вызываются парсерами для генерации текста в выходном формате.
- Макрокоманды (macro). Могут использоваться в теле страницы для генерации произвольного содержимого и расширения синтаксиса, таким образом.
Каждая из описанных систем реализована в виде основного ядра и модулей, реализующих конкретную функциональность, посему каждая из них может быть дополнена сторонними модулями, что и обеспечивает определённую гибкость.
Преимущества и функциональные особенности
- Может работать практически на любой операционной системе и со многими веб-серверами ( Apache , IIS , WebLogic , Lighttpd и др.).
- Не требует установки дополнительного программного обеспечения, такого, как система управления базами данных или система управления версиями
- Благодаря наличию встроенного веб-сервера может использоваться как кросс-платформенный переносимый вики-движок ( Вики, которая всегда с тобой, вне зависимости от установленной ОС )
- Имеет встроенный полноценный WYSIWYG -редактор (интегрированный CKeditor ), который позволяет редактировать wiki-разметку привычным для простых пользователей способом
- Может использовать поисковой движок , что предоставляет такие возможности, как индексация различных видов содержимого (в том числе различных форматов прикреплённых файлов; на данный момент поддерживается индексирование файлов в форматe Open Document Format , MS Office , PDF , различных текстовых форматов, мета-данных EXIF в изображениях JPEG и текстовых строк в бинарных файлах), морфологический поиск, поиск файлов по типу MIME и ряд других
- Имеет встроенную поддержку Java-апплетов для создания иллюстраций на вики — AnyWikiDraw и TWikiDraw
- Поддержка механизмов обработчиков входного и выходного форматов («parser» и «formatter») позволяет использовать на вики различные синтаксисы разметки в теле страниц (на данный момент поддерживаются, (недоступная ссылка) , синтаксис , формат , XML -страницы с использованием XSLT , отображение в виде таблиц CSV , подсветка синтаксиса для различных текстовых форматов , подробнее см. ) и экспортировать страницы в различных форматах (помимо HTML, возможен экспорт в plain text и DocBook). Кроме того, существуют репозитории сторонних и , позволяющих поддерживать другие форматы на вики.
- Как интерфейс, так и системные страницы и страницы помощи переведены на большое количество языков (более 30). Кроме того, MoinMoin имеет поддержку многоязычных вики (вики, на которых используется несколько языков для страниц ). В версиях 1.8.6 и 1.9 русская локализация была обновлена.
- Поддержка списков доступа и различных политик безопасности на их основе .
- Поддержка как свободного синтаксиса ссылок, так и ссылок в CamelCase . Поддержка встраивания различных форматов файлов (изображения, аудио, видео, SWF , других страниц) в тело страницы (подробнее см. ).
- Механизмы защиты от спама : как на основе чёрных списков (централизованно обновляемых), так и с использованием текстовой капчи .
- Механизм защиты от флуда : имеется возможность ограничить количество запросов определённых действий в определённый момент времени для одного IP или пользователя.
- Поддержка синхронизации содержимого частей нескольких вики посредством механизма XML RPC .
- Возможность подписываться на уведомления о различных действиях, производимых со страницами (правка, переименование, прикрепление файла, удаление, …) по почте или по XMPP .
Недостатки
- Поскольку информация хранится в файлах, MoinMoin ориентирован на сравнительно небольшое количество страниц (по утверждению разработчиков, не более 10 000 страниц). Также, в связи со способом отображения имён страниц в имена директорий для их хранения, существуют ограничения на длину имён страниц, накладываемые используемой файловой системой.
- Не поддерживает редактирование секций .
- Отсутствует поддержка системы версий для прикреплённых файлов .
MoinMoin 2.0
Начиная с 2007 года ведётся работа над кардинальным изменением архитектуры движка, этот проект получил кодовое имя MoinMoin 2.0. Ветка 1.9, по заявлениям разработчиков, является последней среди 1.x. Версия 2.0 изначально планировалась к выходу в 2010—2011 году, но на ноябрь 2014 дата релиза всё ещё неизвестна.
Ключевые особенности версии 2.0 таковы.
-
Изменённый способ хранения страниц.
- Каждый элемент (страница или прикреплённый файл) хранится в общем хранилище унифицировано, с каждым элементом (Item) связана история версий и метаданные .
- Поддержка различных способов хранения содержимого вики: на данный момент заявлена поддержка hg , различных SQL БД посредством SQLAlchemy , файловое хранилище 1.x и новый формат файлового хранилища .
- Преобразование элементов из входного формата в формат представления посредством .
- Темы внешнего вида на основе Jinja 2.
- Миграция на CKEditor в качестве WYSIWYG -редактора.
- Переработка системы модулей и XML RPC.
На сайте (недоступная ссылка) развёрнута тестовая установка MoinMoin 2.0.
Ссылки
- (англ.) .
Примечания
- См. также от 2 февраля 2009 на Wayback Machine (англ.)
- В версии 2.0 от 13 сентября 2009 на Wayback Machine поддержка различных видов хранилищ: различных SQL БД посредством SQLAlchemy , hg и др.
- См. от 19 сентября 2009 на Wayback Machine (англ.) , от 10 марта 2009 на Wayback Machine (англ.)
- До версии 1.9 использовался веб-сервер Twisted http
- . Дата обращения: 18 января 2010. Архивировано из 27 декабря 2015 года.
- См. от 12 октября 2009 на Wayback Machine (англ.)
- Об этом свидетельствуют, в частности, персональные страницы участников на сайте MoinMoin, где многие их владельцы указывают, что используют MoinMoin в качестве корпоративной вики
- При этом для поддержки некоторых дополнительных возможностей, таких, как поиск от 7 августа 2011 на Wayback Machine , и , от 7 августа 2011 на Wayback Machine , требуется установка соответствующих программ и модулей Python.
- См.
- В версии 1.9 подсветка синтаксиса реализована посредством от 5 января 2012 на Wayback Machine , что позволяет подсвечивать синтаксис от 5 января 2012 на Wayback Machine
- См.
- См. , ,
- См.
- см. и от 24 апреля 2011 на Wayback Machine (англ.)
- На от 23 февраля 2010 на Wayback Machine имеется ряд сторонних патчей для различных версий MoinMoin, в различной мере реализующих данную функцию. Кроме того, за реализацию её в полной мере до конца 2010 года от 29 ноября 2010 на Wayback Machine
- Планируется разрешить в MoinMoin 2.0 путём унификации файлов и страниц и поддержки системы версий для них
- Дата обращения: 11 декабря 2009. 13 сентября 2009 года.
- См. от 9 ноября 2009 на Wayback Machine
- 2021-09-12
- 1