Question Objects
General Specifications
Draft

C.O. 12/02/97 11:24 AM
Copyright © 1997 Asymetrix Learning Systems, Inc. - All rights reserved
For questions about this document, contact claude@asymetrix.com.

I. Purpose of this document *

II. Question Object functionality overview *

Prescriptive Description *

Why prescriptive descriptions? *

What is a prescriptive Description *

Identifying generic behaviors and transaction types *

Functional areas. *

Definitions *

Open issues *

Types of questions *

Multiple choice questions *

Fill-in the blank questions *

Direct manipulation question types *

Special question types *

Prescriptive description elements *

Metadata (General information) *

Presentation description *

Response analysis rules and data *

Runtime behavior prescriptions *

Runtime data *

Runtime logging data *

Presentation and layout style elements *

Events *

Operational characteristic of Question Objects *

Runtime behavior *

A question is presented to the student *

The response engine is initialized *

The student responds *

The response is interpreted *

The question status is updated *

Feedback is given *

Optional review *

Save/Restore state (interrupted session with bookmarking) *

Response analysis *

Authoring *

Appendix *

Question types *

Implementation examples *

Generic navigation hyperlink names *

  1. Purpose of this document

Asymetrix Learning Systems, Inc. supports efforts to achieve interoperability and longevity of on-line learning assets.

This is a preliminary draft specification for Question Object metadata and functionality standards supported now, or that are being considered for implementation in future products by Asymetrix Learning Systems, Inc. Asymetrix Learning Systems reserves the right to change this specification at any time. This draft document does not represent a commitment from Asymtrix to implement, now or later, any of the functionality described in this document.

This draft is subject to revisions following publication of recommended standards by the IEEE P1484 working group (see www.manta.ieee.org/P1484/) , and the NIST Learning Objects Metadata Group (see http://jetta.ncsl.nist.gov/metadata/ ) as well as updates to AICC standards (see http://www.aicc.org/). Parts of this draft may also be shared with members of those groups in order to accelerate the interoperability and integration process.

The final deliverables for this document, when complete, will be:

  1. Question Object functionality overview

Introduction

Question Objects are predefined transaction objects that can be used in several ways:

Question Objects contain prescriptive descriptions of the data and behaviors necessary to present and execute one of those transactions.

An engine is required to present and execute a Question Object. The engine can be written in any language, or for any platform, as long as it can interpret the prescriptive descriptions embodied in the Question Object.

Question Objects can be laid out and treated as layout objects among other objects shown in a visual frame, or they can be shown as the only content of a frame. Question Object presentation and execution can be modified dramatically or subtly by the styles that apply to the frame.

How this relates to existing Instructor objects and other products

The Question Objects described here include the functionality and behavior of the existing Asymetrix Instructor/Assistant objects, as well as the functionality and behavior of similar constructs in other products and in various hard-wired CBT programs encountered over the years.

They also include the content, functionality and behavior of test items in many existing question banks.

In most cases, to convert existing functionality, content or objects, some mapping is required from one property set to another, or from a behavior that only exists in code to a prescription for a behavior and associated properties.

In the case of Asymetrix objects and many question bank test items, most of the mapping can be automated. In the case of other products or custom code, the mapping requires human analysis of the existing behavior and selection of the corresponding behaviors and attributes. Obviously, this is not possible in many cases, but using standardized building blocks with the existing media and text assets can speed up the process considerably.

Methods, rules and tools to convert existing instructional materials or questions will be the subject of another document.

Prescriptive Description

There are several kinds of Question Objects, but any kind of Question Object can be abstracted into a prescriptive description that can exist independently of any specific implementation.

Prescriptive l (Webster) 1 : serving to prescribe <prescriptive rules of usage> 2 : acquired by, founded on, or determined by prescription or by long-standing custom

Why prescriptive descriptions?

A prescriptive description can be expressed using standard XML (RDF) syntax, which is independent of any particular authoring system, operating system or implementation. The content of an XML file is not limited metadata that describe an object or document; such a file may also contain prescriptions for behavior, typically in the form of data to be used as parameters when the object is instantiated. The prescriptions may even include expressions or code fragments which some systems may be able to interpret to implement sophisticated behaviors.

Since one of the rules of XML is that a system that reads an XML file may ignore the elements it does not understand, the capabilities of Question Objects can be scaled or interpreted according to need. For example, an application that performs scoring would ignore presentation elements if it finds them. On the other hand, a subset of the elements may be excerpted for a particular purpose, for example when storing a history of usage in a log, where only the ID of the Question Object and status information elements need to be stored.

This format is thus very useful to exchange data about instructional objects and their status between different applications, and to ensure the longevity of instructional objects that are very expensive to design. Something described in XML in 1997 will be readable by another application in 2007 without having to reverse-engineer a proprietary file system.

Many of the elements specified here are optional; others map over common elements that can be found in existing CBT applications and question banks.

What is a prescriptive Description

For Question Objects, components, data and behavior can be entirely described in a platform and implementation-independent prescriptive description that can be expressed in XML syntax (and more specifically in Asymetrix OXF format.)

A prescriptive description contains elements for data, properties, methods and events-driven behaviors. While some of these elements only contribute to the descriptions of the object, others prescribe specific behaviors without specifying how the behavior shall actually be implemented in code. A prescriptive description as used in this document is for a specific instance of an object class. It does not include a specification of the generic behaviors and properties of the object, or the code that actually implements the behaviors.

In other words, a prescriptive description for a Question Object identifies which class of object to use, and how the behavior, content and other properties of this particular object differ from the defaults for the class.

For example, a push button has generic behaviors that are not included in prescriptive descriptions of instances of the push button. However, the prescriptive description may include a property of the object, say "highlight", that can modify the generic behavior by being set to true or false.

Obviously, for performance and efficiency reasons, this prescriptive description is typically translated into platform and implementation-dependent objects, data structures, threads or processes when the Question Objects are actually used in an application.

Identifying generic behaviors and transaction types

One of the major challenges when trying to create prescriptive descriptions is to identify a reasonably small set of generic behaviors and transaction types.

Over the years, we have identified a limited set of "question types" that have different characteristic behaviors. The resulting taxonomy of question types can be found later in this document. This taxonomy could be extended to include other types of transactions and behaviors, but this may be considered a useful "starter set" suitable for implementation in various instructional systems and authoring systems.

Example

The multiple-choice questions below are defined by the same prescriptive description. The only difference between them is that the context in which they are used specifies a different presentation style.


The minimum prescriptive description required to use this question in a test or application could be (this example uses a simplified "dummy" syntax):

Name = What blocks Na+-CL- channels in distal tubule
Prompt.text = "Acts by competitively blocking Na+-Cl- channels in the distal tubule."
Answer
.text = "Acetazolamide (Diamox)", .weight = 0
.text = "Amiloride (Midamor)", .weight = 1
.text = "Furosemide (Lasix)", .weight = 0
.text = "Hydrochlorothiazide (Hydrodiuril)", .weight = 0
.text = "Spironolactone (Aldactone)", .weight = 0
MaxTries = 1

Functional areas.

The prescriptive description is broken into several functional areas.

Depending on the context, some of the elements of the prescriptive description can be omitted if they are irrelevant. For example, when a Question Object is used in an exam, feedback, hint and the response analysis elements can be omitted, and the Question Object identification can then be used later to analyze the responses.

Definitions

Many terms used in instructional design and testing have ambiguous meaning, or are used very differently by different schools. Here are some of those terms used in this document, and the arbitrary meaning they have here:

Answer l A known value, data item or expression against which the learner’s responses are compared during response evaluation. We use ‘answer’ to distinguish these expected, known values from the ‘responses’ that are generated by the learner.

Constructed response l A response typed by the learner (traditional)

Kinesthetic response l A response that involves significant motor activity beyond simple a click or typing. For example, a drag and drop operation.

Layout l The physical arrangement of visual elements on a page or in a window on the screen.

Prescriptive l (Webster) 1 : serving to prescribe <prescriptive rules of usage> 2 : acquired by, founded on, or determined by prescription or by long-standing custom

Presentation l The display of information on a computer screen or on a printed page according to a predefined plan.

Randomize l The process by which a determined number of elements are drawn randomly without replacement from a set of elements. For example, randomizing a multiple choice question involves the random drawing and presentation of choices from a list of possible answers.

Response analysis l The automated process that compares a learner’s responses with expected answers. The result of the response analysis can be answer-specific feedback, a score, or some other data used to track performance or control the progress of an instructional application.

Response l 1 :  The act of responding to a question. 2 :  The value or data that results from the learner’s response.

Voice response l A response that involves speaking to the computer.

Open issues

The major open issue at this point is probably how to show "corrected" responses, as in a test review. There are so many design variables that it is very difficult to come up with simple rules. However, it is a functional requirement for many users.

Types of questions

Multiple choice questions

Typical uses of multiple choice questions

Special features of multiple choice objects

See also the special features described for each specific multiple choice object in the sections that follow.

Multiple choice (buttons)

What it does

The button-based multiple choice Question Object is a group of buttons that allows the learner to choose from different options by clicking a button.

Special features

Multiple choice (fields)

What it does

The field-based multiple choice Question Object is a group of text fields that allows the learner to choose from different options by clicking a field.

Special features

Definable multiple choice

What it does

The definable multiple choice Question Object allows the learner to choose from different options by clicking any object.

Special features

Typical uses

How to set it up

True/False

What it does

The true/false Question Object is a group of two buttons that allows the learner to choose from two options by clicking a button.

Special features

Fill-in the blank questions

How they work

Fill-in the blank questions analyze constructed answers typed by the learner.

As an author, you can define any number of expected answers that will be recognized. You can specify a different correctness weight and/or feedback for each answer. The response analysis stops at the first recognized answer in the list you provide; this recognized answer constitutes the response.

The response evaluation is triggered by one of the following learner actions:

Typical uses of fill-in the blank questions

Special features of all Instructor fill-in-the blank objects

Fill-in-the-blank field

What it does

This is a field you can put anywhere on the screen.

Fill-in-the-blank text gap

What it does

This is a object you can drop anywhere within the text inside a field to create a gap in which the learner can type. You can put more than one such object in the same text.

Special features

Direct manipulation question types

Order text

What it does

The Order Text Question Object allows the learner to reorder scrambled text or text lines by dragging words or lines with the mouse.

Typical uses

Special features

Drag Object

What it does

The Drag Object Question Object recognizes when it is dragged and dropped onto one of several predefined objects. You select objects onto which this object can be dropped a list of all named objects on the page.

Typical uses

Special features

Drop Target

What it does

The Drop Target Question Object recognizes when defined objects are dropped on it. You select objects that can be dropped from a list of all named objects on the page.

If an unrecognized object is dropped on the target, the Question Object can reject the dropped object and restore its previous position. If the object is recognized, the Question Object can snap the dropped object to the center of the drop target's bounds.

Typical uses of drop target

Special features

Drop Target (definable)

What it does

The Drop Target Question Object recognizes when defined objects are dropped on a specific target object, which you also define. You select objects that can be dropped from a list of all named objects on the page.

If an unrecognized object is dropped on the target, the Question Object can reject the dropped object and restore its previous position. If the object is recognized, the Question Object can snap the dropped object to the center of the drop target's bounds.

Typical uses

Special features

Arrange Objects (Definable)

What it does

The Definable Arrange Objects Question Object allows the learner to place several objects at specific positions on the page. When the question is reset, the objects are placed at random position, and the learner is expected to drag them to the correct location.

Typical uses

Special features

Special question types

Match Items

What it does

This object allows the student to draw lines between pairs of objects. The action is from a specific object in a pair to the other object. The user can correct mistakes by drawing a new line.

Typical uses

Slider

What it does

This object allows the student to choose a position on a scale. You can define one or more ranges on the scale, which each range corresponding to a different answer.

Typical uses

Select text

What it does

This object allows the student to select one or more portions of text. Each recognized selection or selection pattern constitutes one possible answer.

Typical uses

Prescriptive description elements

This section contains a table for each functional area. Some elements listed here may not be applicable for certain question types, and may elements are optional as they add functionality that is sometimes not necessary.

A summary table of elements by type of question in the next section lists all the elements in alphabetic order and shows which elements apply to different types of questions.

The last column in the tables in this section contains a "T" when the element corresponds to a feature implemented in the current versions of Asymetrix products: ToolBook II Assistant and ToolBook II Instructor. The feature may not be exactly the same, but is considered implemented if it can be mapped to and from the element described here.

It would be useful to complete this with an "I" for features of IconAuthor, "A" for features of AuthorWare, and "C" for features of CBT Express.

Metadata (General information)

Metadata information used to identify, find, select and generally administer the question.

Note that most elements are optional, but their name and function is specified here in case they do exist. Obviously, some applications will not be able to use Question Objects that are missing some of those optional elements, but the simplest applications would ignore those elements anyway.

Element or property

Required

Description

 

Date.Activation

No

The date at which the Question Object becomes valid (in ISO date format as per W3C specs.)

 

Date.Expiration

No

The date at which the Question Object is no longer valid (in ISO date format as per W3C specs.)

 

Difficulty

No

The difficulty level of the question, using IEEE1484 scale for learning objects (not yet defined as of this writing.)

 

ID

Yes

A GUID (unique in the whole wide world) -- Because the ID is unique, you can use it to "connect" the response analysis elements with responses to a Question Object in, say, the data file that is the result of administering a test.

 

Name

No

A name that can be used to identify the Question Object in programs, reports, etc. If no name is available, the prompt text (or a shortened version of it) can be used.

T

Objective

No

A sentence describing the Question Object’s objective, using the standard ISD objective format, for example "given the numbers 5 and 4, the student will compute the square root of the sum of their squares with a precision of 2 decimal places in less than 3 minutes." The objective is for the benefit of human readers only.

 

QType

Yes

The type of question strategy used by the object (multiple choice, etc.). A mime type can be derived from this property (e.g. "testItem/multiple choice"). If Qtype is null, assume it is a multiple choice item.

See appendix for a list of Qtypes. As with mime types, new Qtypes can be added to a system as long as there is an engine for that particular type.

T

Scored

No

Specifies whether this is a scored test item or not. For example, a practice question or a object used in discovery is not typically scored (although it may have a correctness status used to choose remediation or feedback.)

Although it is also a behavior property, this property is included in the metadata functional set because it can be used to select objects for practice vs. testing, for example.

T

Title

No

The title of the Question Object, as it shown to the user if the context requires it. If not specified, name is shown instead.

 

Topic

No

A reference to a topic area to which the question applies. If the object is to be published outside, or longevity is a concern, the meaning of this property should depend on the subject matter authority. See Learning Object standards work groups for guidance.

 

Other properties

No

Other generic metadata properties, such as Author, publisher, etc. as defined by LOMG, IEEE1484, etc.

 

Presentation description

This includes the elements required to present the question to a student. This may include variant elements that are ignored or used by default, depending on the application in which the Question Object is used. Different types of questions may use different presentation elements. For example, a fill-in-the blank question does not have distracters. Each distracter in a multiple choice question is specified by an answer element. Note that there are two common spellings for "distracter" or "distracter". Either one has the same meaning.

Element or property

Required

Description

 

Randomize

No

If the Question Object contains elements that can be randomized, specifies whether those elements will be randomized when the question is reset. For example, the presentation order of the distracters of a multiple choice question may be randomized.

T

NumChoices

No

For a randomized multiple choice question, the number of choices actually presented; this may be less than the number of distracters defined for the question. Of course, when randomizing, the distracters selected always include the correct choice(s) .

T

Prompt.Text

No

The text of the question, as it should be displayed when prompting the student for a response. Note that for some questions this text may be quite long. The engine displaying the question must be able to handle long text.

 

Prompt.SRC

No

A URL or URN that specifies the text or other form of prompting, if stored externally to the Question Object. This can be a reference to a media file, graphic, etc. or more simply to a text file.

 

Prompt.<…>

No

Any other property of the question text, such as font size, etc.

 

Other properties

No

Other properties that depend on the type of question.

T

InputMask.Shown

No

If an input mask is specified for a fill-in-the-blank Question Object, determines whether the mask is shown or not. For example, " - - "

 

IMG

No

A URL or URN reference to a graphic that is used as backdrop for the Question Object. When the distracters are hotspots, their position and scale are relative to the position and size of this graphic.

 

Answer.Text

No

The text of the answer element, as it should be displayed when prompting the student for a response. For example, the caption of a button in a multiple-choice question that presents choices as buttons.

T

Answer.SRC

No

A URL or URN that specifies the text or other form of the answer element, if stored externally to the Question Object. This can be a reference to a media file, graphic, etc. or more simply to a text file.

 

Answer.Height

No

Width of the rectangular area devoted to the answer element (as per HTML 4.0 specs).

 

Answer.Width

No

Height of the rectangular area devoted to the answer element (as per HTML 4.0 specs)

 

Answer.RespondedState.IMG

No

A URL or URN that specifies the graphic to use in an answer element to indicate that the element has been chosen for a response, if stored externally to the Question Object. For example, a checked choice in a multiple choice question would use such a graphic.

T

Answer.Position

No

The position of the answer element, as it should be shown before any response by the student.

 

Answer.name

No

A human-readable name given to the answer. Useful to identify the answer in response analysis reports when the corresponding response specification would be otherwise difficult to interpret.

T

Answer.IMG

No

A URL or URN that specifies the graphic to use in an answer element, if stored externally to the Question Object. This can be used along with Answer.SRC to combine a caption with a graphic.

T

Answer.ID

No

The ID of one answer element. One or more answers may be recognized. For example, for a multiple-choice question, each answer is shown as a choice. The correct answer, if it exists, is shown in the Presentation element as just another answer. Each answer has a unique ID, which is used for feedback, etc. The Response Analysis element contains matching IDs that identify specific answers.

T

Answer.<...>

No

Any other property of the answer element, such as position, style, etc.

 

Response analysis rules and data

This includes the elements required to analyze the response made by a student. This information can be use dynamically at run time (for example, to trigger response-specific feedback), or asynchronously when scoring the Question Objects while analyzing the data that result from administering an exam.

Within the prescriptive description, there is one answer element for each answer to be recognized (including the "<else>" case).

The order of the answer elements may also be the order of "waterfall" response evaluation (as for a fill-in-the blank object) or the default order of presentation of choices for an unrandomized multiple choice question.

Answer elements may be split across different functional sections of a prescriptive description. In that case, an answer.ID element is used to synchronize the information for the same answer across different section. The ID can also be used in response evaluation to identify tersely the answer(s) matching the student’s responses. BTW, this is the Instructor/Assistant response evaluation model.

Element or property

Description

 

Answer.Correct

True or false. If no answer weight is specified, this element is used to compute the weight of the answer. Note that an answer may be correct but have a weight of less than 100%, as in a multiple choice-multiple correct Question Object, or in a short answer Question Object where the answer is not incorrect but is less than optimal.

T

Answer.Expression

For a fill-in-the-blank or essay Question Object, an expression used to evaluate whether the student response matches this answer. The expression returns true or false. The syntax for Answer.Expression element allows you to specify a language as well as the expression itself, and is the same as when specifying an expression or function in HTML 3.x. The syntax of the expression depends on the language interpreter(s) available on the platform, which is why you can specify several expressions for an answer. The language syntax would typically be Javascript. Vbscript, OpenScript or Java may also be supported by some engines The variable "it" or first parameter passed to the function called by the expression will contain the text of the student response when the expression is invoked. This element will get refined as expression evaluation standards emerge for online delivery.

T

Answer.ID

The ID of one answer element. This ID matches that of the corresponding answer element in the Presentation part of the prescriptive description.

T

Answer.Match.IgnoreBlanks

For a fill-in-the-blank Question Object, whether to ignore extra blank space between words when attempting to match the student response with this answer..

T

Answer.Match .IgnorePunctuation

For a fill-in-the-blank Question Object, whether to ignore punctuation when matching the student response with this answer.

T

Answer.Match .IgnoreWordOrder

For a fill-in-the-blank Question Object, whether to ignore the word order when attempting to match the student response with this answer..

T

Answer.Match.MatchCase

For a fill-in-the-blank Question Object, whether to make the match case-sensitive.

T

Answer.Match.Phonetic

For a fill-in-the-blank Question Object, whether to attempt to match the student response phonetically with this answer.

T

Answer.Text

For a fill-in-the-blank Question Object, the text against which the student response is matched to determine whether this is a recognized answer.

T

Answer.Weight

The weight assigned to the answer, as a proportion of the score weight of the Question Object. Example: 0.5. Can be expressed as a percentage if a "%" suffix is appended. Can be negative. For example, "-25%".

T

Score.max

Maximum scoring points available for the Question Object, as an integer number. Default value is 1.

This element may also be echoed in the Presentation element to be available at runtime for use in exams, as in "This question is worth 10 points."

T

Score.Method

Method used to score: Either exact, min, or max. Exact uses the weight of answer(s) and can yield a fractional score. Min returns the lowest possible score if the answer(s) are not 100% correct. Max returns the highest possible score if the answer(s) are not 100% incorrect.

T

Score.min

Minimum scoring points for the Question Object, as an integer number. If this element is not specified, the default minimum is 0. Negative points.min may be used when incorrect responses to a Question Object should penalize the overall score for the test. It can also be useful in applications other than exams, as when the Question Object is used to measure scalar responses in a survey, or is used to trigger branching for a particularly bad score.

T

Weight

The weight assigned to the Question Object, as a proportion of total score for the test or exam in which the Question Object is used. Example: 0.5. Can be expressed as a percentage if a "%" suffix is appended. Can be negative. For example, "-25%".

The weight is used only if a specific scoring points.max value is not available for the Question Object. If the scoring weights for Question Objects in a test must be used, and they add up to more than 100%, the application that scores the test must normalize the scoring weights before calculating individual question scores.

This element may also be echoed in the Presentation element to be available at runtime for use in exams..

T

<…>

Other properties that depend on the type of question.

 

Runtime behavior prescriptions

This includes the elements required to control the runtime behavior of the Question Object. The actual interpretation of those elements depends on the type of Question Object, and on the specific implementation.

Element or property

Description

 

Answer.Feedback.Event

Event(s) to be raised as feedback. Syntax allows for defining the language used by the event, and to specify more than one language. Can include parameters. If the language allows, some parameters may be expressions referencing properties of the object, or the answer itself (For example: the value of answer.status.response could be passed as a parameter to construct a complex feedback string)

T

Answer.Feedback.Hyperlink

Hyperlink to execute as feedback for the specific answer. Can specify a popup window, or navigation in the current window. Generic navigation values such as "next", "previous" etc. can also be used (as interpreted by the application that provides the context)

T

Answer.Feedback.Media

Media element to play as feedback for a specific answer.

T

Answer.Feedback.Media.SRC

URL or URN of the media element to play as feedback for a specific answer.

T

Answer.Feedback.Media.Stage

Where to play the feedback media for a specific answer. The special name "popup" specifies that the media should pop up as close as possible to the actual answer element on the screen, without covering it if possible.

T

Answer.Feedback.Media.Wait

Specifies that the system should wait until the media feedback has finished "playing" to continue. Value can be true, false, none or a number of milliseconds.

T

Answer.Feedback.Order

The order of the feedback elements to play for a specific answer. If not specified, the feedback elements play in the order where they are listed in the data file.

Example: "Media,text,event,hyperlink"

 

Answer.Feedback.Text.Stage

Where to play the feedback text for a specific answer. The special name "popup" specifies that the text should pop up as close as possible to the actual answer element on the screen, without covering it if possible.

T

Answer.Feedback.Text.Text

Text to "play" as feedback for a specific answer.

T

Answer.Feedback.Text.IfMediaFail

True or false; if true, the text is shown only if the specified media could not be played for whatever reason.

T

Answer.Feedback.Text.Wait

Specifies that the system should wait until the text feedback has finished "playing" to continue. Value can be true, false, none or a number of milliseconds.

 

Answer.Match.Confirm

For a fill-in-the-blank Question Object, specifies whether the student should be asked to confirm when inexact matching found a possible answer. For example, "Waterloo" would be used in "Do you mean ‘Waterloo’ ?" if phonetic matching is enabled and the student answered "Waterlou."

This behavior may require that at least some of the response analysis engine functionality be available at runtime, in order to match the response with an expected answer.

T

Answer.Match.ConfirmString

For a fill-in-the-blank Question Object, the text to insert in a prompt asking the student to confirm when inexact matching found a possible answer. For example, "Waterloo" would be used in "Do you mean ‘Waterloo’ ?" if phonetic matching is enabled and the student answered "Waterlou." If the student confirms, the text typed by the student is corrected by replacing it with this string.

T

DragSnap

If specified, this property determines whether drag/drop operations will snap to the nearest recognized position or size to ensure precise positioning or sizing.

T

DragSnapRadius

If specified, this property specifies the radius of the "snap capture" zone for a Question Object that involves a dragging activity.

T

Feedback.Correct.<…>

Specifies summary feedback to play as summary feedback when the status.correctness of the object is "1" (all correct). Sub-properties are the same as for Answer.Feedback.

T

Feedback.AutoTrigger.Correctness

A status.correctness value that is used as a threshold to trigger summary feedback automatically. For example, in a Multiple Choice/Multiple Correct question, feedback could be triggered when the response is 80% correct.

 

Feedback.AutoTrigger.Time

Elapsed time used as a threshold to trigger summary feedback automatically. For example, feedback could be triggered after 15 seconds.

 

Feedback.AutoTrigger.Tries

Number of tries used as a threshold to trigger summary feedback automatically. For example, feedback could be triggered after 3 tries.

 

Feedback.Immediate.Type

Specifies which type of feedback should be triggered immediately following a response: None, response-specific, summary, or both.

 

Feedback.Incorrect.<…>

Specifies summary feedback to play as summary feedback when the status.correctness of the object is "0" (all incorrect). Sub-properties are the same as for Answer.Feedback.

T

Feedback.PartiallyCorrect.<…>

Specifies summary feedback to play as summary feedback when the status.correctness of the object > 0 and < 1 (partially correct). Sub-properties are the same as for Answer.Feedback.

T

Feedback.Triggered.Type

Specifies which type of feedback should be played when an external event triggers the feedback: None, response-specific, summary, or both.

 

Hint.AutoTrigger.Correctness

A status.correctness value that is used as a threshold to trigger hints automatically. For example, in a Multiple Choice/Multiple Correct question, a hint could be triggered when the response is 80% correct.

 

Hint.AutoTrigger.Time

Elapsed time used as a threshold to trigger hints automatically. For example, a hint could be triggered after 15 seconds.

 

Hint.AutoTrigger.Tries

Number of tries used as a threshold to trigger hints automatically. For example, a hint could be triggered after 3 tries.

 

InputMask.text

An input mask for a fill-in-the-blank Question Object, restricting the input to a specific format, length and or type of characters.

The input mask uses the COBOL/xbase conventions for input masks.

 

MaxResponseLength

Maximum length (number of characters allowed) of the recorded response for a fill-in-the-blank character.

T

MaxTime

Maximum time allowed to respond to the object. After this time expires, the Question Object gets locked, and the student may no longer modify any response.

T

MaxTries

Maximum number of tries allowed to respond to the object. After this number is reached, the Question Object gets locked, and the student may no longer modify any response.

T

RejectIncorrect

For a object that uses drag/drop or some other form of positioning or sizing, determines whether the incorrect or unrecognized responses should be rejected by canceling the move. Requires the availability of the response analysis engine to determine whether the response was correct.

T

TrackResponses

This property determines whether the object instance should keep track of every response, with a response record for each recorded response (see the Runtime logging data table)

It is up to the application that uses the object to use that information while the object instance is still available.

T

Runtime data

This includes the status information about a Question Object while it is running, and default values to which this status should be set when presenting the Question Object. For example, in a system that implements bookmarking, the runtime data could be used to reset the state of a Question Object to what it was when the previous session was interrupted.

Everything in the following table is optional. Some applications may not keep track of the object status in the manner described below. The data exists only for a particular instance of the object, and does not persist when the instance of the object no longer exists.

Element or property

Description

 

Answer.Status.Locked

Set to true if the specific answer element is locked, meaning that the learner cannot change the response for that particular answer element.

T

Answer.Status.Responded

Set to true if there was at least one attempt at a response for this particular answer element. Same as the logical result of "(Answer.Status.Tries.Count > 0)"

T

Answer.Status.Response.data

The current response status of the answer element. The value and value type of this property depends on the question type. This value can be used to restore the answer element, or for response analysis.

T

Answer.Status.Tries.Count

The number of time the student modified the status of this answer element. For multiple answer questions, such as Multiple-choice/Multiple-correct, this allows correct counting of tries.

T

Score

The current score of the object, if it can be calculated. Requires response analysis engine.

T

Status.Correctness

The current "degree of correctness" of the object, obtained through response analysis with answer weighting. Always normalized on a 0..1 scale, with 0 as the default (no response) value. Requires response analysis engine.

T

Status.HintsPlayed

For a object that has a list of one or more hints, how many hints have been played (given away).

 

Status.Locked

Set to true if the object is locked, meaning that the learner cannot change the response.

T

Status.RandomOrder

The order in which answer elements are currently randomized. Can be used to restore the answer to a previous state. Depending on the question type, this may be a simple ordinal list, or a list of positions.

T

Status.Responded

Set to true if there was at least one attempt at a response. Same as the logical result of "(Status.Tries.Count > 0)"

T

Status.ResponseIDs

A list of answer element Ids that correspond to the current responses to a question. Depending on the type of question, this can be a single item or a list. For example, for a fill-in-the-blank question, this is the ID of the first answer element that matches the response typed by the learner.

For some questions, like the Fill-in-the-blank, this element may not be available unless the response analysis part of the engine is also available.

T

Status.Responses

The set of current responses to a question. Depending on the type of question, this can be an array, a list or a string. For example, for a fill-in-the-blank question, this is the text of the response as typed by the learner. Standard entities or escape sequences are used in place of reserved characters.

T

Status.Time.Elapsed

The time since timing for the question started.

T

Status.Time.Start

The time at which timing for the question started. Typically, that would be the time at which the question was first presented.

T

Status.Tries.Count

The number of tries the student made to respond. See CBT Edition documentation for a discussion of the ambiguities of try counting for certain types of questions.

T

Answer.Status.<…>

Any other status value for an individual answer element

 

.<…>

Any other status value

 

 

 

 

 

 

 

 

 

 

Runtime logging data

In an application that performs this type of logging, each time there is a response, response information is added to the object. As for the rest of the runtime data, once the object instance is destroyed this data disappears.

Everything in the following table is optional.

Element or property

Description

 

Response.ID

The ID of the answer to which the response was matched (if minimal runtime response analysis was performed, as would be the case to provide response-specific feedback.)

 

Response.Data

The data for the actual response. Value and type depends on question type.

T

Response.Time

The time at which the response occurred

T

Response.ElapsedTime

The elapsed time between when timing began for the response, and when this particular response occurred.

T

Presentation and layout style elements

This includes the elements required to control the presentation of the Question Object when the context in which the Question Object is used does not impose its own style elements. These elements are optional; any system that presents a Question Object is assumed to have some default presentation styles for different types of Question Objects.

Wherever possible, the presentation and layout style elements are based on the W3C CSS and HTML 4.0 standards. A useful table of such properties can be found at http://www.cnet.com/Content/Builder/Authoring/CSS/table.html

This table only lists properties or elements that are specific to the Question Objects.

Element or property

Description

Qstyle

Element that defines the style to use in presenting the question components of the Question Object. Sub-elements vary depending on the question type.

Qstyle.border

Width of the border around an answer element. For a fill-in-the-blank object, this is the border around the text box for user input.

 

….. more….

Events

This includes events a Question Object may be capable of handling. Some implementations may have little or no event handling capability. Some of these events may be raised by the object itself; for example, Lock when the maximum number of tries has been reached.

Element or property

Description

 

Edit

Edit the object properties, components or elements. Before and after actual editing can take place, the object may have to "reset" itself to a particular state (in Instructor, ASYM_Reset "author" and ASYM_Reset "check" before editing and ASYM_Reset "afterEdit" after editing)

T

Lock

Lock the object, preventing further responses or changes to responses.

T

PlayFeedback <ID>

Play the response-specific feedback specified for the current response state of the object. This may involve a series of actions.

T

PlaySummaryFeedback

Play the summary feedback specified for the current level of "correctness" of the object.

T

Reset

Restore the object to a "ready to run" state, clearing any visible responses, timers and tries counters.

T

ResetTrackingInfo

Clears any existing response tracking elements recorded internally by the object.

T

ShowCorrect

Show the correct answer(s) for the object. The way this is shown is determined by the question type, the style properties and the engine in use.

 

ShowScore

Show the current score for the object. Parameters specify a format to use.

T

Unlock

Unlock the object, allowing the learner to respond or change the responses.

T

Elements by type of question

The elements that apply to different types of Question Objects for different functional contexts are listed below. Parentheses indicate that the attributes are only required for specific functionality within a functional area; for example (B) for Answer.correct means that this attribute is required only in a context where the desired runtime behavior would require some response evaluation for, say, feedback that depends on correctness.

Legend

M = Metadata

P = Presentation

B = Runtime Behavior

T = temporary tracking info

R = Response analysis

S = Status

(This table needs to be completed )

Properties

Multiple choice (incl. True/False)

Match items

Order items

Order text

Name the part (drag to target)

Fill-in-the-blank

Drop target (drag another object to this)

SelectText

Slider

Answer.Correct

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Expression

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Event

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Hyperlink

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Media

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Media.SRC

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Media.Stage

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Media.Wait

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Order

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Text.Stage

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Text.Text

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.Feedback.Text.Wait

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Answer.ID

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

B) (R) (S) (T)

Answer.IMG

(P)

(P)

(P)

(P)

(P)

(P)

(P)

(P)

(P)

Answer.Match.Confirm

 

 

 

 

 

(B) R

 

 

 

Answer.Match.ConfirmString

 

 

 

 

 

(B) R

 

 

 

Answer.Match.IgnoreBlanks

 

 

 

 

 

(B) R

 

 

 

Answer.Match.IgnorePunctuation

 

 

 

 

 

(B) R

 

 

 

Answer.Match.IgnoreWord

 

 

 

 

 

(B) R

 

 

 

Answer.Match.MatchCase

 

 

 

 

 

(B) R

 

 

 

Answer.Match.Phonetic

 

 

 

 

 

(B) R

 

 

 

Answer.Name

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

(B) (R) (S) (T)

B) (R) (S) (T)

Answer.ResetState.Position

 

 

P B

 

P B

 

P B

 

 

Answer.ResetState.Text

 

 

 

P B

 

 

 

 

 

Answer.ResetState.Value

 

 

 

 

 

 

 

 

P B

Answer.Height

P

P

P

P

P

P

P

P

P

Answer.Width

P

P

P

P

P

P

P

P

P

Answer.SRC

P

P

P

P

P

P

P

P

P

Answer.Status.<…>

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

Answer.Status.Locked

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

Answer.Status.Responded

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

Answer.Status.Response.data

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

Answer.Status.Tries.Count

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

Answer.Text

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

S (T)

Answer.Weight

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

(B) R

Date.activation

M

M

M

M

M

M

M

M

M

Date.expiration

M

M

M

M

M

M

M

M

M

Difficulty

M

M

M

M

M

M

M

M

M

DragSnap

B

B

B

B

B

B

B

B

B

DragSnapRadius

B

B

B

B

B

B

B

B

B

Feedback.AutoTrigger.Correctness

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.AutoTrigger.Time

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.AutoTrigger.Tries

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.Correct.<…>

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.Immediate.Type

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.Incorrect.<…>

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.PartiallyCorrect.<…>

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Feedback.Triggered.Type

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Hint.AutoTrigger.Correctness

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Hint.AutoTrigger.Time

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Hint.AutoTrigger.Time

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

Hint.AutoTrigger.Tries

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

(B)

ID

M

M

M

M

M

M

M

M

M

IMG

P

P

P

P

P

P

P

P

P

InputMask.Shown

 

 

 

 

 

B

 

 

 

InputMask.text

 

 

 

 

 

B

 

 

 

MaxResponseLength

 

 

 

 

 

B

 

 

 

MaxTime

B

B

B

B

B

B

B

B

B

MaxTries

B

B

B

B

B

B

B

B

B

Name

M (R)

M (R)

M (R)

M (R)

M (R)

M (R)

M (R)

M (R)

M (R)

NumChoices

P (B)

 

 

 

 

 

 

 

 

Objective

M

M

M

M

M

M

M

M

M

Prompt.SRC

P

P

P

P

P

P

P

P

P

Prompt.text

P

P

P

P

P

P

P

P

P

QType

M

M

M

M

M

M

M

M

M

Randomize

P (B)

P (B)

P (B)

 

P (B)

 

P (B)

 

P (B)

RejectIncorrect

B

B

B

B

B

B

B

B

B

Response.Data

T

T

T

T

T

T

T

T

T

Response.ElapsedTime

T

T

T

T

T

T

T

T

T

Response.ID

T

T

T

T

T

T

T

T

T

Response.Name

T

T

T

T

T

T

T

T

T

Response.Time

T

T

T

T

T

T

T

T

T

Score

(S) R

(S) R

(S) R

(S) R

(S) R

(S) R

(S) R

(S) R

(S) R

Score.max

R

R

R

R

R

R

R

R

R

Score.method

R

R

R

R

R

R

R

R

R

Score.min

R

R

R

R

R

R

R

R

R

Scored

M B

M B

M B

M B

M B

M B

M B

M B

M B

Status.Correctness

S

S

S

S

S

S

S

S

S

Status.HintsPlayed

S

S

S

S

S

S

S

S

S

Status.Locked

S

S

S

S

S

S

S

S

S

Status.RandomOrder

S

S

S

S

S

S

S

S

S

Status.Responded

S

S

S

S

S

S

S

S

S

Status.ResponseIDs

S

S

S

S

S

S

S

S

S

Status.Time.Elapsed

S

S

S

S

S

S

S

S

S

Status.Time.Start

S

S

S

S

S

S

S

S

S

Status.Tries.Count

S

S

S

S

S

S

S

S

S

Title

M

M

M

M

M

M

M

M

M

Topic

M

M

M

M

M

M

M

M

M

Weight

M

M

M

M

M

M

M

M

M

Table: Question Object attributes

 

Typical components of questions

Operational characteristic of Question Objects

There are several kinds of Question Objects, but they all share the following characteristics .

Runtime behavior

The prescriptive description for the object controls the presentation and behavior of the object.

A question is presented to the student

The question can be in the form of text, a media clip or some other method chosen by the author.

The response engine is initialized

The visual components of the questions are presented to the student. Typically, this occurs at the same time as the question is presented. For example, the Question Object layout as it appears to the student could contain the question text and a series of buttons for multiple choice.

The response elements are "unlocked" and initialized so that the student can interact with them. For example, if appropriate, the focus is set to a fill-in-the blank field.

As soon as the question is shown completely, timing starts if the author specified that it should be used for the Question Object. Timing continues running for the duration of the session, even if the student "goes to" another question in another scene, and then returns to this question. Timing can be used for two purposes:

Note: If the play rules for the current application (TOC) specify timed Question Objects, every Question Object is timed by default.

The student responds

The actual activity of the student is determined by the type of question. It will be either click, drag or type (or a combination.)

Hints may be requested, or given automatically

If a question is locked, student response is not allowed

The response is interpreted

Depending on the implementation, this may be a full-fledge response analysis (as in ToolBook Instructor), or just enough to get the data required to update the question status.

The question status is updated

How this is done depends on the implementation.

Feedback is given

If feedback is enabled, immediate feedback is played. This may take the form of text, media, custom events or navigation-- or a combination of those.

Optional review

In some applications, the student is invited to go back over the questions in a test for a review. Typically, the questions are locked to prevent corrections by the student, and the correct answers are displayed either automatically or on demand for comparison with the student’s own responses.

Save/Restore state (interrupted session with bookmarking)

Consists of saving the status and response properties, and restoring them when returning to the same place in another session.

Response analysis

If the response analysis is done asynchronously, the response and status information stored in a session record file or data structure are inspected and compared with the response analysis elements of the prescriptive description.

Response analysis can take many forms, and is not specified in this document. Generally speaking, the results are tabulated and/or cross-tabulated between multiple session records for different students, and stored in a database or output in the form of reports.

Authoring

This document does not prescribe any authoring method or protocol, although obviously the most complete and effective authoring environment would probably use a wizard and/or property sheet in a visual, direct manipulation environment to let the author specify the various elements of a Question Object.

However, the application that uses the Question Objects may be using default settings from a particular implementation. It may thus be possible, and indeed desirable to let the author specify only what matters the most to him or her. For example, if generic or style-driven presentation is available, the author can specify only the question text and answers in order to create a complete exam.

Appendix

Question types

Here is a list of proposed question type names (values for the Qtype element):

Qtype

Description

DragToTarget

Object, or a callout line from object, can be dragged to a position in the scene. The name of the object at that position constitutes the response. (embodies Merrill's "Name the part" transaction)

DropTarget

Another object, or a callout line from another object, can be dragged to this object. The name of the other object constitutes the response.

Essay

Fill-in-the blank with unlimited length; allows line breaks.

MatchItems

One or more pairs of objects or items. Student must connect or indicate which elements are paired.

MultipleChoice

Traditional multiple choice question (only one correct answer and student can only make one choice at a time). Typical presentation is in the form of mutually exclusive "radio buttons".

MultipleChoiceMC

Multiple choice with multiple correct answer option (one or more correct answers, and student may choose more than one item at a time)

Typical presentation may be in the form of check boxes.

OrderItems

Presents movable objects in scrambled positions. Students rearranges the objects. Each object name + position pair can then be evaluated as response data.

OrderText

Presents text in scrambled word or text line order. Student rearranges the words or the text lines through direct manipulation, or indicates what the correct order is.

SelectText

Student selects one or more "chunks" of a given text.

ShortAnswer

Fill-in-the blank limited to short text entry; no line breaks.

Slider

Student chooses a position on an analog scale. Presentation can be straight line (slider) or rotary (potentiometer)

TrueFalse

In effect a multiple choice question with only two choices. Only one correct answer. Presentation may be in the form of an on/off switch.

 

Implementation examples

The table below shows what the typical response elements of some Question Objects are made of. The actual components depend on the implementation. This table is included here only to help visualize how a Question Object could function.

Multiple choice

Match items

Order items

Order text

Ddrag to target

Type in text

Drop target (drag in another object)

SelectText

Slider

Set of response objects (buttons, fields, pictures..), or text fields with buttons next to them.

2 sets of objects plus indicator objects, such as a line that appears between paired objects.

A set of draggable objects and an area in which the objects can be placed at random.

Text field with special behavior

Tag (field or button) and callout line. The entire thing can be dragged, or only the callout line.

Text field with special behavior

Any visible object

Text field with special behavior

At least two objects: slider range and thumb

Generic navigation hyperlink names

This section assumes a navigation context that may be hierarchical, as when the navigation follows topics or scenes arranged in a hierarchical table of content (abbreviated as TOC in the table below)

Link name

.Destination value

Effect of corresponding event

Next

Next (default)

Go to the next topic in this TOC, regardless of level. Note that the definition of "next topic" may be different if the current topic is being visited as part of a "drill down" -- See Drill Down.

NextSameLevel

Go to the next topic at the same level as current topic in this TOC

NextUp

Go to the first topic at a higher heading level than this topic in this TOC (same as the NextUp value option for SkipForward.destination)

Jump to <jump spec>

Jump to a specific topic in this or another TOC

Previous

Previous (default)

Go to the previous topic in this TOC, regardless of level

PreviousSameLevel

Go to the previous topic at the same level as current topic in this TOC

HistoryPrevious

Go to the previous topic in the history list

Jump to <jump spec>

Jump to a specific topic in this or another TOC

First

First (default)

Go to the first topic in the history list

Jump to <jump spec>

Jump to a specific topic in this or another TOC

Last

Last (default)

Go to the next topic in the history list

Jump to <jump spec>

Jump to a specific topic in this or another TOC

NextUp

NextUp (default)

Go to the first topic at a higher heading level than this topic in this TOC (same as the NextUp value option for SkipForward.destination)

Jump to <jump spec>

Jump to a specific topic in this or another TOC

PreviousUp

PreviousUp (default)

Go to the previous topic at a higher heading level than this topic in this TOC (i.e., the parent topic for this topic.) -- (same as the PreviousUp value option for SkipBack.destination)

Jump to <jump spec>

Jump to a specific topic in this or another TOC

Forward

HistoryNext (default)

Go to the next topic in the history list

HistoryLast

Go to the last topic in the history list

Back

HistoryPrevious (default)

Go to the previous topic in the history list

HistoryFirst

Go to the first topic in the history list

Jump to <jump spec>

Jump to a specific topic in this or another TOC

Enter

StartAsk (default)

If a valid bookmark is available, ask the user whether to start from the bookmark or from the beginning

StartAtBeginning

Go to the first topic in this TOC

StartAtBookmark

Go to the topic that was bookmarked for this TOC. If no bookmark is available, go to first topic in the TOC.

Skip Forward

LastSameLevel (default)

Go to the last topic at the same level as this topic in this TOC

NextUp

Go to the first topic at a higher heading level than this topic in this TOC.

SkipForward <n>

Skip the next <n> topics. Must be at same heading level as the current topic.

NextTopLevel

Go to the closest next topic at a top heading level in this TOC.

Jump to <jump spec>

Jump to a specific topic in this or another TOC

Skip Back

FirstSameLevel (default)

Go to the first topic at the same level as this topic in this TOC

PreviousUp

Go to the previous topic at a higher heading level than this topic in this TOC (i.e., the parent topic for this topic.)

SkipBack <n>

Skip back by <n> topics. Must be at same heading level as the current topic.

PreviousTopLevel

Go to the closest previous topic at a top heading level in this TOC.

Jump to <jump spec>

Jump to a specific topic in this or another TOC

DrillDown

DrillDown (default)

Go to first subtopic of this topic. Redefines the "next" for the last subtopic to mean "return to this topic"

DownThenContinue

Go to first subtopic of this topic, then go on to the next topic.

DrillDownPopUpModal

Open a popup window and show the first subtopic in that window. The window is modal but allows navigation within the subtopics of the current topic in the parent window. When reaching the last topic in that scope, "next" means closing the window.

DrillDownPopUpModeless

If a popup window is available, show the first subtopic in that window, otherwise open the window. Navigation is possible within the subtopics of the current topic in the parent window. When reaching the last topic in that scope, "next" means closing the window.

History

History (default)

Shows entire history and allows jump to any topic in history. Note that if a topic was seen as part of a "drill down", the window nesting, if any, is restored.

HistoryLocal

Show history for the local scope (window or frame).

Favorites

FavoritesUser (default)

Store favorites in user’s private bookmark folder

FavoritesTOC

Store favorites in a private bookmark folder specific to this TOC.

The table below shows how a condition value may apply to a hyperlink. Additional values may be defined in the future. In the future, there will also be a "custom" value that calls upon a more complex, scripted rule. If no specific value is assigned to a rule, the default value is inherited from the system.

Rule name

.condition value

Effect on corresponding command

Next

(none) (default)

No restriction on navigation

TopicMastered

Enables Next only if current topic is mastered. What this means is resolved by examining properties of the topic.

TopicVisited

Enables Next only if every subtopic within the current topic has been visited

Custom

Enabled Next only if a script expression evaluates to TRUE. Example: "This.Topic.Score > 75%"