Creating An Online Survey Using Zope &
QSurvey:
A Step by Step Introduction Download
this Document as PDF
Main URL for the Zope Management Interface:
https://web2survey.unt.edu/users/EUID/manage
(replace "EUID"
with the appropriate user folder name,
i.e. - your EUID)
NOTE: In
Windows under "My Network Places", "Add Network Place" with URL:
https://web2survey.unt.edu/users/EUID/
(replace "EUID" with the appropriate user folder name,
i.e. - your EUID)
Yahoo Groups Forum for
using Zope with
QSurvey at UNT:
Group name:
zopeunt
Group home page:
http://groups.yahoo.com/group/zopeunt
Group email:
zopeunt@yahoogroups.com
AVI Tutorial Download
These
are a set of 14 zipped
AVI videos (approx. 53 meg. total) with sound (5-10 minutes each)
that
demonstrate how to authenticate in to the Zope server and create a
QSurvey object from beginning to end.
I will post more AVI's as I record them. I will also post some
AVI's on how to download the data and
import into a statistical package.
R and Survey Analysis
Introduction
Zope
Zope is a web publishing system. It consists of an optional
web server, a middle layer which coordinates
getting things into and out of the database, and an object database.
You can leave out the web server and
run Zope behind Apache or IIS. Zope is designed to, and excels at,
publishing dynamic content. If you have
a three page web site, 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.
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
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.
Resources
Information on the Zope Web-Content
Management System
Installing
and Starting Zope
http://www.zope.org/
- Main
Zope Site
http://www.zope.org/Members/michel/ZB/ - "The
Zope Book" Online
http://www.zope.org/Resources/
http://zopezen.org/
http://www.oreillynet.com/pub/a/network/2000/02/02/zopekeynote.html
Free Zope Hosting
http://www.freezope.org/
General
Introductions to Survey Methodology
General Introduction to Internet Survey
Construction
Using the Internet for
Quantitative Survey
Research
Survey
Analysis via Email and Internet - Online E-Book
Articles on Survey Construction and
Analysis
Everything About Web
Surveys
American
Statistical Association Series on Surveys
Essentials of
Survey Research
Social
Surveys Online
Survey Design
A Collection of
Papers on Non-Response in Surveys
Articles
on Internet Survey Methodology - Dillman
Review Article on Internet
Data Collection
Review Article on
Survey Research
S Language Interface and
Links
Statistical
Computing Interface
Download
R for Windows
Help
Page for the R library "survey" - library for analyzing complex surveys
Other Resources and Free Statistical
Packages for Surveys
Website for AM
Statistical Software (Windows platform) - Software for Complex Survey
Analysis
Download AM software, manual, and
patch file -
ZIP file contains self extracting file
Digital
Resources for Evaluators
Introduction
to the QSurvey Zope
Software
(For updates see - Notes)
Quick Overview of General Usage of QSurvey
Create a
QSurvey. Within the QSurvey, create a QPage. Within
the QPage, add questions. Within each
question, enter the text for the question and the choices if it is a
multiple-choice question. Set options on each
question from the "Options" management tab."View" or index_html from
the QSurvey level actually writes to
the ZODB when submitted; "View" from QPage or "Question" level will
dump REQUEST when submitted.
Please note that a QSurvey page will not work outside of a QSurvey
survey object, nor will QSurvey questions
work outside of a QSurvey page - you must retain the hierarchical
structure of the QSurvey objects. QSurvey
uses Zope's session tracking and commits save on submission of
the last page. To make this happen, create a
final FINISH page, and on the Button_Text tab, set the button
text. This is a good place to say "thanks for
completing the survey." Make sure that you set the first page
of the survey by going to the "Navigation
Tab" at the survey folder level. Choose the first page of the
survey. You will need to set the transitions
for each page at the survey page folder level. It is very
important that you DO NOT set the transition
on the "Transition Tab" for the last page. This will cause the
survey to not submit the results to the
Zope ZODB database. A "RESULTS" folder and a
"qss_css" file will be created when
the first survey result is
submitted. The qss_css file is a cascading style sheet that can
be edited to change the look and feel (colors, formatting)
of the survey. Within the RESULTS folder there are a few tabs
that extract the data from the ZODB database.
The tabs: "tsv_single" (single selection questions);
"tsv_multiple" (multiple selection questions); "tsv_text" (text box
only questions) extract your submitted data into a tab-delimmited text
file that can be downloaded to your desktop
for input into Excel or SPSS for example. Lastly, it is
important to note that browser errors are cached whenever
a QSurvey survey is being built and tested. So that whenever a
problem is corrected in the survey, that the error
will persist in displaying. You will need to close all browser
down and re-spawn your browser to have the
corrected survey display without errors.
Adding an LDAPUserFolder to an Existing
QSurvey Survey
PLEASE NOTE UPDATE:
THE LDAPUserFolder will need to use the
auth.unt.edu LDAP server
instead of id.unt.edu
(for example, the information in the following
screen shots is inaccurate on this
information).
To
use an LDAPUserFolder you must first delete the regular
"acs_users" folder object if it exists. Select LDAPUserFolder
from the drop down list of Zope objects. Note: If you
currently use your EUID as your username for login to the Zope
management interface, you will need to change your Zope login username
to a username different from the EUID username currently in the LDAP
database - there are conflicts between the LDAP EUID username and any
usernames assigned in Zope that are identical to the LDAP usernames.
Once the LDAPUserFolder object is created, go into that folder and fill
in the form with appropriate information as listed in the screenshots
below:
Creating a QSurvey Survey: Screenshots from
beginning to end:
Screen 1
Screen 2
Screen 3
Screen 4
Screen 5
Screen 6
Screen 7
Screen 8
Screen 9
Screen 10
Screen 11
Screen 12
Screen 13
Screen 14
Screen 15
Screen 16
Screen 17
Screen 18
Screen 19
Screen 20
Screen 21
Screen 22
Screen 23
Screen 24
Screen 25
Screen 26
Screen 27
Screen 28
Screen 29
Screen 30
Screen 31
Screen 32
Screen 33
Screen 34
Screen 35
Screen 36
Screen 37
Screen 38
Screen 39
Screen 40
Screen 41
Screen 42
Screen 43
Screen 44
Screen 45
Screen 46
Screen 47
Screen 48
Screen 49
Screen 50
Screen 51
Screen 52
Screen 53
Screen 54
Screen 55
Screen 56
Screen 57
Screen 58
Screen 59
Screen 60
Screen 61
Screen 62