Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Projects for new developers.

Projects for new developers: Difference between revisions

From MoodleDocs
(moved to dev docs)
 
(301 intermediate revisions by 44 users not shown)
Line 1: Line 1:
We often get asked to suggest Moodle development projects suitable for students to attempt.  Here is a list of such projects that no-one is currently working on.  You should contact [[Martin Dougiamas]] before starting on any of these, just in case this page is out of date.
{{Moved_to_dev_docs}}
 
All of these projects are also suitable for the [http://code.google.com/soc/ Google Summer of Code 2006], a Google project that Moodle is part of.  When applying for any of these projects, please include as much evidence as possible of your previous coding experience, and also include a description of how you plan to tackle the project (beyond our description below).
 
== Projects that no-one is working on yet ==
 
=== Global search ===
 
Design a modular solution for global search in Moodle.  Some of the main criteria are:
# it should be fast and accurate
# it should allow modules to expose their data structures to the core search via the usual API (function in lib.php) allowing any module to include itself in the search
# it should allow the kinds of search parameters that the forum search does now (or better!)
# people should not be able to search things they couldn't normally see
# it should utilise the new tags system as much as possible
# (extra points) it should be able to rank results by relevance and combine results in different modules
 
Mentor:  Martin Dougiamas
 
 
=== Presets for Database module ===
 
Implement presets for the Database module using files similar to [http://cvs.sourceforge.net/viewcvs.py/moodle/moodle/mod/data/preset/imagegallery/ this example]. 
# Each directory of files will fully define the templates and fields for a particular application of the Database module.
# It should be easy to export current settings as a preset (in a zip file), or load new presets (uploaded as a zip file or from the [[moodledata]] folder)
# A "glossary" preset should replicate the old Glossary module as much as possible (this may require some extensions to the core Database module)
# The "Image gallery" preset should implement a really nice photo gallery application.
# (extra points) devise a way to publish these directly to another site (for example a database on moodle.org)
 
Mentor:  Martin Dougiamas
 
 
=== Integrated Bug Tracker ===
 
Improve our [http://moodle.org/bugs current bug tracker] which is a hacked version of [http://phpbt.sourceforge.net/ PHP Bug tracker], or extend the Database module, or completely write a new "tracker" module from scratch to integrate it inside Moodle as an activity module, using normal Moodle authentication, text filters, and so on.
 
# All the current bugs (with comments) should be migrated across to this new version.
# It should allow us to add flags/fields similar to those in the current tracker.
# Email subscription to individual bugs should work similar to Moodle forums.
# Bugs should be able to be referenced using a simple URL like http://moodle.org/mod/tracker/view.php?issue=3455
# Most importantly, the new module should be made generic, so that other sites beside moodle.org can use it to track whatever issues they wish.
 
Mentor:  Martin Dougiamas
 
 
=== AJAX Course Format ===
 
Design a clean, extensible method for implementing a course format using AJAX.  This may require development of a web service to service the Javascript front end.
# It should be optional and accessible, so that it can drop back to the current interface on browsers that are incapable of dealing with dynamic pages.
# Blocks can be dragged and dropped.
# Sections can be dragged and dropped, made hidden or visible.
# Activities and resources can be dragged and dropped, made hidden or visible, have the group status changed, etc.
 
Mentor:  Martin Dougiamas
 
 
=== Admin page cleanup ===
 
Design a clean, extensible method for implementing the administration page, which contains hundreds of variables and settings for all the many modules in Moodle.
# Settings should be organised in a way that is obvious and uncluttered, perhaps using tabs or some other  organising structure.
# New modules should have their settings appear automatically in the admin interface.
# Define a new plugin structure for arbitrary new admin features under admin/other or something.  Moodle 1.6 already has something like this for reports (admin/report).
# AJAX can be used, it should be optional and accessible, so that it can drop back to the current interface on browsers that are incapable of dealing with dynamic pages.
# Add bookmarks to each page, so that often-used pages can be added to the admin block on the home page.
 
Mentor:  Martin Dougiamas and Urs Hunkler
 
 
 
More projects are being added here soon ...
 
== Projects under development ==
 
None
 
 
[[Category:Developer]]

Latest revision as of 03:05, 10 January 2012

This development related page is now located in the Dev docs.

See the Projects for new developers page in the Dev docs.