MoinMoin

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, and FreeBSD.

MoinMoin faces a supportability gap in 2020, based on the January 2020 deprecation of Python 2.7. The current release of Moinmoin, 1.9.11, is written in Python 2.7 and is not slated to be ported to Python 3. Moinmoin 2.0, based on Python 3.5, is not yet released (as of November 2023), and "development is very slow going," according to their Python3 support page. Installation of Moinmoin 1.9.11 now yields multiple warnings of this deprecation.

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 plug-ins 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. Therefore, to output DocBook instead of HTML, one would 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.