Harman Patil (Editor)

MoinMoin

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Written in
  
Python

Operating system
  
Cross-platform

MoinMoin

Developer(s)
  
Jürgen Hermann Thomas Waldmann

Initial release
  
July 29, 2000; 16 years ago (2000-07-29)

Stable release
  
1.9.9 / October 31, 2016; 4 months ago (2016-10-31)

Repository
  
bitbucket.org/thomaswaldmann/moin-2.0

MoinMoin is a wiki engine implemented in Python, initially based on the PikiPiki wiki engine. Its name is a play on the North German greeting Moin, repeated as in WikiWiki. The MoinMoin code is licensed under the GNU General Public License v2, or (at the user's option) any later version (except some 3rd party modules that are licensed under other Free Software licenses compatible with the GPL).

Dozens of organizations use MoinMoin to run public wikis, including free software projects Ubuntu, Apache, Debian, FreeBSD.

Technical details

MoinMoin's storage mechanism is based on flat files and folders, rather than a database. This makes it easy to manipulate the content in a text editor on the server if necessary, including managing revisions if the wiki gets attacked by spammers .

MoinMoin supports plugins and can be extended via Macros and Actions. It also uses the idea of separate parsers (e.g. for parsing the wiki syntax) and formatters (e.g. for outputting HTML code) with a SAX-like interface between the two. The idea is that if you want to be able to output DocBook instead of HTML, you only need to write a docbook-formatter that implements the formatter interface, and all parsers that use the interface will automatically be supported.

MoinMoin supports CamelCase linking as well as free links (non-CamelCase linking). The CamelCase is activated by default and MoinMoin does not allow disabling CamelCase links except on a one-off basis. The workaround to do this is to use a different parser but this option does not work with the WYSIWYG editor.

MoinMoin also has extensive support for access control lists (ACL) that greatly increase its usability in a content management system (CMS). It also has GUI editing capabilities.

MoinMoin is able to either use a built-in search engine (rather slow, but no dependencies) or a Xapian-based indexed search engine (faster, and can also search old revisions and attached files).

MoinMoin also allows synchronization of contents from instance to instance via XML-RPC and therefore allows distributed offline editing.

The original MoinMoin "DesktopEdition" is significantly easier to use because it uses a built-in web server to display pages, requiring only Python to be installed on the host machine. Since version 1.6.0, the "DesktopEdition" has been integrated into the standard release. Also in this release a different markup syntax was introduced, which had not been changed much since the early releases.

References

MoinMoin Wikipedia