Documente Academic
Documente Profesional
Documente Cultură
Abstract - This paper deals with the development of layouts and how CGI-Programming reduces the work load
educational and website maintenance tools using CGI- significantly when new documents are made available to
Programming and Java. We present some basics of CGI- the students on the site. Section 4 discusses the Java tools
Programming and how “dynamic document generation” that were developed to help the professor prepare different
can greatly enhance the possibilities of traditional static types of exercises or exams and to allow him/her to add
HTML. these documents to the database on the web server. Section
Webtools are presented, in the context of a bachelor’s 5 deals with the exam on the web and, finally, section 6
degree C++ programming language course at Laval addresses the future work in the implementation of the
University. This year, over 200 students performed website.
successfully an exam directly over the Net. This evaluation
system and some necessary security measures are also 1. CGI-Programming basics and server’s
presented. The URL of the website is: configuration
http://www.gel.ulaval.ca/~ift19965/
Unlike most websites, the website presented in this paper is
Introduction entirely based on CGI-Programming (Common Gateway
Interface) using Perl. CGI-Programming allows to
The purpose of this project is to study and develop dynamically build (on request) each document shown on
simulations and complementary learning material in an the website, instead of forcing the edition and debugging of
interactive multimedia environment accessible over the static, hard-coded HTML documents usually encountered
World Wide Web. With the rising popularity and on most websites. The documents are not only generated on
availability of new adapted computer languages, such as request but they can also be tailored for the browser’s
Java/JavaScript, the possibility to create interactive specific capabilities, since most browsers silently identify
simulation tools accessible on the Internet has now become themselves when a request is made to the web server. For
a reality. instance, HTML tables were not supported by Netscape 1.0
Our project is to develop and maintain a complete and are still not properly supported by most text-based
website for a C++ Object-Oriented programming language browsers such as Lynx. Using the set of tools described in
course currently followed by first-year bachelor’s degree this paper, the documents are built without tables when the
students at Laval University. The goal is to increase the browsers do not support this feature.
educational content of the course and to efficiently From the user’s point of view, when he/she accesses a
complement the 3-hour lectures. A wide range of tools document on the website, this document appears as an
have been developed to help the website administrator, usual HTML document. However, what actually happens is
usually a non-specialist in WWW development, in adding that a program generates the HTML document which is
new documents (e.g. exercises, skill tests, etc.) to the then displayed in the browser’s page. The program, like
website. A server is dedicated to the site and takes full any program, can do virtually anything before, during and
advantage of the extended possibilities offered by CGI- following the generation of the HTML document. This is
Programming and Java. The benefit of managing a stand- the fundamental idea behind CGI-Programming. Perl is a
alone web server is that it allows to examine access programming language that is well-adapted for this
statistics of the website and to keep track of the documents purpose.
that are accessed the most. A comprehensive set of Perl functions was developed.
This paper is divided in 6 parts. First, section 1 presents Two of them are particularly useful, namely, the Header
technical details about the CGI libraries and the server and Footer functions. These functions are used to generate
configuration. Section 2 presents the educational contents automatically a common header and footer on every
of the website. Section 3 shows some of the document document of the site, thus providing an homogeneous look
of all the website documents accessed through the various jeopardize the integrity of the computer running the web
hyperlinks. The header and footer can be added to existing server (and all confidential information it contains). There
HTML documents. Also, since each CGI-script uses the are several security loopholes that are familiar to hackers
Header and Footer functions from a function library, a (for instance, the ‘phf’ security loophole).
single modification is required to change the common CGI-Programming also allows to profusely use and
appearance of all the documents contained in the site (see manipulate HTML forms. Whenever it is possible and
figure 11). desirable, we use HTML forms to access the available
information instead of using numerous HTML hyperlinks.
For instance, there are currently 8 weekly assignments
(with their solutions and additionnal questions) available
on the website (http://rigaud.gel.ulaval.
ca:8080/TP/2). Each one is available in different formats
(HTML, FrameMaker, Postscript, PDF). It would take up
to 50 hyperlinks to access all these documents. With proper
use of HTML forms (see figure 5), the user can simply
Figure 1: Common Header to all documents select the desired assignement number, the desired format
Among other things, the Header function contains the and then press the ‘submit’ button.
information about the background image, the text and the Some actions could not be achieved without forms. As
link colors for the documents. It also checks the browser’s an example, students have access to their grades and exams
version. The Footer function automatically displays results on-line (http://rigaud.gel.ulaval.
ca:8080/Resultats/). Using their personal computer
information about the last modification date (of the CGI-
script itself or the HTML file to which the header/footer account’s username and ID number in an HTML form,
was added, see figure 2). students only have access to their personal file after proper
identity validation (see figure 3). Any tampering with
unauthorized files (or failing the validation step) results in
an automatic notification to the web administrator. Among
other things, trying to get a look at a colleague’s grade
(without his/her proper ID number) is automatically
detected and the situation can be corrected.
1 out of N choices