Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Student projects/AJAX course format.

Student projects/AJAX course format

From MoodleDocs
Revision as of 02:41, 9 June 2006 by Ed Coyne (talk | contribs)

Current Progress

I am currently working on research and planning.

Research and planning

Drag and Drop

There has been some discussion on the forums about the want to use a RIA library, this would be a more elegant solution than homebrew but more research needs to be done as to wether one can be found that does not cause the same compatibility issues as Scriptaculous has been shown too by extending the built-in Array and Object classes.

RIA's

Several people have hacked RIA's,such as Scriptaculous, into their moodle installations to add functionality such as drag-and-drop. We need to determine which would be best to Integrate into the moodle codebase.

Scriptaculous

Site: [[1]]http://script.aculo.us/ Lisence:MIT (GPL compatible)

  • Drag and Drop
  • Auto Complete
  • Sorting
  • Effects

Pros: This has already been implimented in some user's Moodle installations and is known to work with a few problems(noted below)

Cons: One of the major drawbacks of Scriptaculous(and the prototype in particular) is that it uses the prototype object to extend javascripts built in Array object which can cause strange behaviors. As far as I know this has only caused problems with moodle's texteditor but having odd behavior like this exist is something I would prefer to avoid as opposed to asking developers to be sure and code around it.

It also currently supports a rather small feature set.

DOJO

Site: [[2]]http://script.aculo.us/ Lisence: Dual - AFL and BSD(GPL compatible)

Features:

  • Drag and drop
  • Effects (wipe,fade etc...)
  • offline Storage
  • rather complete Widget Set

Pros: This Library seems a bit more refined than scriptaculous, it also has big name backing(IBM,AOL,OpenLazlo...et al) which is a good sign that it will be around for a while.


MochiKit

Site: [[3]]

Specifications

Other Links to spec discussions

Project suggestion

From Student projects:

AJAX course format
Background
 
The current course formats are designed to work on lower browsers and older technologies. They are highly compatible with browsers but can    
really slow down the course creation process.
Overview
 
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.
Details

  1. 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.
  2. Blocks can be dragged and dropped.
  3. Sections can be dragged and dropped, made hidden or visible.
  4. Activities and resources can be dragged and dropped, made hidden or visible, have the group status changed, etc. 

Mentors: Martin Dougiamas and Urs Hunkler

Programmer: Edward Coyne