Wizard Examples and Code Samples
Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.
To give new developers a head start, add advice here on how to implement the recommended elements. (Of course, the APIs should be good enough to not require lots of extra code.)
As an usability practitioner, the implementation pages like this are where I am hoping to have developers have a play: there is probably some documentation available already about how to implement many of these things, but the developers who are already 'in' know how to find it best.
So add links to appropriate places - or if need be, implementation pages like this are perfect placeholders to put also new information about how to implement the recommended moodle UI elements. --User:Olli Savolainen 22:20, 3 June 2009 (UTC)
The current status of wizards in Moodle is not good enough in terms of usability, so I can not recommend mimicing the current implementations.
I am not primarily a developer, but I have used PEAR QuickForm_Controller for creating a wizard on a production site ().It does a great job of creating a proper wizard that fulfills easily most of the usability requirements. It takes care of the session management required for a proper wizard implementation, and its implementation is done in an object-oriented manner. As we are already using PEAR QuickForm, this might be a natural way to continue.
If needed, I have a sample object oriented implementation of a wizard with Quickform_Controller that I made. It includes the rather tricky CSS for the status display.
Someone technically more advanced than me should evaluate the following options. --Olli Savolainen 14:15, 7 August 2009 (UTC)
- assumably quickform_wizard is a more advanced version of quickform_controller http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fwww.ambrosanio.com%2Fcomponent%2Fcontent%2Farticle%2F33-my-php%2F56-htmlquickformwizard&sl=auto&tl=en&history_state0=
- a progressive enhancement AJAX to quickform_wizard: http://www.bubbling-library.com/eng/api/docs/plugins/wizard-documentation.html