Benchmarks Online

Skip Navigation Links

Page One

Campus Computing News

Winter Break Hours

Horizon Wimba's Voice Tools Now Available on WebCT Vista

Voyage of the Enterprise

EDUCAUSE Southwest Regional Conference

Today's Cartoon

RSS Matters

The Network Connection

Link of the Month

Helpdesk FYI


Short Courses

IRC News

Staff Activities

Subscribe to Benchmarks Online

Research and Statistical Support - University of North Texas

RSS Matters

This is a is a revision and republication of December 2004's RSS Matters, You can link to the last RSS article here:
Using Statistical Software in Classroom Instruction: S-Plus/R, An Accessible, Low Cost Alternative  - Ed.

Creating Web Based Surveys with Zope - An Open Source Application Server

By Dr. Rich Herrington, Research and Statistical Support Services Manager

Web based surveys are becoming more popular as an alternative to conventional surveys. A major reason for this is cost.  In Figure 1. we see that an Internet based survey is always cheaper by a substantial margin:

Figure 1. From "Using the Internet for Quantitative Survey Research", by James H. Watt (1997).

Additional reasons for implementing a web-based survey include the speed with which: 1) a survey can be created, 2) a survey can be distributed, 3) the data can be collected and put into a form which can be analyzed.  Furthermore, as survey data are collected, the survey can be modified if problems arise during the survey process.  Potential drawbacks with internet surveys can involve biased survey responses if the population under study is not representatively sampled via an internet medium.   

Implementing a Web Survey

The typical approach to implementing a web survey will usually involve a combination of HTML and CGI programming.  This can potentially involve a fairly substantial skill base:  administering a webserver,  HTML programming skills, and Perl or Python programming skills.  In Table 1.,  a comparison of the strengths and weaknesses of the different survey technologies is provided:

Table 1. From "Using the Internet for Quantitative Survey Research", by James H. Watt (1997).

  E-Mail Converted
Web CGI Programs Web Survey Systems
Ease of creation / modification Excellent Fair Good Poor Excellent
Ease of Access to Preliminary Data Poor Fair Good Excellent (w/ extra programming) Excellent
Sample Quota Control Poor Excellent Fair Excellent (w/ extra programming) Excellent
Data Validity Checks Poor Good Good Excellent (w/ extra programming) Excellent
Demand of Respondent's Attention Excellent Good Good Good Good
Personalization of Questionnaires Fair Fair Poor Excellent (w/ extra programming) Excellent
Conversion of Existing Questionnaires Fair Excellent Good Good Good
Expertise Required by Questionnaire Creator Low High Moderate Very High Moderate
Cost per completion Inexpensive Expensive Expensive Very Expensive Moderate to Inexpensive

In the rest of this article, we examine the use of an open source web application server (Zope), and an open source Zope based survey application (QSurvey),  in providing HTML based survey services here at the University of North Texas. 


Zope is a web publishing system. Zope consists of an optional webserver, a middle layer which coordinates communication between, for example, external databases and the Zope object database. The Zope default webserver is optional, and in lieu of the Zserver,  Zope can function behind Apache or IIS.   Zope was designed publishing dynamic content.   Using Zope for a single, simple website would be inefficient;  however,  for hundreds and thousands of pages, many users, and the need for a publicly accessible web site, Zope is a scalable, effective solution. Zope is an  open-source project, which has been crucial in its success. ("Zope" is an acronym: it stands for Z Object Publishing Environment.) The programming languages used to build Zope are Python and C.  The majority of  Zope code is written in Python, with performance sensitive written in C.  Zope has been described as Python's showcase application.  In summary:

Zope (Z Object Publishing Environment )
  • Digital Creations (1998) ? Zope Corporation. (2001)
  • Originally Used for Newspaper Publishing
  • Zope is Based on Python; Cross-Platform
  • Zope uses an Object-Oriented Web development Model
  • Content, Logic, & Presentation are separated (see figure below)

Zope Publishing Environment

Component Features

  • ZServer + Apache - Can be used alone or in conjunction with Apache
  • Through-the-Web Management - Zope Management Interface (ZMI)
  • Integrated Control: Undo, Security
  • ZODB + SQL Database Adaptor - Built in Object Database and API's for Popular Databases
  • Built-in Search Tools: ZCatalog
  • Safe Delegation: acl_users folder allows management of usernames and passwords
  • Extensible Modules: Products - QSurvey is one example

Next, we look at a particular Zope application - QSurvey. 


The QSurvey product is designed to make on-line surveys easy to write. Instead of having first to develop the backend for the storage, then adapt the questions to the storage available, this product allows you to concentrate on the survey and its questions. Zope takes care of the storage. The page-centric model with optional branching determines at run-time which page to display next. If you need more than simple questions, you may include DTML Document material interspersed with your questions. This means that Images and other content are allowed inside a QPage.

QSurvey features:

  • A page-oriented model, with the QSurvey holding QPages, and QPages holding DTML Documents and Questions.
  • Multi-page interaction is possible with branching dependent on the values of a multiple-choice question.
  • All Multiple-Choice are a single type. Select listbox, radio, checkbox, formatting from a single "options" tab.
  • Ordering of things within a page from a management tab in the QPage object.
  • Uses css instead of tables. Looks very nice in IE4+, Mozilla. Acceptable on NS4. Degrades nicely for Lynx. Deliberately ugly default css provided to encourage customization.
  • Pays attention to AUTHENTICATED_USER for results ID creation .
  • RESULTS available in various tab-delimited formats.

A set of introductory lessons (AVI videos) on using Zope and QSurvey can be found at  AVI tutorials.

Example of a QSurvey Survey

The following is an example survey created with QSurvey:

Qsurvey example

Qsurvey example


If you are interested in attending a short course devoted to Zope and QSurvey, contact Claudia Lynch.  If you are interested in obtaining a Zope account on the UNT Zope survey server , contact Rich Herrington.  Enjoy the holidays!


Please note that information published in Benchmarks Online is likely to degrade over time, especially links to various Websites. To make sure you have the most current information on a specific topic, it may be best to search the UNT Website - . You can also search Benchmarks Online - as well as consult the UNT Helpdesk - Questions and comments should be directed to

Return to top