Skip Navigation Links
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
Internet for Quantitative Survey Research", by James H. Watt
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).
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 )
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.
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:
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 http://web2survey.unt.edu/ , contact Rich Herrington. Enjoy the holidays!