GSoC/GCI Archive
Google Summer of Code 2009

MoinMoin Wiki

Web Page:

Mailing List: we use the wiki at

The MoinMoin project is developing a popular wiki engine in Python. Wikis are getting more and more important for the communication infrastructure of OSS groups all over the world. Especially groups like Apache, Ubuntu, Python, Debian, Xen, KernelNewbies, (de), etc. are using MoinMoin to keep the contact going with their users and developers and for documentation. We have some few long-time core developers, some more casual developers and quite many developers contributing plugin code. Additionally, many people work on the wikis improving documentation and translating it to about 40 languages.


  • Improve integration of the new storage code and provide a new SQLAlchemy backend As of last years GSoC, MoinMoin got a new abstraction layer for storage of data. That storage layer is not yet fully integrated. This proposal aims to improve the situation by adding things like support for ACLs and a routing middleware that can be used to set up different backends for different 'namespaces'. Additionally, a new backend will be provided that uses the SQLAlchemy library to store data in one of several supported database formats (SQLite, Postgres, MySQL, ...).
  • Modular group handling, output of xapian search results and rights visualization plugin The first project is Modular group handling. Currently, information about groups is stored in group pages. Some users need opportunity to use external storage for groups. This allows them to integrate MoinMoin with a company database. For my SOC project I'm going to refactor existing Group code to provide modular group handling. Also, I will implement rights visualization plugin which visualization access rules. I'll also work on layout of the xapian search results.
  • Real Time Editing Currently, it is not good to have two or more people editing the same page at the same time, with warnings being issued and, sometimes, raising conflicts. The goal of this project is to integrate a real time editor, such as Synchro Edit, to MoinMoin.