Documente Academic
Documente Profesional
Documente Cultură
With this approach, you may build your own tracking system on your server. This advanced
solution will require additional development and may incur extra costs, depending on the
requirements for creating your custom system.
iSpring on Github
Here you can get a free sample script that will process incoming quiz data on your server.
https://github.com/ispringsolutions/QuizResults
This script is provided “as is” with a text instruction inside and description in this article. No
support is provided for modifying it or setting up on your server.
Prerequisites
A copy of iSpring QuizMaker or another iSpring authoring tool that includes QuizMaker
(iSpring Suite).
A server with full access to the file directory and to configuration settings.
Quiz configuration
Turn on the Send quiz results to server option in Quiz Properties. In order to do that, follow
these steps:
4 Check the Send quiz result to server checkbox and enter the address of your server that
points to a parsing server script (which will be described later in the article).
5 Save settings.
Quizzes generated with iSpring QuizMaker send results using the HTTP POST method. The table
below contains all the POST variables that a quiz sends.
6, 7, 8,
v QuizMaker version
9
Detailed results in 6, 7, 8,
dr optional, when available
.xml format 9
6, 7,
sp Earned points optional, when available
8, 9
Passing score in
percent (the
optional, when available,
percentage of the 6, 7, 8,
psp depends on the Passing Score
total points the user 9
option
must score to pass a
quiz)
6, 7, 8,
tp Gained score optional, when available
9
6, 7, 8,
qt Quiz title
9
t Quiz type 7, 8, 9
Instructor’s email
ae optional, when available 9
address
Include user
aa responses in optional, when available 9
instructor’s report
Comment in the
email with quiz
rc optional, when available 9
results (the
Comment field)
Translations of
rm messages according optional, when available 9
to their identifiers
These variables are available if a quiz has a user data request form:
Quiz taker's
USER_NAME user variable 7, 8, 9
username
pv User variables 9
Include user
sa responses in quiz optional, when available 9
taker’s report
Include feedback
sf messages in quiz optional, when available 9
taker report
Note: QuizMaker will send either ps or psp. This depends on the Passing Score option (Quiz
Properties > Main). If it’s specified in points, the program will send ps and psp if in percentage.
User variables
You can add any custom variable that can be used for your exact task. There are some pre-set
user variables, name and email and other that you can customize. Here is how you can manage
your quiz variables:
After that when a quiz is published and launched, a user will see a Quiz Taker Form with three
fields and default values that can be changed.
A user variable can be Optional or Mandatory. If you choose Do not ask, it won’t be accessible.
Example of a vt array:
Variable title is used in user interface (conforms with Field Name in the Customize Quiz Taker
Form window).
Detailed results
QuizMaker captures every step of a user’s progress and can provide a very precise description
of the entire attempt. Detailed results include the text of every question, settings, a list of preset
answers, and the user’s choice or answer text. This adds up to a lot of data; therefore, it has to
be well-structured.
Here is an XML schema that describes the structure of the detailed results .xml:
https://github.com/ispringsolutions/QuizResults/blob/master/QuizReport.xsd
Let’s review an example that will show how the detailed answers are captured.
1 Open the QuizMaker editing window. Switch to the question about the “Everest's summit
point” which is a Multiple Choice question, meaning that it can have just a single correct
answer: “China and Nepal.”
2 Here is the published version of this quiz. Let’s select the “China and Nepal” answer and
click Submit.
3 After the quiz has been finished and the results are sent to the server, we can check this
data. Here is the piece of the detailed results XML file featuring this exact question:
Every question is automatically assigned with a unique ID. The attributes of the element provide
the summary of the given question: the answer status (correct or incorrect), the maximum
points a user can get for the correct answer, the maximum number of attempts allowed, the
points that a quiz taker was awarded for this question, and the number of attempts used.
In this case, the user answered the question correctly (status="correct"), spent one attempt
(usedAttempts="1") out of one (maxAttempts="1"), and got 10 points for it
(awardedPoints="10") out of 10 (maxPoints="10").
The multiple choice question contains 5 possible answers. Each answer has an index whose
numeration starts with zero: 0, 1, 2, 3, 4.
Hint: Use your browser’s Developer Tools (F12) to see the contents of a POST request, including
this XML file. For a free third-party solution that’s popular among experts, try Fiddler by Telerik.
The next step will be to create a script that will process quiz results and deploy it on your server.
It will listen for incoming POST data of a certain format. As soon as data is received, the script
will parse it and save to a .txt file or write to a database.
This PHP code collects the POST values sent from a quiz:
$version = $_POST['v'];
$points = $_POST['sp'];
$passing_percent = $_POST['psp'];
$gained_score = $_POST['tp'];
$username = $_POST['sn'];
$email = $_POST['se'];
$quiz_title = $_POST['qt'];
$_POST is an associative array of variables passed to the current script via the HTTP POST
method. So all you need to do is address the necessary variables (listed in the table above) and
parse the XML file stored in the dr variable.
Here is a sample PHP script to check out how Quiz and server communication works.
https://github.com/ispringsolutions/QuizResults >
Description: This script will parse attempt details and write it to a .txt file. The text of results will
include user name and email, user score and passing score. Question details will include the
question body, correct response, user response and score for this question.
Indeed, this is a very basic script just for test purposes. To create a good tracking system, you
need to develop it on your own.
Support Note
We at iSpring are always eager to help our users achieve their goals. Please understand that this
particular topic is quite complicated and related to the development of third-party systems
rather than to QuizMaker’s own functionality (which of course is covered by our free support
service).
If you need help with customization or modification of any scripts related to QuizMaker data
collection, we will be happy to provide you with our consulting services, or start a custom
development project for an additional fee. Contact us at support for details.
You are welcome to collaborate with other iSpring users and fellow developers by posting on
our official Github page to discuss and share scripts for different purposes.
Related Articles