The

Glossary Wizard

Home Page


What is Glossary Wizard?

Glossary Wizard is a web-based application which gives students interactive access to glossaries of terms. Using Glossary Wizard students can review and test themselves on their knowledge of terms contained in a glossary file, which the student or teacher supplies. A student gets the choice of four different access and testing methods: [ Browse, Flashcard, Match Definition, and Match Term]. Each glossary is easily implemented as a formatted text file containing a sequence of terms and definitions.

This page contains all the information you need to obtain, install, and use Glossary Wizard. But before going we suggest that you take Glossary Wizard for a

TestDrive

[Up Front Warning -- Glossary Wizard consists of three Perl scripts. These scripts will work only with Perl5. Ask your system administrator to upgrade to the new Perl if your site is still using Perl4.xx.]


Table of Contents

Introducing the Glossary Wizard
User Features
Browse mode
Flashcard mode
Match Definition mode
Match Term mode
Provider Features
Preparing a glossary
The Glossary Header
The Glossary Category List
Installing and Referencing Glossary Wizard
How to Obtain Glossary Wizard


Introducing Glossary Wizard

The Glossary Wizard is a web-based application which makes it possible for educators to give students interactive access to glossaries of terms. Glossary Wizard is implemented as a Perl script which, when activated, generates FORM-based web pages providing students with a choice of four modes [ Browse, Flashcard, Match Definition, and Match Term] for accessing data in user-defined glossaries. Glossaries are implemented as formatted text files containing lists of terms and definitions. Access to a particular glossary is provided by a hyper-link on a web page.

There are two principle users of Glossary Wizard: the glossary provider and the user of the prepared glossary. The provider must prepare the glossary text file and then put a hyper-link to the glossary in the text of a web page. The user will gain access to the glossary interface by clicking on the hyper-link. The capabilities provided by Glossary Wizard are described below. The implementation of Glossary Wizard was carried out in the Bucknell University Computer Science Department with the help of David Maher, a CS major from the class of '96.


User Features

When first accessing a glossary via Glossary Wizard the user will see two basic elements. On the left of the screen is a list of selectable buttons, one for each glossary category. The user can select or unselect a category by clicking on the associated button. The list of selected categories is used to determine what will be viewed via the four access modes. On the right of the window are four buttons (vertically arranged) labeled with the names of the four access modes. After selecting a set of categories, clicking on a mode button will give the user access to the entries of those categories via the selected mode.

Browse mode: The list of term/definition pairs will appear in the browser window. The different entries can be reviewed - those not visible in the window can be accessed by scrolling forward or backward through the glossary listing.

Flash mode: A screen is displayed containing a term and a writable window. The idea is for the user to type into the window the definition for the specified term. Having supplied the definition the user clicks on the button labeled "View correct definition" - a new screen will be displayed containing the user definition and the glossary definition. The user must determine whether they did justice to the definition. Two buttons at the bottom of the screen allow the user to continue on to the next term or terminate the Flash mode.

Match Definition mode: A screen is displayed containing the definition of an un-named term. At the bottom of the screen is a table of buttons, each labeled with a term. The user "guesses" which term goes with the definition by clicking on the button associated with the term. A running score of "number missed" and "number guessed" is displayed at the upper right of the screen. After making a guess a new screen appears which indicates whether the guess was correct and offers a new definition. If the guess was wrong the number of term buttons remains the same - if the guess is correct the button for the guessed term disappears. The user works through the quiz until all definitions have been matched with a term. A button labeled "...Done for now..." appears at the upper right and provides an exit point if the user doesn't want to go through the entire list of definitions.

As a convenience, when the selected categories have a combined number of terms greater than eight, the terms are broken into batches of eight. The user is presented the first batch of eight to work through. When they have all been guessed the next batch of eight is presented, and so on. This prevents the number of buttons from being so great that it is hard to find the matching term. This batch size can be configured by making an appropriate entry in the glossary file header; this is discussed in the Installation section.

Match Term mode: The Match Term mode is similar to the previous mode, with the roles of "definition" and "term" reversed. A screen is displayed with a term and four definitions. Each definition has an associated button. The user guesses the correct definition by clicking on an appropriate button. As in the Match Definition mode, a running score is displayed and the user is given the opportunity to exit early. The mode completes when all terms have been matched successfully with the correct definition. In this mode no configuration is possible - there are always four definitions from which to choose.


Provider Features

A glossary is a sequence of categories each containing a sequence of term/definition pairs. Each category has an identifying name. A category has entry types. The standard entry is visible via any of the three access modes, while a restricted entry is only visible in browse mode. This gives the provider a mechanism to limit the number and kind of entries for the flash-card and matching modes. A glossary is realized as a text file with a specific format. The format has been designed to be as friendly as possible while still providing flexibility. The specific form of glossary file is described in the next section.


Preparing a Glossary

The GW glossary is implemented as a text file which must appear in a specific format. An appropriately formatted glossary file has two basic parts: the header and the glossary. The header provides data for configuring the appearance of the GW screen. The glossary part is a sequence of category entries, with each category entry comprising a sequence of term/definition pairs. A particular category entry can be automatically generated from a plain text file using a supplied perl script, but the various categories still must be combined into a single glossary file.

The Glossary Header:The following is a sample header for a glossary file.


<TITLE = Programming Language Glossary>
<HEADER = Programming Languages>
<OWNER = Jerry Mead>
<EMAIL = mead@bucknell.edu>
<GIF = http://www.eg.bucknell.edu/~eg_icons/glossary.gif>
<QUIZBUTTONS = 8>

In each line the text following the `=' symbol is user specific, the text before the `=' is required by GW. The lines can appear in any order. The first line gives a title to dislay in the browser's window frame (at least for the Netscape browser). The second line gives text which, along with the graphic identified in the `GIF' line, will be displayed as the header of each page generated by GW. The third and fourth lines give information about the person maintaining the particular glossary. The information will appear in the footer of each generated page, with the email address as a `mailto:' URL. Finally, the entry `QUIZBUTTONS' can be set to indicate the number of terms to display in Match Definition mode. Note that the number of terms specified should be a multiple of four, since the selection buttons are arranged in rows of four. The final two entries are optional, with the default value for `QUIZBUTTONS' being eight; the default value for for `GIF' is the one given in the `<GIF...>' line above.

The Glossary Category List:The glossary file header is immediately followed by the glossary data. Each glossary category has the following format. It is important to note that the angle brackets used below are a required part of the format.

    <CATEGORY Name=category name>

       <DEF Term=first  term name>...term definition...</DEF>

       <DEF Term=second term name>...term definition...</DEF>

         .
         .
         .

       <DEF Term=nth    term name>...term definition...</DEF>

    </CATEGORY>
Category and Term names can contain more than one word and each term definition can span multiple lines. Term names which begin with a `#' sign designate restricted terms - they will only be used in the browse mode - never in the matching or flash-card modes. To add extra flexibility for those familiar with the HTML text markup language, term definitions can include HTML tags. This makes it possible to give specific formats to definitions where appropriate. A sample glossary file can be seen by clicking here. Notice in the glossary that there are two terms whose names begin with the `#' sign. Also notice that the definition for the term Language Generated by a Grammar contains HTML code. Click here to see how this sample glossary appears when presented by Glossary Wizard.

Automatic Glossary Generation: The preparation of a glossary file can be partially automated. The perl script generate.pl will take as command line arguments a category name and names for an input text file and an output file. generate.pl will create the output file and fill it with the correct GW code for the particular category. A number of categories can then be combined with a header to make a glossary file. The format of the input file is very easy. The generate.pl script looks for a sequence of "paragraphs", where the first line of the paragraph is assumed to be the term and the rest of the lines comprise the definition of the term. "Paragraphs" are separated by blank lines. The file glos.raw contains a glossary in this raw format. If you execute the following line

     generate.pl "Basic Definitions" glos.raw glos.dat
then you should end up with a file named glos.dat containing the properly formatted definitions for a category with the name "Basic Definitions".


Installing and Referencing Glossary Wizard

Glossary Wizard is implemented as a Perl script and requires perl5: it will not work with perl4.xx. It will have to be installed by a system administrator in the system's cgi-bin directory. Having installed GW the glossary provider must put a glossary link into a web page which will be accessible to the glossary users. The link to Glossary Wizard should have the following format:

<A HREF="http://ServerAddress/cgi-bin/cgiwrap/glossary.pl?GlossaryPath"> In this format `ServerAddress' will be replaced by the http address for the local server and `GlossaryPath' will be replaced by the complete path name for the glossary file. Remember that the glossary file will have to be world readable. To see an actual Glossary Wizard reference you can access the source for this page and look for the hyper-link to the sample glossary which appeared above.

When the Glossary Wizard scripts are installed, the files `glossary.pl' `glossary-lib.pl', and `glossary-quiz.pl' must be configured. First, the initial line of each script must be set to reflect the site's location for and name of the Perl interpreter. Second, the seventh line of the file 'glossary-lib.pl', which looks something like

$cgiloc = "/cgi-bin/mead/glossary";

must be changed to reflect the correct path to the directory containing the Glossary Wizard Perl scripts. The path given is relative to the home of the web server's directory location.


How to Obtain Glossary Wizard

It is easy to obtain Glossary Wizard for your site. Just click here for download instructions.


Send comments on this page to Jerry Mead (mead@bucknell.edu).