MoinMoin – мощный, простой в использовании и расширяемый вики-движок, написанный на языке Python. MoinMoin является свободным программным обеспечением, распространяемым по лицензии GNU General Public License.
Название происходит от приветствия “Moin” во фризском языке.
Для хранения информации MoinMoin использует файловую систему.
Может работать практически с любым веб-сервером, поддерживающим CGI/FastCGI/WSGI, или без него (со встроенным веб-сервером на базе Werkzeug).
Архитектура MoinMoin
MoinMoin имеет достаточно гибкую архитектуру, следствием чего является богатый набор встроенных функций и простота расширяемости. Ключевыми компонентами вики-сервера MoinMoin являются:
Обрабатывает запросы и вызывает соответствующие обработчики.
На основании параметров запроса и конфигурации реализуют различную функциональность вики.
Позволяют хранить различные виды данных (в первую очередь, страницы вики и прикреплённые к ним файлы, также там содержатся другие виды объектов, такие как словари и группы) и предоставляют возможности по кэшированию (основной способ кэширования – pickle).
Позволяют аутентифицироваться пользователям различными способами (HTTP auth, LDAP, PHP cookie, …), подробнее см. http://master19.moinmo.in/ПомощьПоАутентификации.
Обеспечивают различные методы разграничения доступа, в первую очередь, ACL. См. также http://master19.moinmo.in/ПомощьПоСпискамДоступа и http://master19.moinmo.in/КакНастраивать/ПравилаДоступа.
Реализуют поддержку различных видов оповещений при возникновении различных событий, см. http://master19.moinmo.in/ПомощьПоОповещению.
Вызываются для обработки страницы или блока текста в некоем входном формате. Могут дополняться пользовательскими парсерами.
Вызываются парсерами для генерации текста в выходном формате.
Могут использоваться в теле страницы для генерации произвольного содержимого и расширения синтаксиса, таким образом.
Каждая из описанных систем реализована в виде основного ядра и модулей, реализующих конкретную функциональность, посему каждая из них может быть дополнена сторонними модулями, что и обеспечивает определённую гибкость.
Преимущества и функциональные особенности MoinMoin
Кроме того, существуют репозитории сторонних парсеров и форматтеров, позволяющих поддерживать другие форматы на вики.
Кроме того, MoinMoin имеет поддержку многоязычных вики (вики, на которых используется несколько языков для страниц). В версиях 1.8.6 и 1.9 русская локализация была обновлена.
Поддержка встраивания различных форматов файлов (изображения, аудио, видео, SWF, других страниц) в тело страницы (подробнее см. http://master19.moinmo.in/КакСвязыватьСтраницы).
как на основе чёрных списков (централизованно обновляемых), так и с использованием текстовой капчи.
имеется возможность ограничить количество запросов определённых действий в определённый момент времени для одного IP или пользователя.
Недостатки MoinMoin
Также, в связи со способом отображения имён страниц в имена директорий для их хранения существуют ограничения на длину имён страниц, накладываемые используемой файловой системой.
Ссылки