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. ==See also==