Projects for new developers

Revision as of 04:27, 1 March 2012 by John Lynch (Talk | contribs)

Jump to: navigation, search

This evolving page lists possible Moodle projects for new developers derived from community suggestions.

If you have any ideas for new features in Moodle which might be suitable as projects for new developers, please see New feature ideas.

Email reminders for calendar events

It would be nice to have some automated and configurable functionality that enables email reminders for events to be sent automatically.

This would be integrated in the current messaging system as a message provider.

Skills required: PHP
Difficulty level: Medium
Mentors: To be confirmed

For further details see:

Extensions for individual students and/or groups for course activities

At present activities can have a deadline set that applies to all students in a course. It would be good if there was a universal way to allow individual/group extensions for all activities with deadlines.

AFAIK, the only way to give an extension is to extend the closing date and then add a password which you give to the individual. The disadvantage to this approach is that it typically causes some confusion among the other students who think there is a new quiz due on the extended date. It would be nice to create a quiz_extension table that would hold the id, userid, quizid, extendstarttime, extendendtime, enforcetimelimit, timelimitfactor. Then, Moodle could be programmed to check for all extensions for that quiz. (ref, User:Anthony_Borrow).

Extensions are already possible in the Quiz module, which would be a good model to work from.

Skills required: PHP, SQL
Difficulty level: Difficult
Mentors: To be confirmed

For further details see:

Video/audio capture repository plugin

A new repository plugin can be developed to allow the user to speak directly into the Moodle 2.0 filepicker via their microphone, and have the audio file saved securely as an MP3 into the correct current filearea.

Flash would be ideal but Java might be required because of Flash's server requirements (but this should all be examined again to be sure). One possibility might be to develop a single public server at xxx.moodle.org to act as a service for Moodle sites around the world.

Poodll would be a good thing to look at, as ell as nanogong and this previous project which used riffly.com: MDL-18341. (update 6/2011: riffly.com is dead) Note that sam marshall has written a simple, GPL, record audio Java Applet, which you can get from https://github.com/sammarshallou/ouaudioapplets. also, see video and audio recording plugin for Moodle 1.9 (http://tracker.moodle.org/browse/CONTRIB-2730) that can (and probably will) be ported to Moodle 2 (as soon as i have some spare time,User:Nadav_Kavalerchik)

Skills required: PHP, Javascript, Flash?, Java?
Difficulty level: Medium
Mentors: To be confirmed

Improved spam detector

Improve Moodle's current en:Spam cleaner tool.

Skills required: PHP
Difficulty level: Medium
Mentors: To be confirmed

For further details see:

Moodle for Windows

Develop a new Windows package to replace the official ones at download.moodle.org/windows

The current one is build automatically for a variety of versions by Linux scripts that automatically combine a stripped version of XAMPP with a CVS checkout of Moodle. The new one should also do this.

In addition, the new version should also allow the user to upgrade their Moodle via a native Windows control application. This should make a backup of the site, then download the latest code from a CVS mirror (or the primary git repository) and then start the upgrade. If the upgrade fails it should be possible to "roll back" code, database and files to the version before the upgrade.

Skills required: Windows, .NET?
Difficulty level: Medium
Mentor: We can't help much with Windows programming, but we can help with specs.

For further details see:

Role assigning tool

Develop a tool for easily assigning a role to a user in many places, for example, enrol a student in several courses.

Skills required: PHP
Difficulty level: Medium
Mentors: To be confirmed

For further details see:

Course section manager

Develop a tool for deleting a topic or weekly section from a course.

Skills required: PHP
Difficulty level: Medium
Mentors: To be confirmed

For further details see:

Roles export/import

Develop a tool for export/import of custom roles.

Skills required: PHP
Difficulty level: Medium
Mentors: To be confirmed

For further details see:

Email to Forums

Develop the ability to post to forums via email, similar to the description in Email Interface

Skills required: Unknown
Difficulty level: Unknown
Mentors: Unknown

(Sorry for all of the unknowns, but I'm not a programmer)

See also