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

From MoodleDocs
Revision as of 08:42, 17 October 2006 by Martin Dougiamas (talk | contribs)

We are often asked to suggest Moodle development projects suitable for students to attempt.

Here is our current list of projects.

Projects needing programmers

Calendar export to iCal

Background

iCal is the standard format for "streaming" event data, like RSS for calendars.

Overview

Design and construct a solution for producing public and private iCal files from the events in Moodle's calendar.

Details

  1. it should be efficient and only updated when new events have been added and only when the ical file has been requested at least once
  2. calendars should be produced for each course, for each user, and for the whole site (public view and private view)
  3. the iCal files should be standard and compatible with, say, Google Calendar.
  4. for some measure of security, calendar URLs should include a long unique encrypted string that is difficult to guess.
  5. For extra points, implement an optional method of publishing direct to Google calendar (see Google Calendar API)


See this forum post too

Integration with bibliographic systems such as Wikindx

Background

Managing references and citing them is an important behaviour in university education and research. Bibliographic facilities are quite complicated and go beyond the capabilities of Moodle built-in technology (e.g. the database activity). Integrating Moodle with open-source bibliographic software such as Wikindx could much facilitate this practice within Moodle.

Overview

Design and construct an integration with Wikindx (or other open-source bibliographic tools, if appropriate).

Details

Teachers should be able to easily refer to wikindx bibliography items throughout a Moodle course, and be able to:

  • Generate correctly-formatted in-place references (using standard styles e.g. Harvard, APA) for the commonly-cited reference types (e.g. journal article, book chapter, book). It may be possible to delegate the formatting directly to wikindx (since it already performs functions like these) rather than implementing a whole new set of logic in the Moodle integration.
    • Possibly, allow some kind of direct searching of a wikindx database from within Moodle, so as to make it easier to refer to items
  • Generate reading lists / bibliographies
  • Allow export of the above into common machine-readable formats such as Bibtex or RIS. (Wikindx can perform this so again it's a question of hooking into, or expanding, wikindx functionality.)

See also Development:Wikindx and this forum discussion too

Projects under development

Global search

Background

Currently Moodle has forum searching, glossary searching and database searching, all independent. There is no way to search for everything else in a course, though, such as resources, wiki pages, activity info (eg assignments) and especially not to do it all in one search.

Overview

Design and construct a modular solution for global search in Moodle.

Details

  1. it should be fast and accurate
  2. 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
  3. it should allow the kinds of search parameters that the forum search does now (or better!)
  4. people should not be able to search things they couldn't normally see
  5. it should utilise the new tags system as much as possible
  6. (extra points) it should be able to rank results by relevance and combine results in different modules

Mentor: Martin Dougiamas

Programmer: Michael Champanis

Global search project notes


Projects Completed

  1. Presets for Database module project notes
  2. Integrated bug tracker project notes
  3. AJAX course format project notes
  4. Admin page cleanup project notes