MoinMoin

Материал из Википедии — свободной энциклопедии
MoinMoin
Логотип программы MoinMoin
Скриншот программы MoinMoin
Скриншот сайта http://moinmo.in/, работающего под управлением MoinMoin
Тип
Wiki
Разработчики Thomas Waldmann, Jürgen Hermann, и др.
Написана на Python
Операционная система
Кроссплатформенное программное обеспечение
Языки интерфейса более 30 языков, в том числе русский
Первый выпуск 29 июля 2000[1]
Последняя версия
Репозиторий github.com/moinwiki/moin
Лицензия
GNU General Public License
Сайт moinmo.in
Логотип Викисклада Медиафайлы на Викискладе

MoinMoin — мощный, простой в использовании и расширяемый

GNU GPL
.

Название происходит от приветствия «Moin» во

фризском языке[3]
.

Для хранения информации MoinMoin использует файловую систему[4].

Может работать практически с любым веб-сервером, поддерживающим CGI/FastCGI/WSGI[5], или без него (со встроенным веб-сервером на базе Werkzeug[6]).

История

MoinMoin появился примерно в 2000 году[7]. Изначально проект разрабатывался Юргеном Херманом (Jürgen Hermann), на данный момент он покинул проект и разработка ведётся командой людей[8], возглавляемой Томасом Вальдманом (Thomas Waldmann). В качестве основы для MoinMoin был использован движок PikiPiki, и MoinMoin сильно эволюционировал с того времени. На данный момент MoinMoin используется на ряде сайтов, а также в качестве корпоративной и персональной вики в множестве мест[9].

Архитектура

MoinMoin имеет достаточно гибкую архитектуру, следствием чего является богатый набор встроенных функций и простота расширяемости. Ключевыми компонентами вики-сервера MoinMoin являются:

  • Сервер. Обрабатывает запросы и вызывает соответствующие обработчики.
  • Обработчики-действия (actions). На основании параметров запроса и конфигурации реализуют различную функциональность вики.
  • Хранилище и кэш. Позволяют хранить различные виды данных (в первую очередь, страницы вики и прикреплённые к ним файлы, также там содержатся другие виды объектов, такие, как словари и группы), и предоставляют возможности по кэшированию (основной способ кэширования — pickle).
  • Механизм аутентификации. Позволяют аутентифицироваться пользователям различными способами (HTTP auth, LDAP, PHP cookie, …), подробнее см. http://master19.moinmo.in/ПомощьПоАутентификации
  • Механизм авторизации и разграничения прав доступа (security policy). Обеспечивают различные методы разграничения доступа, в первую очередь, ACL. См. также http://master19.moinmo.in/ПомощьПоСпискамДоступа и http://master19.moinmo.in/КакНастраивать/ПравилаДоступа.
  • Механизмы оповещения. Реализуют поддержку различных видов оповещений при возникновении различных событий, см. http://master19.moinmo.in/ПомощьПоОповещению.
  • Обработчики входных форматов (parsers, парсеры). Вызываются для обработки страницы или блока текста в некоем входном формате. Могут дополняться пользовательскими парсерами.
  • Обработчики выходных форматов (formatters, форматтеры). Вызываются парсерами для генерации текста в выходном формате.
  • Макрокоманды (macro). Могут использоваться в теле страницы для генерации произвольного содержимого и расширения синтаксиса, таким образом.

Каждая из описанных систем реализована в виде основного ядра и модулей, реализующих конкретную функциональность, посему каждая из них может быть дополнена сторонними модулями, что и обеспечивает определённую гибкость.

Преимущества и функциональные особенности

Недостатки

  • Поскольку информация хранится в файлах, MoinMoin ориентирован на сравнительно небольшое количество страниц (по утверждению разработчиков, не более 10 000 страниц). Также, в связи со способом отображения имён страниц в имена директорий для их хранения, существуют ограничения на длину имён страниц, накладываемые используемой файловой системой.
  • Не поддерживает редактирование секций[17].
  • Отсутствует поддержка системы версий для прикреплённых файлов[18].

MoinMoin 2.0

Начиная с 2007 года ведётся работа над кардинальным изменением архитектуры движка, этот проект получил кодовое имя MoinMoin 2.0. Ветка 1.9, по заявлениям разработчиков, является последней среди 1.x. Версия 2.0 изначально планировалась к выходу в 2010—2011 году, но на ноябрь 2014 дата релиза всё ещё неизвестна.

Ключевые особенности версии 2.0 таковы.

На сайте http://test.moinmo.in/ (недоступная ссылка) развёрнута тестовая установка MoinMoin 2.0.

Ссылки

Примечания

  1. https://sourceforge.net/projects/moin/files/moin/0.1/
  2. The MoinMoin Wiki Engine
  3. См. также http://moinmo.in/MoinMoinEtymology Архивная копия от 2 февраля 2009 на Wayback Machine (англ.)
  4. БД посредством SQLAlchemy, hg
    и др.
  5. См. [1] Архивная копия от 19 сентября 2009 на Wayback Machine (англ.), [2] Архивная копия от 10 марта 2009 на Wayback Machine (англ.)
  6. До версии 1.9 использовался веб-сервер Twisted http
  7. Информация из файла docs/CHANGES о версии 0.1. Дата обращения: 18 января 2010. Архивировано из оригинала 27 декабря 2015 года.
  8. См. http://moinmo.in/MoinCoreTeamGroup Архивная копия от 12 октября 2009 на Wayback Machine (англ.)
  9. Об этом свидетельствуют, в частности, персональные страницы участников на сайте MoinMoin, где многие их владельцы указывают, что используют MoinMoin в качестве корпоративной вики
  10. При этом для поддержки некоторых дополнительных возможностей, таких, как поиск Xapian Архивная копия от 7 августа 2011 на Wayback Machine, поддержка DocBook и RST, индексация файлов MS Office и PDF Архивная копия от 7 августа 2011 на Wayback Machine, требуется установка соответствующих программ и модулей Python.
  11. См. http://master19.moinmo.in/ПомощьПоРисункам
  12. В версии 1.9 подсветка синтаксиса реализована посредством Pygments [3] Архивная копия от 5 января 2012 на Wayback Machine, что позволяет подсвечивать синтаксис более чем для 150 форматов Архивная копия от 5 января 2012 на Wayback Machine
  13. См. http://master19.moinmo.in/ПомощьПоПоддержкеЯзыков
  14. См. http://master19.moinmo.in/ПомощьПоСпискамДоступа, http://master19.moinmo.in/ПомощьПоAutoAdmin, http://master19.moinmo.in/КакНастраивать/ПравилаДоступа
  15. См. http://master19.moinmo.in/ПомощьПоСинхронизации
  16. см. http://master19.moinmo.in/ПомощьПоОповещению и http://master19.moinmo.in/HelpOnConfiguration/EmailSupport Архивная копия от 24 апреля 2011 на Wayback Machine (англ.)
  17. На странице обсуждения запроса о добавлении функции Архивная копия от 23 февраля 2010 на Wayback Machine имеется ряд сторонних патчей для различных версий MoinMoin, в различной мере реализующих данную функцию. Кроме того, за реализацию её в полной мере до конца 2010 года назначено вознаграждение Архивная копия от 29 ноября 2010 на Wayback Machine
  18. Планируется разрешить в MoinMoin 2.0 путём унификации файлов и страниц и поддержки системы версий для них
  19. См. Дата обращения: 11 декабря 2009. Архивировано 13 сентября 2009 года.
  20. См. http://moinmo.in/MoinMoin2.0#Storage_API.2C_misc._storage_backends Архивная копия от 9 ноября 2009 на Wayback Machine