Projects for new developers
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.
Self-assessment activity using the question bank
The basic idea is that the teacher sets up a bank of questions organised into categories. Then the student can then choose what questions they want to practice when. This is about student-centred learning based on the capabilities of the Moodle question bank.
The idea is explained in more detail in [http://tjhunt.blogspot.com/2011/09/what-i-want-to-build-next.html this blog post. (Note that I am not going to get time to do this myself!)
If you are interested in working on this, there is still a lot of work to do to decide a scope for the project. I think it is important to find a minimal 'version 1.0' set of functionality that can be build as a short project that leads to a completely working activity. Then we can add more features to that already-working core.
- Skills required: PHP
- Difficulty level: Medium
- Possible mentor: Tim Hunt
New question types
This is not really a specific project idea, but I would like to point one an important general area:
With HTML5 the range of what can be done in a web browser keeps expanding. Can we use these possibilities to make new, much more interactive, question types for Moodle?
As I say, I do not currently have any specific suggestion for new HTML5 question types, but if you have an interesting idea, please feel free to propose it, or at least discuss it with us.
- Skills required: PHP & JavaScript
- Difficulty level: Medium - Hard
- Possible mentors: Tim Hunt - but only if you have an interesting enough idea!
Before proposing anything, please make sure you are familiar with the standard question types already available in Moodle, and the contributed question types that other people have already created.
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: Rossiani Wijaya
For further details see:
- Tracker issue MDL-10002
Form text autosave
Moodle is a web based application which makes heavy use of text input from the web browser, a common annoyance from our users is loosing that text input into the browser. A common request is for input to be automatically saved or manually saved as a draft in order that input is not lost or can be worked on between sessions. Similar functions to this exist in web applications like wordpress or Gmail.
Your task would be to implement this feature in Moodle. It is important that you make consideration of the fact that unlike other applications like blogging engines - Moodle has a wide variety of places where text would need to be stored as draft (examples: a forum post, a quiz essay question, an online text assignment) and this solution should be universal across all long text entry fields.
If you are interested in this project it is important that you research the various attempts which have been made to implement this feature in Moodle, posts on the Moodle forums and demonstrate awareness in your application.
- Skills required: PHP & JavaScript [YUI]
- Difficulty level: Medium
- Possible mentors: Dan Poltawski
For further details see:
- Tracker issue MDL-18014
- Related discussions: Usability idea for 2.3: Autosave User_Data_Always_Safe
Enrolment UI improvements
The Enrolment User Interface could do with an overhaul to improve its usability and accessibility. At present they key issues relate to:
- pagination of users displayed; and
- JS popups - broken and inefficient in places, modal + focus issues.
It would be good if we could write a new interface which offers:
- dynamic filters (using JS)
- pagination
- filter by letter (similar to mod_assign grading page)
- improved/rewritten JS popups
- Skills required: PHP & JavaScript [YUI]
- Difficulty level: Medium
- Possible mentors: Andrew Nicols
See also
- GSOC - describing Moodle's involvement with Google in their Summer of Code program
- Popular new feature and improvement requests in Tracker