The BrainHoney exam engine renders many types of questions, including multiple choice, matching, and short answer. To present a question in a way that does not fit any of the predefined types, you implement a custom question. Custom questions can range in complexity from simple, formatting overrides of standard questions to complete, custom-question rendering and grading systems hosted on external servers.
To control the rendering of an entire assessment (as opposed to each individual question) see Adaptive Assessment API.
Custom questions have several rendering modes, which are shown below. Custom questions indicate which of these modes they control. In the simplest case, a custom question controls only one, usually the Active mode.
|Active||The user is currently taking the exam.|
|Review||The user is reviewing the answers and feedback from the exam.|
|The teacher is printing a paper copy of the exam.|
|PrintKey||The teacher is printing a paper copy of the exam, with the correct answer key.|
|Template||An author is creating a new custom question of this type. This mode provides a question template for the new question.|
You define a custom question with XML in the <custom> format. You can store it as a course resource or return it from a web service call on an externally hosted server. The XML lets you pick which question behaviors to customize. For example, you could provide a custom display for multiple-choice questions while still using standard, built-in scoring and reporting; or you could implement all aspects of the question, including rendering, grading, and printing. (See Advanced Assessment Editor for details about authoring custom questions.)
If for any reason a custom question does not assign a score, the exam engine assumes the question is manually graded (like an essay question) and sends it to the teacher for grading.
Note that BrainHoney ToGo end-users can use externally hosted, web-service questions only when they are online.