The following is an exchange between Jean-Michel and myself about the current state of the drag&drop question type. We would very much like fellow moodlers to a) carry out their own testing of the module as it stands b) contribute their own comments to the discussion. Jean-Michel's comments are in dark-blue.
Joseph
*Install
*In Moodle 1.6, thanks to Gustav's invaluable work, the new question implementation theoretically allows for any new question type to be made available to Moodle simply by dropping a folder into \question\type\. However, the mechanism is not complete yet, and a number of (minor but indispensable) changes have to be made to various Moodle core files in order for a new question type to work. For dragdrop these changes are explained in Jean-Michel's readme.txt file.
J.-M. This is a great limitation in the way question types are now handled:: all question using a javascript lib lwill need to modify core files. I think we should solve this issue now creating a standard way for question to add the javascript code they need (and to add it once even if there are several questions of the same type on the page). I am interested to solve this issue because I plan to code a hotspot (select point interaction) question type this summer and I plan to use javascript.
Documentation
There is a short but sufficient tutorial available in the Moodle Docs wiki here.
Feature Requests
1- Preview
When a new dragdrop question has been created it is possible - as for all questions - to Preview it. However, the draggable objects are NOT draggable, and the question does not work. To see it in action one must put that question into an existing Quiz and Preview the Quiz.
J.-M. This was a mistake in my modified README.txt file : I forgot a core file to modify. The README.txt has been modified to correct this problem
2. Feedback
Feedback as to whether the draggable items have been dropped on their targets is given in 3 ways. (1) When authoring a dragdrop question, the teacher can provide an Overall Feedback (OK) and an Overall Feedback (missed). (2) The Quiz mechanism will also display an automatic feedback message, one of the three following "Correct", "Partially correct" or "Incorrect". (3) When quiz has been submitted, further feedback is displayed in the form of a red border around wrongly placed objects and a green border around correctly placed.
In a Quiz which has adaptative mode switched on, I would much prefer feedback #3 to be available to the student immediately upon clicking the Submit page button, rather than having to wait for the Quiz to be submitted in its entirety. Actually, I would prefer another system, see point 3.
J.-M. I agree
3. The green/red border feedback system is better than no feedback at all. However, I would much prefer a more obvious/standard feedback behavior (in Quiz adaptive mode, where the student can change their answer). When the student has dragged & dropped the draggable objects and cliked the Submit page button, I would like to see the wrongly placed draggable objects to immediately return to their original position (at the bottom of the target background image), ready for a new try.
J.-M. This is the way to go
4. At the moment it is possible to drop draggable objects *anywhere on the screen*. A routine should check for objects to be droppable only either on the background image target OR (better) on a hotspot target. Any object dropped some other place would be automatically returned to its original position.
J.-M. I am not sure the second solution will suit all questions, sometimes you may want the student to be able to drag an object anywhere on the background image.
5. As it stands, the dragdrop question type works with
- a (unique) background image where hotspots can be placed
- a series of (smaller) images which can be dragged and dropped on those hotspots (targets).
This system is OK for a number of activities, such as:
- a) drop an image of a flag on the corresponding country (background image is a map);
- b) match a images of a butterflies and images of their favorite flowers (background image consists of x pictures of flowers);
- c) produce an identikit portrait of a suspect by dropping various items (moustache, glasses, etc.) over a silhouette; etc.
However, there is a frequent activity (esp.) in language learning which consists of naming or labelling objects. The dragdrop tutorial in Moodle Docs shows such an example. However, it is not really ergonomic to have to create and save a background image consisting of ... words. Suppose one wants to modify this image (in order to correct a spelling mistake or to add a new word), the teacher has to start from scratch... It would be much better to use the Text field in each Drag & Drop question... if the program could handle text (<div>s) as drag-drop objects instead of images! This is certainly feasible, cf. the Hot Pototoes JMatch activity.
6. As mentioned by Jean-Michel, at the moment the dragdrop question type does not support export/import. This is of course necessary if this question type is to be actually used in Moodle in the future.
J.-M. Yes I see this as an important issue because currently some import/export formats are worked on (see threads on XML import/export and IMS QTI importer in this forum) and none will support third parties question types because no API to do so have been fixed (see Bug 5083)
Gustav has done a wonderful job transforming all question types to plugins. It's now up to us to bring this idea further by allowing complicated question types (javascript, java, flash, ...) without any core file modification and import/export capabilities (at least XML and IMS QTI) for all questions types.
We should also write a developer guide on how to write a new question type with for instance a complete description of the function of each method in the questiontype.php fille.