SAP Enable Now includes the ability to create effective Quizzes, with a variety of different Question types. In true Enable Now style, there is a lot of control you can exert over the format and appearance of these Questions within a Quiz, but this is not always straightforward. In this article we look at how to define our own visual style for Questions.
Every Question uses a Quiz Template to define how (and where) the various elements of the Question (such as the question itself, the possible answers, and so on) should appear. (Confusingly, a Quiz Template defines the format of the Question, and not the Quiz – the format of the Quiz is defined elsewhere, as we shall see later). Creating a Quiz Template is not for the faint-hearted, and if you are in a rush you may be better off using one of the pre-built templates SAP provides via the InfoCenter. But if you’ll be making extensive use of Quizzes, it is definitely worth knowing how the Quiz Templates work – and if you can build your own template from scratch you’ll be able to do anything.
Creating a Quiz Template Object
A Quiz Template is just a special type of Book Page, so the first thing you need to do is create a new Book Page. You need to set the Subtype of this to Quiz Template, but you can do this any time before you use it. Within the Book Page, click on the Insert Quiz Item button, and select Quiz Item Template from the drop-down panel (this is the only option on the drop-down panel you will use here).
The Quiz Item Template is a specialized type of Book Page Object that serves a number of purposes. Firstly, the positioning of the object itself is used to determine the position on the Book Page where the Question ‘answer’ component (the list of options for Multiple Choice, for example) will appear on the Book Page during display. Secondly, the Quiz Item Template object has a number of properties that are used to influence the appearance of the Question’s ‘answer’ component – individually, for each Question Type. Finally, the Quiz Item Template object lists within it (on the actual Book Page) the various objects that you can (and in some cases must) define in the template. Actually, it lists the names that you need to give to the objects that you create. These names are then used internally by SAP Enable Now during playback, to provide the quiz logic and responsiveness. We’ll look at each of these objects as we use them, in this tutorial.
While you’re building your Quiz Template, you may find it useful to have a Quiz open, containing at least one question, which has a Template property set to the Quiz Template you are creating, so you can rapidly test your work. For this tutorial, we’ll use a simple example of a Multiple Choice question, defined as follows:
As we build our new Quiz Template, I’ll refer back to this example, to clarify which elements I’m referring to.
Adding the Question and Answers
Let’s start with the basics – the question and the answer choices. As noted above the ‘answers’ (the block containing the three options We Perform Better, Workforce Performance Builder, and Well Performing Business) are displayed within the Quiz Item Template object itself. This has a Name of quiz_element by default. You must not change this! To tie this back to the Question definition (which is always separate to the Quiz Template), the information displayed here is taken from the Answers (and potentially More Answers) property category of the question object.
Let’s now add a placeholder for the question – the thing that we will ask the user to answer – to the page. In the example above, this is the text “What does WPB Stand For?“, which is taken from the Task property of the Question object. To add this element to our Quiz Template, we need to add a Text object, and give it a Name of task. You can enter whatever you like into the Text object’s Text property as this text will be replaced with the Question’s Task property during playback. Our simple example now looks as follows (in the Editor):
We could now display this Question and it would appear as expected, but there is no way to confirm/validate our answer – to do that, we need to add a button the user can click to submit their answer. Actually, Enable Now requires two buttons to be defined – one for the inactive state (before the user has answered the question) and one for the active state (after the user has answered the question and is ready to submit it). In our example above, the grayed-out ‘Next’ button in the lower-right corner shows the ‘inactive state’ button. For our template, we need to add two Shape objects, and give them Name properties of next_enabled and next_disabled. We’ll position these on top of each other, in the lower-right corner of the Book Page. We also need to select the Hide property for both of these – their visibility will be controlled by Enable Now.
At this point we now have a working Quiz Template. If we apply this to our sample question, it will look as follows (during playback, with the question answered but not submitted):
Including media
In some cases, a question may include a Media File, such as an image or video. To cater for this, you need to include a placeholder for the media file in your Quiz Template. To do this, you need to provide several additional elements:
- media: An Image object (with no actual image selected in the Image property) that will be used as a container for the full-sized Media File (from the Question).
- media_preview: An Image object (with no actual image selected) that will be used as a container for a smaller, thumbnail version of the Media File. This is only needed if you do not specify a media_open element.
- media_open: An Image object that the user will click on to display the Media File. If a media_preview element is defined, then that is used as the ‘media open’ button, and the media_open element is not displayed.
- media_close: An Image object that is displayed when the user displays the full-sized Media File, and that the user can click on to hide the Media File again.
Tip:
If you always want the Media File to be displayed full-size, include only the media and media_preview elements, and set them to the same size and at the same position on the page. Just make sure they do not overlap any other elements on the page.
Having added these elements, a Question that includes a Media File will now initially appear as follows during playback:
When the user clicks on the thumbnail image of the media, the full Media File is opened, as shown in the following example:
If a Question does not include a Media component, the media_preview element is never displayed, which means that the, media_open and media_close elements also never appear. You therefore don’t need to set the Hide property for these. However, as you (inconsistently) do have to hide the media element you may want to just hide all of the ‘media-related’ elements for consistency – SAP Enable Now will take care of displaying them when it needs to. This means that you do not have to define On Click actions for the media_preview, media_open, and media_close elements as the internal logic already handles it.
Annoyingly, you can’t use the On Show action for the media_preview element, as this event does not seem to be triggered when the element is first displayed. The On Hide one does, though, as does On Show for the media element.
This is the bare minimum of what you need to define to have a fully-functioning Quiz Template, but there is a lot more we can do.
Providing Question-level Feedback
At the moment, the user does not receive any feedback when they submit their answer. It would be nice to tell them whether their answer was correct or incorrect. You don’t have to do this – you can just record their results, or you could just show the results of the Quiz when they have answered all the Questions in it (which we’ll cover later, when we look at the Quiz Evaluation) – but assuming you do want to provide question-level feedback, there are a few ways you can achieve this. We’ll start with the easiest way. Each Question has properties for Quiz Passed and Quiz Failed (which, again, refer to a Question and not an entire Quiz, despite the property name). We’ll start by providing Text object placeholders for these, and use the required names of feedback_correct and feedback_wrong. Again, we will place these at exactly the same position on the Book Page, and select their Hide property so they are hidden until SAP Enable Now’s logic chooses to display them. We can enter any text we like in these Text objects as they will be replaced by the relevant property from the Question. Because this text will be replaced, if you apply any formatting to these Text objects, you should do so via the object’s properties, and not by applying direct formatting to any default text you enter.
We can also define an icon (or other image) that is displayed when the user answers the Question. For our example, we’ll show a green check-mark (tick) if the user answered the Question correctly, and a red cross if the user answered the Question incorrectly. To do this we will insert two Image objects, named feedback_passed_icon and feedback_failed_icon. (Caution: Do not make the mistake of assuming you should use the feedback_correct_icon and feedback_wrong_icon elements for this – in an inexplicable piece of inconsistency, these don’t tie up with the feedback_correct and feedback_wrong text elements, and are used for something completely different, as we’ll see later). We’ll position these where we want them to appear (in our example, to the left of the feedback text), and select the Hide property. Now, our sample, question will look as follows, during playback, and after the user answered the question incorrectly:
Note here that the red ‘x’ icon comes from the template (the object with the name feedback_wrong_icon, but the text “I’m sorry, that is incorrect.” comes from the Quiz Failed property of the Question.
One of the problems with this method of providing feedback is that you need to reserve a specific area of the screen for the feedback, which provides less screen real-estate for the ‘answer’ panel. so as an alternative, you can provide the feedback in (some form of) a pop-up. This is done by adding objects with names of feedback_correct_popup and feedback_wrong_popup to your Quiz Template. Despite the name, you should not use a Text Pop-Up object for this, because although the pop-up box will correctly be displayed in response to the appropriate action, the icon (normally used to open the pop-up) will always be displayed. Instead, you can use a Text object, a Shape object, or even a Bubble object – as long as you use the correct object Name. (Again, don’t forget to set the Hide property for the object.) Regardless of the type of object used, the text that appears in it is taken from the Quiz Passed or Quiz Failed property in the Question, the same as for the feedback_correct and feedback_wrong elements.
If you use the pop-up method of providing feedback, you may also want to provide a way for the user to close the pop-up object. (The pop-up will be closed automatically when the user advances to the next question (by clicking on the next_enabled element again), but this may not be immediately obvious – especially if you used a text of “Submit” in the next_enabled element.) If you use a Bubble as the pop-up element then you can just select the Closable property for the Bubble object, but for other object types, you need to provide an additional element to function as a ‘close’ button. Handily, Enable Now takes care of most of this for you, by allowing the definition of an element with a Name property of feedback_close_popup. This can be a Shape object, an Image object, or even a Text object, and as long as the name is feedback_close_pop-up Enable Now will take care of hiding the feedback_correct_popup or feedback_wrong_popup element when it is clicked.
Here’s an example of our sample question using pop-up feedback, where the user has answered the question correctly:
In this example, we have used a Bubble object as the pop-up. This uses a Style of Big Title Bar Blue, Alignment of Center (so as not to have a bubble pointer), and has the Closable property selected. The text “Correct!” is defined in the Title property of the Bubble object, and the text “That’s right…” is taken from the Quiz Passed property of the Question. Note that the previously-defined feedback_correct / feedback_passed_icon and feedback_wrong / feedback_failed_icon elements no longer appear.
But here’s where things get slightly complicated. Whether feedback is via the text/icon elements or via the pop-up elements is not defined in the Quiz Template. Instead, it is defined in the Workarea via menu option Tools > Settings, under Playback Settings > General > Quiz. In fact, there are quite a few things to do with Quizzes that are controlled here. Settings are defined at the Workarea level by the master Author (or Admin), but you can also specify them for an individual Quiz via the Project Overrides. The image below shows the relevant section of the Settings, with the Project Overrides selected:
The setting that determines whether the text/icon or a pop-up is used for question feedback is the Show Feedback as Popup setting. There are many other settings here, but don’t worry about them yet – we’ll get to (many of) them later in this tutorial.
A word of advice at this stage. Because the choice as to whether feedback is provided via pop-up or text box and icon can be made at the Quiz level, you should build your Quiz Template to support both of these options. In doing so, you will ensure that your template will work regardless of which option the Quiz Author chooses.
Providing Answer-level Feedback
There is another level of feedback you can provide for Question types that provide more than one possible answer choice (for example Multiple Choice, Matching, and so on). For these Questions, if the user answers the Question incorrectly (only) you can indicate which of the answer choices were actually correct and which were incorrect (not as the user answered them, but as defined in the Question). To enable this, you need to select Show Correct Answers for the Quiz, and then provide two additional Image objects, named feedback_correct_icon and feedback_wrong_icon. You can insert these objects anywhere on the Book Page – they will automatically be positioned alongside the answer choices within the feedback_wrong element during playback.
To better understand this, look at the following image, which shows our sample question with these icons defined.
Here, you can see that all of the answer choices are repeated within the feedback text box (and this is the case for both correct and wrong answer submissions), and the correct answers are shown alongside these. Again, the icons identify which of the answer choices are correct and incorrect choices, and not whether the user made the correct selections – this is especially important to acknowledge where there are multiple correct answers.
Note, however, that the answer option texts are shown at a smaller size than the Quiz Failed text. This size is fixed, regardless of the text size specified for the feedback_correct / feedback_wrong elements, and apparently cannot be changed. Furthermore, the feedback_correct_icon / feedback_wrong_icon images are always shown their full original size, and any resizing you perform on the Book Page is simply ignored (unlike the feedback_passed_icon / feedback_failed_icon images, which you can resize).
Adding Navigation Elements
Typically, you will not have only one Question in a Quiz – if you only wanted one Question you would be better off using a single Book Page with the Question entered directly onto that. And if you have more than one question, there are a couple of ‘navigation’ (or ‘wayfinding’, as it is sometimes termed) elements that you can add.
The first of these is the question number. The number of the current question is calculated automatically by SAP Enable Now (which is handy, as it automatically caters for Quiz Sections) so all you need to do is add a placeholder element for this. To do this, you can add a Text element or a Shape element with a Name of number. (Unfortunately there is not a corresponding ‘total number of questions’ element.)
The second thing that we can do is add a ‘title’ to the Question. This is distinct from the Quiz Name property (taken from the Step – “The Quiz” in the example below), and the Question text itself, and can be used to provide some context to the question. For example, if a Quiz covers a course that consists of multiple sections, you might want to indicate the section to which a given Question within the Quiz applies. The actual title text is defined in the Title property of the Question itself, but you need to provide an element that will be used to display this in the Quiz Template. This is done by adding a Text element with a Name property of (surprise, surprise…) title.
After adding these two elements, our sample Question appears as follows, during playback:
Keeping score
You may have noticed that each Question has an assigned number of ‘points’ that are awarded if the question is answered correctly. This is defined in the Points property of the Question (and can be defaulted via the Points property of the Quiz Item Template object). You can show the user’s score as a running total, by including a Text element with a Name of points on your Quiz Template. This then appears as follows during playback:
Providing a running total is helpful if users are required to reach a certain score (or percentage), but if you do show this information, you need to understand (and make sure your users understand) what the displayed information means.
Firstly, the points element results in two values (separated by a slash) being displayed. The first of these is the user’s cumulative score so far; the second is the total possible score to this point. (So the values can effectively be read as “So far, you have scored x points out of a possible y.”) One may have expected the second number to represent the total number of points available for the entire Quiz, but that’s not the case – probably because it can’t always be calculated in advance (for example, if you have a Quiz Section and not all Questions within it – and selected at random – carry the same point value).
The second thing to note is that the score is only (re)calculated once the user submits their answer to a Question. So when the user initially launches the Quiz, this will show as “0/0”, which could be confusing. For this reason it is probably prudent to add a Text box explaining what the numbers mean – as has been done in the sample above.
Adding a Timer
Another element you can (and probably should) add to your Quiz Template is a countdown timer. Actually, there are two possible timers. The first of these is defined at the Question level, and specifies how long the user has left to answer the current Question. The amount of time they start with is specified in the Options > Time Limit (Seconds) property of the Question (within the Quiz). The countdown (from the Time Limit) is handled by SAP Enable Now’s built-in functionality, so all you need to do is add a placeholder element for this. Use a Text object with a Name of countdown.
The second timer is a Quiz-level timer, and specifies how long the user has to complete the entire Quiz. This is not calculated automatically as the sum of all Question-level Time Limits (which would be less flexible), but instead the Quiz-level time limit is specified via Playback Settings > General > {Project Overrides >} Quiz, in the Time Limit for Complete Quiz (Seconds) setting. Again, SAP Enable Now takes care of the countdown – you just need to provide a placeholder element for this. Again, use a Text object, but this time give it a Name of countdown_global.
After adding these elements (and making sure the Question-level Time Limit and Quiz-level Time Limit for Complete Quiz properties have been specified), our sample question now looks as follows:
Note that the timers are independent of each other – you can use one but not the other. You can also have a Time Limit for some Questions but not for others, in the same Quiz. If a Time Limit is not specified (at either level) then the countdown does not appear – but any text labels you have added will be, so watch out for that.
Of course there is no point in having a timer if there is no consequence of allowing this to expire. To display a message to the user when the timer has expired, you need to insert a Text object with a Name of feedback_timeout and/or an object with a Name of feedback_timeout_popup. These are comparable to the feedback_correct/feedback_wrong and feedback_correct_popup/feedback_wrong_popup elements (see above), and both take their content from the Quiz Timeout property in the Question.
Displaying the final Quiz Evaluation
The final thing you need to include in your Quiz Template is the Quiz Evaluation. This is the final page that the user sees, showing their results. Fortunately, this is probably the easiest thing to cater for in the template, because everything is controlled by the Quiz Evaluation object in the Quiz itself (and if this object isn’t present, the Quiz Evaluation is simply not displayed). The actual content displayed in the Quiz Evaluation is controlled by the Format property of the Quiz Evaluation object, so all you need to do in your Quiz template is provide a single Text object with a name of quiz_evaluation, and position this appropriately on your page.
However, this last point – positioning the quiz_evaluation object on the page – is where things can potentially get complicated – because several of the other page elements will still be displayed – the title, next_enabled/next_disabled buttons, number, points, countdown/countdown_global, and any other objects that you have added to the page. The title is OK to leave displayed as the Quiz Evaluation object in the Quiz has a Title property that will be used to populate this, but you may want to ‘remove’ the other objects. Fortunately, there are a few ways you can do this. The easiest is to simply set the Background Color for the quiz_evaluation element to be the same color as your page background (typically, white) and size/position it so that it covers all of the elements you don’t want to be displayed.
The next simplest method is to create a separate Quiz Template just for the Quiz Evaluation, and select this in the Template property of the Quiz Evaluation object in the Quiz. Using this method you have absolute control over exactly what appears on the page along with the quiz_evaluation element, but the downside is that you need to make sure your Authors remember to select this different template just for the Quiz Evaluation object – and someone, some time is going to forget.
The third option is to take advantage of a little inconsistency in SAP Enable Now. Although (as noted above) you cannot use the On Show / On Hide Actions for the media and media_preview elements, you can use them for the quiz_evaluation element. So you can use the On Show Action to hide all of the objects that you don’t want to be displayed, and/or show any additional objects that you do want displayed.
For our sample Quiz, I’ve used a combination of option 1 (using a white background for the quiz_evaluation element) and option 3 (showing additional objects), to produce the following page:
Summary
And that’s all there is to it. Easy when you know how! OK, so it may not be easy, but there’s a lot you can do to create quizzes that look exactly like you want them to look. And even if you don’t create your own template from scratch, once you know what elements are available and what they do, you should be able to take one of SAP’s pre-built templates and change it to meet your own styles and standards.
A couple of tips to end with:
- Always provide all of the elements listed in the Quiz Item Template object – they may not all be used every time, but if you provide them all in the template, you’ll never have a situation where an Author tries to do something your template doesn’t support.
- All element names are case-sensitive (always lowercase).
- Many of the elements can be created as Text objects, Image objects, or Shape objects – as long as the element name is correct, they will be handled correctly. Different object types have different properties and different capabilities, so you may want to try different ones to see which works best for you.
- Some elements support On Show / On Hide Actions. You may need to play around to see what works.
Finally, this tutorial has really just covered the basic mechanics of a Quiz Item Template, and our finished example is functional, but fairly ugly. There are many more properties for the Quiz Item Template Book Page object and the Question objects, along with settings under Tools > Settings > Playback Settings > General > Quiz, that you can use to control the look and feel of your Quizzes. Take the time to play around with these, and see what works best for you.
Is there a way to hide the score on each quiz page (on the bottom on the left )?
Yes, just hide the points element – see the section Keeping Score.
How can i show the evaluation pass percentage on the final score page?
I don’t think you can – or at least not without some code modification. By default the feedback shows ‘required score’ and ‘maximum score’ instead. If I get time I’ll see if I can figure out what code changes you’d need, but in the meantime, that’s the design.
I would like to create a quiz using the Drag and Drop option to sequence the answers.
OK. So add a Sorting type question and choose an Interaction of Drag & Drop.
Is it possible to have more than one Quiz Evaluation associated with a test? For example, there are several modules being tested. The request is to have individual module quiz evaluation feedback as well as the overall quiz results at the end. Thank you
You can only have one Quiz Evaluation per Quiz project – because this is what carries the score, and there’s only a single score possible. But you can have multiple Quizzes per course…
Is there a way to allow users to retake the quiz? I want the users to retake the quiz if they don’t clear the minimum cutoff. Not sure how can I build this logic. Any suggestions?
In general yes, but it depends on how you are launching it. If it has been packaged as SCORM and launched by an LMS, then it will be controlled by the LMS. If launched via Manager Learner View then the user can just re-launch it (I believe there is a message that pops up warning you if you have already passed it). If you mean can you re-launch it from the ‘Quiz Results’ screen – I don’t think so. You could maybe have a button with a Jump to Step action on it and jump back to the start, but I don’t know if that would actually work / reset the score.
Thank you for your post, it is really helpful. However I find myself stuck in the Evaluation of of the Quiz. I don’t want the user to see the detailed results, just a Passed/ Not Passed. Is there a way to do that? Thank you!
Óscar: There’s no built-in way to do this, but there’s a couple of workarounds you can try. First, in your Quiz Evaluation, set Format to Total Score Only (as this is the ‘smallest’ of the feedback options), and under Feedback, select Show Feedback, and enter a suitable text in the Quiz Passed and Quiz Failed properties. Now, create a separate Quiz Template Book Page that contains only a text box with a name of quiz_evaluation. (You can include any other logos etc. you want to with this, but it must contain that text box, as that’s where the ‘results’ will be displayed). Select this as the template to use for your Quiz Evaluation. If you run your Quiz at this point, you will still see the score, and will also see a shaded rectangle that contains your Passed/Failed text. So far so good, but now we need to ‘hide’ the actual score. Here, you have a choice. The easiest way is to add another rectangle to your Quiz Template Book Page (used for the Quiz Evaluation) that has the same color fill as your page background (usually white), and position this over the top half of the quiz_evaluation text box, so that it covers/hides the score section of the feedback. It may take a bit of trial and error, but because the score information is always only one line, once you get it right, it will always work. The other option is slightly more work: First, set the Font Color for your quiz_evaluation text box (in the Template) to be the same as the page background color (again, usually white). Then, go and change the color of the actual text in the Quiz Passed and Quiz Failed texts (in the Text Editor) in the Quiz Evaluation. These default to black so you will need to change them to something else – if you really want black, use a very dark gray – just anything other than the default. Then, when you display the Quiz Evaluation, the score will not be visible (white text on a white background) but the Passed/Failed text will be visible because you have assigned a specific color to it. The disadvantage of this second approach is that the text is still technically there (you can press CTRL+A on the Evaluation page and you’ll see it) but (1) you really need to know it is there, to do this, and (2) that might actually be useful (to you) for troubleshooting. HTH >Dirk
Wrong place to ask this question (see the Questions page) but, OK. It’s difficult to know what is happening without knowing what you have done already, but… You need to generate the Desktop Assistant, with the appropriate content in it. You also need to install the SAP Enable Now Launcher (even with the Cloud Edition) so that you can launch the Desktop Assistant. If you’re just starting out, I’d suggest generating and launching the DA directly from within the Producer – you should at least see the DA toolbar appear. If you’re not seeing that, check that the DA is being generated OK. If you do see it, but other users do not then make sure they are using the correct Start Link (and that they also have SEN Launcher installed).
Some settings in Producer are only changeable to an Administrator. Maybe that’s what you are seeing (but that shouldn’t affect your ability to generate/launch the Desktop Assistant.
Chapter 10 in my book is dedicated to Desktop Assistant (60 pages).
Im not sufre what is happening. I try to use desktop assistance but i cant see the window. Some of the settings in the producer are no enable for me but i am not sure if that could be the reason. Is ir necesry a y instalaron for the desktop assitebt on cloud edition?
Thanks for your comments