Project Ideas for Google Summer of Code 2011

MoinMoin project will take part in Google SOC 2011.

Mentors and students may announce their interest in some specific project(s), maybe this helps us to avoid collisions.

Of course each student may apply for multiple projects - as well as multiple students may apply for the same/similar project.

/!\ Only the stuff that gets submitted via Melange will count in the end.

General

These are some initial project ideas that should guide students when writing an application for GoogleSoc2011 (see the disclaimer there).

These ideas are very brief - we know that and we do that on purpose, because we expect from you that you get active:

/!\ If your application is as brief as the ideas listed below, we see that you did not work on it enough.

Mentoring

Mentoring will be done by the people listed on MentorGroup - these are usually long term MoinMoin developers.

Get in contact with us!

If you consider doing Summer of Code with us, get in contact with us early! Best way is IRC, see MoinMoinChat for details.

Required skills

We require good Python skills for all projects, except otherwise noted.

We'll help you with improving your Python (and other) skills, but there should be a good base to build on.

MoinMoin versions

MoinMoin 2.0 (short: moin2, mm2, m2) is our current development focus, we're doing heavy changes there about how moin works and what it is able to do. Top priority for moin2 is getting a usable wiki with basic functionality.

MoinMoin 1.9 (short: moin1) is our latest stable release (and the last 1.x release), no big core code changes are wanted there, thus no SOC project. Please note that this is good for you, the moin2 code base is cleaner. :)

Project Ideas (moin2 based)

(!) We want to release moin2 in 2011, so we shall concentrate on release critical stuff and not do not release critical stuff.

Search/Indexing

Improve storage indexing, improve sqlalchemy backend

Students interested:

Mentors interested: ThomasWaldmann, BastianBlank, AlexanderSchremmer

Supporters:

Search Engine support, Query parsing

We currently have no search functionality for items.

Students interested: MichaelMayorov

Mentors interested: ThomasWaldmann, AndrewGrigorev, (ReimarBauer), AlexanderSchremmer

Supporters:

DOM based format transformations

Moin2 uses an internal "moin-DOM" to represent a document in a tree-structure. This is used as intermediate format for all kinds of input and output formats.

Requires: experience with tree representations, XML, elementtree (emeraldtree) plus the input/output formats mentioned below.

Project: Improve DOM converters

We have quite a lot of DOM converters, but they need improvement:

Students interested:

Mentors interested: BastianBlank

Supporters:

text converter

Our text converter should be compatible to sphinx text

/!\ This idea needs a better description, it is still rather unclear what it is about exactly, what the scope and what the goal is.

User interface

Jinja2/Flatland widgets, Forms

We use Jinja2 for templating and flatland for form data feeding, extracting, validating.

We need widgets supporting all data types we use for revision metadata and for user settings.

Metadata editing and all user settings should have nice forms and good validation in the end.

Maybe metadata view could also use (disabled) forms, instead of showing json?

Students interested:

Mentors interested: Jason Kirtland (flatland project), ThomasWaldmann, AlexanderSchremmer

UI improvements

Mediawiki-like Theme

Implement a theme that is similar to mediawiki default theme and gives a well-structured, consistent UI for moin2.

Students interested:

Mentors interested: ReimarBauer, MarkusMajer (maybe, I need more looks on the new themeing engine myself and some tests)

Tests

py.test 2.0

Reimplement our tests for py.test 2.0. Improve test coverage. Do a sanity check on the tests. Rewrite tests.

Students interested:

Mentors interested: ThomasWaldmann

Plugin system

The moin1 plugin system is not powerful enough and too complicated. Design and implement new one for moin2.

Requires: experience with python plugin systems and software design / plugin architecture.

Note: this needs either us doing the design ASAP or a student jumping on it well before the SOC process (we maybe don't want to spend half of SOC for design discussions). /!\

May be we can use yapsy. Example with some of the cli scripts. Next is to check if that ascii file could be ommitted. Or if it is usefull for something else.

Students interested:

Mentors interested: ThomasWaldmann, BastianBlank, AlexanderSchremmer

TODO

Misc. part-time Projects

Students interested:

Mentors interested: ReimarBauer

Inspiration

Just some buzzwords, be creative. :)

... TODO ...

(!) You can have a look at all the FeatureRequests that are already stored in this wiki. Some of them might be a good inspiration for a SOC application.

Your idea!

If you have a great own idea for moin, that is not listed above, don't hesitate to apply with it.

Advice for own ideas:

MoinMoin: GoogleSoc2011/InitialProjectIdeas (last edited 2011-03-29 14:57:29 by RogerHaase)