Benchmarks Online

Skip Navigation Links

Page One

Campus Computing News

Student EUID Passwords May Require Resetting

Winter Break Hours

New Adaptive Technology Specialist Welcomed

Video Relay Phone for the Deaf is Newest Service in ACS/Adaptive Lab

An Information Technology Christmas

Today's Cartoon

RSS Matters

The Network Connection

Link of the Month


Short Courses

IRC News

Staff Activities

Subscribe to Benchmarks Online

 Research and Statistical Support - University of North Texas

RSS Matters

Link to the last RSS article here: The Ins(heet) and Outs(heet) of Importing and Exporting non-Stata Formatted Data  - 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).

charting survey costs

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.  Many web-based services exist in taking care of the server administration functions and will even provide survey creation tools for a fee (e.g. survey monkey).   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 subsequent portions 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. It consists of an optional webserver, a middle layer which coordinates getting things into and out of the database, and an object database. You can leave out the webserver and run Zope behind Apache or IIS. Zope is designed to, and excels at, publishing dynamic content. If you have a three page website, Zope is overkill. If you have hundreds and thousands of pages, lots of users, and impatient readers, Zope is a very good thing. Zope is also open-source, which is crucial to its success. (Zope is actually an acronym: it stands for Z Object Publishing Environment.) The programming languages used to build Zope are Python and C. Most of Zope is written in Python, and any bits where performance is crucial have been rewritten in C. Zope has been described as Python's killer application; that is, the one application that makes it well worth learning Python and which best shows off the power of Python.  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

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.

Screen shots of the Zope and QSurvey web interfaces can be found at the UNT short course notes web page.

Example of a QSurvey Survey

The following is an example survey created with QSurvey:

QSurvey Sample


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!


Return to top