The Systers mailing list relies on a number of customized additions to stock Mailman. These features make use of a PostgreSQL database. Currently the database is accessed via raw SQL statements and python db-api. This hurts maintainability, and also ties the code to the database. We would like to convert this to use an ORM (object-relational mapper).
One additional wrinkle is that we also are interested in getting this feature upstream, so part of the job will involve becoming familiar with the yet-to-be-released Mailman 3.0's development, and working with those developers to ensure the work can be easily picked up by them. Since Mailman 3 uses the Storm ORM (http://storm.canonical.com), that necessitates that that be the ORM we use.
keywords: Python, Mailman, ORM, Storm, upstream open-source participation
Required Skill Levels: Basic Python and SQL familiarity, basic use of source control. 2nd year or above CS undergrad
Systers would like to use the mailing list membership info and password to access other resources. The work in this area would be either to adapt OpenLDAP to use the mailing list membership information as a data source, or to write an OpenID provider web service. These authentication systems have the most support, and will provide Systers with the most flexibility in choosing CMS, wiki, or other software needing authentication.
keywords: Python, openldap, authentication, openid, web services
Required Skill Levels: Python, C, familiarity with basics of web authentication, source control. Senior CS undergrad or graduate.
Mailman archives are really bad. Searching for a particular message is sometimes easier via Google, rather than Mailman's native interface. This project would seek to enhance the archives to be more useful to the list participants – better search options, member info & statistics, pretty charts using Google APIs and SVG graphics. This also would be eligible for eventual mainline Mailman adoption.
keywords: Python, CGI, web interfaces, SVG, CSS, web APIs, search
Required Skill Levels: Self-directed requirements definition, web backend and frontend experience. Senior CS undergrad or graduate.
Systers uses a heavily-customized version of GNU Mailman. A number of additional small features are desired to improve things further. Please see: the issue list, including wishlist items.
keywords: Mailman, Python, web interface
Required Skill Levels: Rising 2nd year undergrad with some programming experience, Python preferred but not necessary. This would be an ideal project for a first time Summer of Code participant, who perhaps has only done class projects before. Or it could be a starter project to get familiar with the code base before tackling one of the projects above.