Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Quiz UI redesign - development

From MoodleDocs
Revision as of 20:13, 21 August 2008 by Olli Savolainen (talk | contribs)

Back to Quiz_UI_redesign

Current todo:

  • Add "virtual tabs" to fluently switch between qbank and quiz
  • Question bank
    • There should be at least some level of consistency with the actual question bank and quiz edit tab/question bank window.
    • There should be a link back to the current quiz from question bank
  • New Quiz edit tab http://tracker.moodle.org/browse/CONTRIB-530
    • complete the status bar to have what's relevant from quiz settings
    • make sure tabindexes work
    • go through the logic in the discarded code of quiz_print_question_list
    • storing operational parameters in url is a fatal usability error: a user may reload a page after deleting a question and, without realizing it, delete another question from the quiz. - partially fixed, by forwarding if $significantchangesmade
    • make CSS comply with moodle themes and UI guidelines
    • add tooltip: the category of a single question in quiz
    • bring back contextual help icons where appropriate
    • //TODO: add javascript quick hiding/showing question bank menu by adding the now-html-commented id's to the elements - requires submitting the GET parameter accordingly in the background and returning false for the link so the browser does not actually GET it
    • paging of items if there are >30 (Fluid allows to "Allow users to break up long lists of items into separate pages" - try this out?)
    • how to make string changes go upstream?
      • (As it says in the Moodle coding guidelines) you should never change langauge strings. This is because the same language packs are used for all versions of Moodle. If you need a different string, create a new one.--Tim Hunt 08:41, 2 July 2008 (CDT)
        • Hm the thing is, if a translation does not make sense in a specific language, or if I know that a string is indeed intended for this specific button, but usability-wise it is not the best choice? Still just create new ones?--Olli Savolainen 12:31, 2 July 2008 (CDT)
  • Random questions
    • in random questions added directly to quiz, what should we choose as a value for recurse?
      • should this be an inline option?
    • is it possible to have an empty random question in quiz?
      • Basically no, or at least it is possible, but it leads to an error. This situation can be represented in the database, and you can even create it through the current UI (add a random question from a category, then delete all the questions in that category). However, this will lead to an error when you run the quiz.--Tim Hunt 08:41, 2 July 2008 (CDT)
        • Thanks Tim. What I am thinking is it should be an error in the editing interface, and invisible in the quiz: that is, as you can create a random question right into the new category, as long as there would be such empty random questions, there would be visible warnings that the quiz is in an unfinished state in the editing UI - but this should not have any negative effect in quiz making itself, the question should just be absent (except perhaps in teacher preview, where the difference with the teacher preview and the actual quiz should then be made extremely obvious)?--Olli Savolainen 09:41, 2 July 2008 (CDT)
        • That is: do you think we (I) should a) Modify the current empty randomquestions to notify of their state appropriately or b) create a new structure that stores the states of empty random questions in the new editing UI and then only create actual random questions when the user adds questions to them. This brings us to the question: what would then happen if the user again removes all the question from a random question category?--Olli Savolainen 04:35, 3 July 2008 (CDT)
    • replace tabs with 4 spaces, eclipse PDE seems to not obey this very well


Completed:

  • New question bank window
  • keep cmid ALWAYS along in the urls (?)? -done
  • add page count -done
  • Storing the question bank window - completed, using set_user_preference()
  • //TODO: make the actual question bank hiding possible without javascript - done, currently only without javascript
  • question box layout: ensure line breaks don't break the layout unusable -- done, css overflow:hidden;white-space:nowrap;
  • add correct parameters (no id) to add question form from quiz -was bug, fixed
  • when adding a question from a quiz directly a category is not and should not be specified by default, but the user should be made to select a category in the question edit screen. they may select default for everything and it is not much of a hassle, but they will be at least faintly aware of the existence of categories. (for now the default category is selected by default)
  • Find out about $pagevars, do I need to extend them, where's the documentation?
  • abstract random question category creating into a function which both the AJAX-style and the traditional version can use
  • even if there are no questions, show an empty page to which add questions
  • different presentations for random questions and other questions
  • Paging and reordering tab
    • Add: Repaginate with N questions per page
    • clean up the old tabs
    • add delete page 'X' -> "Are you sure? There is no undo for this." DONE (added deleting pages only for empty pages, no confirmation)
    • make forms functional: question scoring, new question/randomq/description formslib
    • add help dialog: basic concepts of quiz
      • //TODO: something in the javascript broke and questions are being added not on the right page, but to the end

Relevant development links in docs