MoinMoin is a
wiki engine
Wiki software (also known as a wiki engine or a wiki application), is collaborative software that runs a wiki, which allows the users to create and collaboratively edit pages or entries via a web browser. A wiki system is usually a web application ...
implemented in
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
, initially based on the PikiPiki wiki engine. Its name is a play on the North German greeting ''
Moin
''Moin'', ''moi'' or ''mojn'' is a Low German, Frisian, High German ( or ), Danish () and Kashubian () greeting from East Frisia, Northern Germany, the eastern and northern Netherlands, Southern Jutland in Denmark and parts of Kashubia.
It m ...
'', repeated as in WikiWiki. The MoinMoin code is licensed under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
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
A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pub ...
, including free software projects
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: ''Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All the ...
,
Apache
The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, MimbreƱo, Ndendahe (Bedonkohe or Mogollon and Nednhi or CarrizaleƱo an ...
,
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
, and
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
.
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 Aug. 2019), 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
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
. 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
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from L ...
, ''e.g.'', for parsing the wiki syntax, and formatters, ''e.g.'', for outputting
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
code, with a
SAX-like interface between the two. Therefore, to output
DocBook
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of documentation.
As a semantic languag ...
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
Camel case (sometimes stylized as camelCase or CamelCase, also known as camel caps or more formally as medial capitals) is the practice of writing phrases without spaces or punctuation. The format indicates the separation of words with a single ...
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
In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
editor.
MoinMoin also has extensive support for
access-control list
In computer security, an access-control list (ACL) is a list of permissions associated with a system resource (object). An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on give ...
s (ACL) that greatly increase its usability in a
content management system
A content management system (CMS) is computer software used to manage the creation and modification of digital content (content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
(CMS). It also has
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
editing capabilities.
MoinMoin is able to either use a built-in search engine (rather slow, but no dependencies) or a
Xapian
Xapian is a free and open-source probabilistic information retrieval library, released under the GNU General Public License (GPL). It is a full-text search engine library for programmers.
It is written in C++, with bindings to allow use from Per ...
-based indexed search engine (faster, and can also search old revisions and attached files).
MoinMoin also allows synchronization of contents from instance to instance
WikiSynchronisation
from the MoinMoinWiki. via XML-RPC
XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Edition. ...
, 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
* Comparison of wiki software
The following tables compare general and technical information for a number of wiki software packages.
General information
Systems listed on a light purple background are no longer in active development.
Target audience
Features 1
Featur ...
* List of content management systems
Content management systems (CMS) are used to organize and facilitate collaborative content creation. Many of them are built on top of separate content management frameworks. The list is limited to notable services.
Open source software
:''Th ...
* List of wiki software
Standard wiki programs, by programming language
JavaScript-based
* Lively Wiki is based on Lively Kernel and combines features of wikis and development environments. Users can create and edit application behavior and other content.
* Tiddl ...
References
External links
*
MoinMoin Wiki GitHub organisation
{{DEFAULTSORT:Moinmoin
Free wiki software
Free software programmed in Python
Software using the GPL license