QuizMaster

QuizMaster is a quiz engine, allowing quiz writers to easily create data/source files that will be turned into HTML on the fly. QuizMaster keeps track of a user's score and displays appropriate text at the end of a quiz. Data files, referred to as quiz files, are written in a loose, open-ended format that's very forgiving of error.

QuizMaster doesn't store or cache the data in any way, so privacy concerns are null. The only disk access it performs is reading the quiz file. So installing QuizMaster on your site requires no alterations to your existing privacy policy (unless you feel like amending it to state specifically that QuizMaster doesn't track any personal data).

Installing QuizMaster (For Unix system administrators)

Start by downloading the QuizMaster installation package (a 43 Kbyte .tar.gz file). After unpacking it, the only required steps for installation are:

  1. Copy the QuizMaster executable to its desired/required location on your system. (Presumably /cgi-bin.)
  2. Make sure the first line of QuizMaster has the correct location of Perl on your system.
  3. Make sure the QuizMaster executable has appropriate execute permissions to be run by the Web server. (You'll probably want 755.)
  4. By default, QuizMaster uses /quizzes as its standard quiz directory. Either change this, or create the directory.

You may also wish to symlink quizmaster -> QuizMaster in the cgi-bin directory.

If you want to test your installation, copy the sample-quiz file into the /quizzes directory, and point your Web browser at http://your-host-name/cgi-bin/QuizMaster?QuizName=sample-quiz . You can also follow the instructions for a more detailed installation in the INSTALL.txt file that comes in the installation tar file.

Using QuizMaster (For Web page designers)

Once you have created a quiz file, using QuizMaster is easy. You simply call or link to the QuizMaster executable with a QuizName argument whose value gives the filename of the quiz file you want to use. (You can also add in the optional "UserName" field.) You can do this in two major ways:

  1. An HTML Form: This is the preferred way to start QuizMaster. Set your form's ACTION attribute to the location of QuizMaster on your server, and create a form field whose NAME is "QuizName" and whose VALUE is, or can be set to, the location of the quiz file.

    For example, if QuizMaster is in the usual cgi-bin directory, and you want to use the quiz file /quizzes/personal/alpha, you can use the following:

    <FORM ACTION="/cgi-bin/quizmaster" METHOD="post">
    <INPUT TYPE="Hidden" NAME="QuizName" VALUE="/quizzes/personal/alpha">
    <P>Enter your name:<BR>
    <INPUT TYPE="Text" NAME="UserName">
    </p>
    <INPUT TYPE="Submit" VALUE="Take the Quiz">

    Note that this form locks the user into taking only quiz alpha. Also, note that the site administrator can set a default directory for quiz files. If this is the case, you should omit that part of the path from your specification of QuizName. Taking the previous example as a starting point, let's say your site administrator has now told you that /quizzes is the default directory for quiz files, and you have coded three more quizzes in your personal directory, beta through delta. The following HTML will work for you:

    <FORM ACTION="/cgi-bin/quizmaster" METHOD="post">
    <P>Enter your name:<BR>
    <INPUT TYPE="Hidden" NAME="UserName">
    </p>
    <P>Which quiz would you like to take?<BR>
    <SELECT NAME="QuizName">
         <OPTION VALUE="personal/alpha">Alpha
         <OPTION VALUE="personal/beta">Beta
         <OPTION VALUE="personal/gamma">Gamma
         <OPTION VALUE="personal/delta">Delta
    </option>
    </p>
    <INPUT TYPE="Submit" VALUE="Take the Quiz">

    Note that the <FORM> tag didn't change at all. Note also that there's no longer any leading "/quizzes" on the VALUEs in the <SELECT> tag.

  2. A Complex Hyperlink: You can craft a hyperlink in one of your <A HREF=""> tags to use HTTP GET syntax to initiate the script with the proper arguments. In this case, you start with the direct URL of QuizMaster on your system, then a question mark (?). Following that, you give key=value pairs, separated by ampersands (&), with no extra spaces. This method does not allow the user to select any options; everything is hard-coded in your hyperlink tag. Therefore, you'll probably want to avoid bothering with the UserName option.

    For example, to call QuizMaster in the /cgi-bin directory, with the quiz /quizzes/personal/hard-coded, use the link:

    <A HREF="/cgi-bin/quizmaster?QuizName=/quizzes/personal/hard-coded">

Other Information (For everyone)

QuizMaster is free software (as in both "free speech" and "free beer"). You don't have to pay anything to use it, and it is distributed under the terms of the GNU General Public License (GPL). QuizMaster was written in Perl and is maintained by Kai MacTane (kmactane@GothPunk.com). It is currently in release 0.50.0. The QuizMaster logo was designed and created by Mike Moss.