MoinMoin student projects

This page is to collect ideas for potential "student" projects. Although these projects are intended for students attending university, we don't want to limit it to that group. So if you have the experience required by the project and you can meet the other requirements, too, feel welcome.

Participant requirements

Project requirements

Funding

Participant payment

As the funding is limited, we want to give it to participants getting something done (aka good coders <g>).

That means, that your stuff has to work well, be of reasonable code quality and volume, be reasonably documented and meet your project's goals.

(!) If you are new to the goals required by the project, this is not the right job for you as we require experience.

Whether the goals were reached or not (or to what usable extent) will be decided by MoinMoin development.

Project suggestions / goals

Project "Appearance"

The Moin standard theme "modern" currently looks rather simple.

OTOH, this theme has a very good usability and compatibility, while many other themes lack either compatiblity or usability or just have issues.

Goal:

(!) As you see, this needs lots of experience with CSS and graphics and won't be an easy job!

(!) This project can also be split in several smaller projects. So if you are not much familiar with CSS and Python coding but a crack in design of icons or other web stuff, please help either. The Moin core development team will find ways to integrate your aesthetic knowledge and talent.

Resources you can use:

Upgrading FCKeditor

Our built-in FCKeditor (GUI HTML editor) is 2 versions behind and needs someone with Javascript and Python knowledge to get upgraded. Some moin FCKeditor plugins make problems with the current version, so expect quite some debugging in this task.

Fixing bugs

Fixing bugs (see MoinMoinBugs) is always a good idea. This is a great way to understand how the system works and a lot of fun.

/!\ This is not an easy job (but sometimes easier than starting from scratch), the easy bugs are mostly fixed already. So fixing bugs in Python code must be your obsession. :)

ToDo: make a list of bugs to fix in this task or some other concrete "goal" for this.

Refactoring

There are dark corners that needs to be cleaned. Worst examples:

The goal is to clean up the code keeping the same behavior, and making the code easier to understand, fix bugs, and change in the future.

Refactoring can be done in very small and easy steps. Can be nice way to start working on stuff.

But see "Testing" below before you start. :)

Testing

Most code does not have proper tests. This makes it impossible to refactor code, fix bugs or add features in a safe way, and is a source for many regressions.

Testing is fun, and it is hard to introduce bugs by adding a test. :)

Sub projects:

Template system

See theme and most macros and actions to see how bad the current html creation code is. This makes it hard to fix bugs, add features and improve the design. For example, a web designer can't work on the html to create a new layout, unless he has basic Python skills.

There are many great template systems on the market. The goal is to find a simple one that developers can learn quickly, and integrate it with the current system.

/!\ The first step on that way is a "templating theme plugin" as a proof of concept before any major core code changes happen.

See TemplateSystems

MoinMoin: MoinStudents (last edited 2007-10-29 19:10:58 by localhost)