MoinMoin 2.0 Development Workshop at 27c3
Abstract
MoinMoin v2.0 (aka moin2) is rather different compared to moin 1.x - architecture was redesigned, lots of code rewritten or cleaned up (or outsourced to cool 3rd party python libs and frameworks).
moin2 is free software licensed under the GNU GPL.
Description
Intended audience
- moin / moin extensions developers
- wiki / web / python developers
- web designers / web user interface developers
- web security experts
- power wiki users who would like to know more about moin2 or to get into writing code
Stuff we use
You can likely use and/or improve your skills related to:
moin2
- werkzeug (WSGI toolkit)
- flask + extensions (WSGI microframework)
- pygments (Code highlighting)
- flatland (form data processing and validation)
- babel (i18n)
Python >=2.6, <3.0
- HTML5, CSS, maybe Javascript
- pytest
Preparing for the workshop
You should have mercurial DVCS installed and have a clone of the moin2 repo.
The repo is rather large (~250MB) and unreliable / flaky / high-latency wireless or 3G connections at 27c3 might not be suitable for cloning it quickly.
If you want to work on the code, you are advised to do this before the workshop:
download moin/2.0-dev repository clone + workdir of 2010-12-25 (fast)
or, clone http://hg.moinmo.in/moin/2.0-dev (slow)
or, clone our bitbucket repo https://bitbucket.org/thomaswaldmann/moin-2.0-dev (maybe even slower)
If you like, join us on #moin-dev on chat.freenode.net and talk to us about the workshop.
Introduction
There will be an introduction into how moin2 architecture looks like, what libraries we use, how the code is structured, what needs to be done.
Audience questions will be answered while and after the introduction.
Coding
We'll try to get into the code and do some hacking. We'll prepare some stuff, but this also depends on audience skills and interest.
Workshop ideas
- Wireing up own backends (maybe too hard)
- creating neat automagic fontpages
- interesting things like auto-link to recent items in a subtree
- making useful menus (helpful for replacing a traditional cms with a moin wiki)
grab some stuff from EasyToDo
- RPC (e.g. json-rpc, xmlrpc)