This WebSurvey facility is a legacy service provided by OIT Academic Technology Services. For more information about this service and the available alternatives, please see this solution in the OIT KnowledgeBase: http://helpdesk.princeton.edu/kb/display.plx?ID=9187.
The Princeton University Survey Facility allows members of the Princeton University community to create customized Web survey applications.
Latest Three New Features(to see full listing New Features Summary List):
|Optional Survey Title||Text used as the title for the survey. This text should include HTML tags to properly format the title on the web pages. If not specified, then the survey name is used as the title.|
|Survey Scriptname||URL for the master survey|
(Note ".pl" will be append to name)
For Example, the URL for Survey Scriptname "Test" is
|Review Survey URL||URL for the master survey to allow a respondent to take the survey and not load the responses to the database ( at the bottom of the html page there will text to inform the respondent that responses will not be loaded into the database). Note that this URL will ignore the "Survey Done" flag.|
The Review Survey URL consists of prefacing the string "REVIEW_" before the the survey scriptname.
For example if the Survey Scriptname is "Test", then the Review Survey URL is
|Netid Authentication||if enabled then respondents must authenticate before they can take the survey.|
Note that an authenticated respondent can take the survey only once ( unless the Allow Retake flag is enabled).
|Princeton Netid Filter||if the survey requires authentication, this filter can restrict the pool of authorized respondents.|
Use either format "Survey_List survey_name" to validate netid against values in a survey list called "survey_name"
for example "Survey_List My_Netid_List" means check netid against the values stored in list"My_Netid_List"
format "students [class years such as 00,01,GS];staff [dept names such as oit,facilities];faculty [dept names such as english,physics]"
For example, specify "students GS" to allow only graduate students
For example specify "students" to allow only undergraduates and graduate students
For example specify "students 99,GS;staff" to allow only class 99 undergraduates, graduate students, and staff
For example, specify "staff;faculty" to allow only staff and faculty
For example, specify "staff oit, athletics;faculty english, physics" to allow only staff who belong to dept names which contain the string "oit" or "athletics" or faculty who belong to dept names which contain the string "english" or "physics".Note that the staff and staff dept checks are case -insensitive,i.e. "staff oit" is processed exactly the same as "staff OIT".
Note - if you want to specify both a list of netids and also students by class, staff, and/or faculty use the format students [class years such as 00,01,GS];staff [dept names such as oit,athletics];faculty[dept names such as english,physics] Survey_List My_Netid_List
For example "students 01,02 Survey_List My_Netid_List to allow only students in classes 01 and 02 or netids in the survey list call My_Netid_List
Note that the Survey_List specification must come after the student/staff/faculty specification.
The netid filter now supports Princeton alumni authentication. The alumni specification is part of the student/staff/faculty/alumni specification. Since alumni can either be undergraduate alumni or graduate alumni, there are different key phrases for each category.
|Allow Retake||If netid authentication is enabled, the survey owner can enable the Allow Retake flag to allow respondents who have already taken the survey, to take the survey over and over again. The current survey session will have the question input fields filled in with the responses from the previous survey session ( if any ). Note that there still be only one set of responses per respondent and it will corresponds to the last survey session. The survey can optionally specified a list of netids who are allow to retake the survey.|
|Ip Filter List||if specified, then the survey can only be taken from machines which match the ip filter|
|Start Text||If specified, this text will be displayed in a "Start" survey page. Note that the survey system displays the start text with a default submit button with text "Start Survey". To specify an alternate text string for the submit button, append the start text with the string "==" and your customized text. For example specifying|
This is my start text==Go Start!
will result in a web form with the text "This is my start text" and a submit button with text "Go Start!".
|End Text||If specified, this text will be displayed at the end of the survey|
|Authentication Text||If specified, this text will replace the default authentication text in the authentication form(for authenticated surveys only) Note that the survey system displays the authentication text with a default submit button with text "Start Survey".
To specify an alternate text string for the submit button, append the authentication text with the string "==" and your customized text.
For example specifying|
This is my authentication text==Go Authenticate!
will result in a web form with the text "This is my authentication text" and a submit button with text "Go Authenticate!". Note that to use the default authentication text with your own customized submit button text just specify
as the authentication text.
|Survey Done Text||If specified, this text will replace the default survey done text which is displayed when a user takes a survey which has marked done.|
|Background Color||Background color of master survey start and end pages|
|Survey Html Page||For authenticated surveys, the survey system will create and update a html page that corresponds to the initial page of the survey. This allows another html page to reference the survey as a html page.|
The most important property of the master survey is the list of one or more attached survey subsections. Each survey subsection is essentially a Web form with questions. Each survey subsection has properties the survey creator can set:
|Want Questions To Be Numbered?||if set, questions which prompt for an input will be displayed with a numerical sequence preface i.e.,|
1) Question Text
2) Question Text
Note - this flag and the actual question label format can be overridden with a question which is connected to a "Set Question Ctr" choice. See Set Question Ctr option for more information.
|Background Color||Color for the survey subsection|
|Font Type||Font Type Specification for the survey subsection|
|Font Size||Font Size Specification for the survey subsection|
|Disabled Reset Button||By default a survey subection will have a Reset button next to the Submit button. If this flag is enabled, then the Reset button will not be displayed.|
|Required Question Label||Text string to be displayed as a preface to survey questions that required a response (assuming the Display Required Question Label flag is enabled)|
|Display Required Question Label||If enabled, then the Required Question Label will prefaced all survey questions that require a response|
|Optional Survey Title||If specified, then this text will override the displayed default survey title. The displayed default survey title is determined by whether the survey subsection is the only survey subsection of a master survey. If it is, then the displayed survey title is the survey subsection name. If it is not, then the displayed survey title is the master survey name followed by the survey subsection name.|
|Left Margin Spaces||The number of spaces for the left margin ( default is 0)|
|Right Margin Spaces||The number of spaces for the right margin ( default is 0)|
|Override Error Message With Warning||If this flag is set to "Y" (note the default value is "N") and there are required questions without answers, then instead of seeing the normal required answer error message, the respondent will see a warning message. This warning message allows the user to either go back and make the necessary changes or disregard the warning and continue the survey. If the user chooses to continue, the "unanswered" required questions will have no responses. For a demonstration of how this works, go take the Required Warning Demo survey.|
|Alternate Required Error Message||
If specified, this message will be displayed when there is a required error. The default error message is|
<center><h4><font color="red">Please answer those questions marked in red and click submit</font></h4></center>
|Alternate Require Warning Message||
If specified, this message will be displayed when there is a required error and the Override Error Message With Warning is set to Y. The default warning message is|
<center><h4><font color="red">Please answer those questions marked in red and click submit.<br>If you would prefer not to respond, simply click submit.</font></h4></center>
The master survey is essentially the sequence of Web forms which correponds to the list of attached survey subsections. Survey respondents for a master survey stepped thru the Web forms and answered them in the order specified by the survey subsections list.
A typical survey consists of a series of questions. Each question has an associated input. The input may be a text field where the respondent enters text or makes a selection ( or multiple selections ) from a list of options. If the input is a text field, the entered text is stored as the "response" to the question. If the input is list of options, the selected option ( or selected options ) is stored as the "response" to the question. However, the survey creator may want to associate a hidden value for each listed option and wants that value to be stored as the "response". For example, the list of options maybe ("Male", "Female") and the desired corresponding hidden values are ("M","F"). So when the respondent selects "Male", the corresponding hidden value "M" is stored as the response. To support these requirements, the Survey Facility provides survey lists, survey choices, and survey questions.
A survey list is a list of values which is identified by an unique label. The values in these survey lists are used as lists of options in survey questions. There is a special predefined survey list called "Reserved for comment and input text". This special list has no list of values associated with. The significance of this special list will be discussed in following section. The Survey List Editor provides all the necessary functions ( create, edit, and delete) to administer survey lists.
A survey choice is an object which specifies input type to a question. Each survey choice is identified by its four properties , a display list, a value list, input type, and location. The display list is the name of a survey list and the values in that survey list will be used as the list of options displayed. The value list is the name of a survey list and the values in that survey list will be used as the list of hidden values associated with the options of the display list. The input type dictates the type of input. The currently supported types are shown the the following table:
|CheckBox||use checkboxes to display the list of options|
|"Row Aligned" CheckBox||same as CheckBox but the displayed checkboxes are aligned with the previous "Row Aligned" choice (only if the previous question is connected with a "Row Aligned" choice). This choice is mainly used to display a table of Checkboxes.|
|CheckBox Per Line||same as Checkbox but the checkboxes are displayed as one checkbox per line (Note that by setting the appropriate value in a survey question, this vertical list of checkboxes can be broken up into columns of checkboxes). This type also supports an additional input text field that must be filled in if the checkbox is selected. This is commonly used for requiring input when the Checkbox value is "Others, Please Specify". This additional feature is enabled when the appropriate tag is specified in the checkbox value (go into "Edit List" mode in the List Editor).|
|Comments Only||input type for specifying text only and required no inputs (i.e. comments in a survey)|
|"Row Aligned" Table Comment||use to specify the column labels for a table of radio buttons with columns and colors.( see Table Format Questions).|
|PopUp||use popup selection to display the list of options|
|Radio Buttons||use radio buttons to display the list of options|
|Radio Buttons(Reset)||same as Radio Buttons but there will be a "Clear Selected Button" next to the radio buttons. This button allows the respondent to clear just the selected button for this question.|
|"Row Aligned" Radio Buttons||same as Radio Buttons but the displayed radio buttons are aligned with the previous "Row Aligned" choice (only if the previous question is connected with a "Row Aligned" choice). This choice is mainly used to display a table of Radio Buttons.|
|"Row Aligned" Radio Buttons(Reset)||same as "Row Aligned" Radio Buttons but there will be a "Clear Selected Button" next to the radio buttons. This button allows the respondent to clear just the selected button for this question.|
|"Row Aligned" Table Radio Buttons||same as Radio Buttons but the displayed radio buttons are aligned in a table fromat with subsequent "Row Aligned" Table Radio Buttons. This choice is used to display a table of Radio Buttons with aligned columns and color ( see Table Format Questions).|
|Input & "Row Aligned" Table Radio Buttons||same as "Row Aligned" Table Radio Buttons also allows for an additional text input value. (see Table Format Questions).|
|Radio Buttons Per Line||same as Radio Buttons but the radio buttons are displayed as one button per line (Note that by setting the appropriate value in a survey question, this vertical list of radio buttons can be broken up into columns of radio buttons). This type also supports an additional input text field that must be filled in if the radio button is selected. This is commonly used for requiring input when the Radio Button value is "Others, Please Specify". This additional feature is enabled when the appropriate tag is specified in the radio button value (go into "Edit List" mode in the List Editor).|
|Radio Buttons Per Line(Reset)||same as Radio Buttons Per Line but there will be a "Clear Selected Button" next to the radio buttons. This button allows the respondent to clear just the selected button for this question.|
|Single Select Scroll||display the list of options as a scrollable list and allow one selection|
|Multiple Select Scroll||same as Single Select Scroll but allow multiple selections of options|
|Text Line||allow respondent to enter a line of text|
|"Row Aligned" Text Line||same as Text Line but the input line of text is aligned with the previous "Row Aligned" choice (only if the previous question is connected with a "Row Aligned" choice). This choice is mainly used to display a table of text line input fields.|
|Text Box||allow respondent to enter multiple lines of text in a text box|
|"At Least" Answer Check||requires that for n consecutive questions that the respondent must submit at least m answers with answer "answer"|
|"No More Than" Answer Check||requires that for n consecutive questions that the respondent must submit no more than m answers with answer "answer"|
|"Required" Answer Check||requires the respondent must answer the next n consecutive questions if one of three criteria is satisfied|
The answer is equal to a particular value
The answer is not equal to a particular value
The answer is not null
|Randomized Questions||specifies that the order of the next n consecutive questions will be randomized|
|Set Question Ctr||controls the automatically labeling of questions. See Set Question Ctr option for more information.|
|JumpTo_Survey||use for conditional or undconditional jumping from one subsection to another subsection. See JumpTo_Survey Support for more information.|
|Random Selection||randomly select a value from a list and store that value as a response. This is mainly used for randomizing survey subsections( see Randomized Subsections).|
|Rank_Items||allows respondent to rank items fro a list See Rank_Items for more information.|
|Ban Duplicates||prevent duplicate responses within the set of consecutive popup questions. See Ban Duplicates for more information.|
The location value determines the placement of the input field in relation to the question text. There are only two location values, "Same Row" and "Next Row". "Same Row" means the input field will appear immediately after the question text. "Next Row" means the input field will appear in the next line after the question text. The Survey Choice Editor provides all the necessary functions ( create, edit, and delete) to administer survey choices. There are special predefined survey choices which are used for specifying a text line input, a text box input, and comments. All these special predefined survey choices use those input types and the special predefined list "Reserved for comment and iput text" as the display and value lists.
Survey lists and survey choices are tightly coupled. The Survey Facility performs consistency checks whenever either survey lists or survey choices are editted. When the name of a survey list has been changed, the Survey Facility automatically updates all choices which have that list as either a display or value list. The Survey Choice Editor insures that when creating or editing a survey choice, both the display list and value list have the same number of values. When a survey creator changes the number of values in a survey list, the Survey List Editor finds ,if any, all survey choices which has that list as either the display or value list. The Survey List Editor will print ,if any, all the survey lists from those survey choices for which there is now a count mismatch.
The survey question is the basic building block of a survey subsection. Each survey question has its own set of properties which determine the charactertics and layout of the actual question. The following table list the properties that the survey creator can set:
|Question Text||Text string to display as the question text. The following rules apply to question text
1. Use tag %n SPACE% to specify n number of blank spaces,i.e. %5 SPACE% means insert 5 blank here. This tag should only be used when more than one space is needed.
1a. Use the choice indentation tag __ to specify indentation text that will preceed the choice input fields. For example consider a question with text
1)%2 SPACE%Select Item in List__%4 SPACE%
attached to a radio button choice. The text string %4 SPACE% will appear next to all the radio butons.
2. Use tag == to specify a multi-text question,i.e. Question Text 1==Question Text 2. This will require that you must specify an equal number of choices.
3. If the Choice type is a Comment type and you want the question text not be be wrapped by the Survey system within Html table tags, preface the question text with the freeform comment tag FREEFORM_COMMENT:.
For example, the question text
will generate a centered header line for the text "Hello"
4. If Choice type is a Answer Check type, then this text is the answer to check for. For the "Required" Answer Check, this text is the character string which is compared with the response from the previous question. There are three types of comparisions, equal, not equal, and not null. If the comparison test is true, then the next Num Rows of questions must be answered. The default comparision is equal. To specific the not equal comparision, use the "^" tag. For example, the question text "^5" means see if the answer from the previous question is not equal to 5. To specific the not null comparision enter the not null tag "Not_Null" as the question text. This means see if the user has responded to the previous question. In situations when the answer to check for is different from the "displayed" answer, put the "displayed" answer in the "Submit Button Text" field. When an "Answer Check" error condition occurs, the survey system will use the "displayed" answer in the error message.
|Display Submit Button||if set then a Submit button will be displayed in the next line after the survey question. Note that if the last question of a survey subsection has the Display Submit Button enabled, the the default submit button will not be displayed.|
|Submit Button Text||
If Display Submit Button is enabled, then this text will appear in the Submit button.|
If Display Submit Button is not enabled and if the choice is a "Answer Check", then this text (if specified ) is the alternate "answer" to be displayed in the Error message.
If Display Submit Button is not enabled and if the choice is not an "Answer Check", then this text can be used to specify the color for both the question text and the choices.
To specify the question text color use the tag TEXT_COLOR=Color_Name
To specify the choice color use the tag CHOICE_COLOR=Color_Name
To specify colors for both question text and choice, use both tags but use a "," as the delimiter( order is not important.
For example, valid color specifications are
The list of valid colors supported by both Netscape and Explorer are
aqua for aqua Color
black for black Color
blue for blue Color
fuchsia for fuchsia Color
gray for gray Color
green for green Color
lime for lime Color
maroon for maroon Color
navy for navy Color
olive for olive Color
purple for purple Color
red for red Color
silver for silver Color
teal for teal Color
yellow for yellow Color
white for white Color
Any color unknown to the browser will be replaced with default colors.
If Display Submit Button is enabled and you want to use an image instead of a submit button, use the tag
where gif_url is the fully qualified URL for the image. For example,
|Number of Line Breaks||Provide customized spacing between successive survey questions|
|The following rules apply to the values for Max Columns, Num Rows, and Max Answers:|
"Max Columns" multiplied by "Num Rows" is the maximum number of characters allowed in the response.
If the choice type is a "Text Line", then "Max Columns" is the display length of the input field.
If the choice type is a "Text Box", then "Max Columns" is the length and "Num Rows" is the width of the text box.
If the choice is either a "Radio Per Line" or a "Checkbox Per Line" and the question is not a multi-text question, a value for "Num Rows" greater than 1 will generate the appropriate columns of radio buttons or checkboxes. With the possible exception of the last column, each column will have that number of items. If the choice type is a "Answer Check", then "Num Rows" is the number of consecutive questions the Answer Check will apply to and the "Max Answers" is the threshold limit for the Answer Check.
If the choice type is a "Randomized Questions", then "Num Rows" is the number of the consecutive questions to be randomized.
The value of "Max Answers" determines the maximum number of allowed responses. The minimum value is 1. For choice types which allow for multiple responses ( i.e. checkbox and mulitple scroll ) a value of 1 means no limit on the nnumber of responses. A value greater than 1 is only relevant when the choice type allows for multiple responses. If the question is a multi-part question, then a value greater than 1 only applies if the first choice type allows for multiple answers.
|Randomized Answers||For choice types which have a selection of values, the order in which these values are displayed will be randomized if this flag is set to Y|
The two most important properties are the "question text" and the list of survey choices attached to this survey question. Typically there is only one choice attached to a question survey. Survey creators can create "multi-part" survey questions. A multi-part survey question has more than one attached survey choice attached. The corresponding question text contains text which can be "divided" into subquestion texts. The number of choices must be equal to the number of subquestion texts. (Note for questions which is assigned with an Answer Check choice, the question text is the answer to check for). The Survey Question Editor provides all the necessary functions ( create, edit, and delete) to administer survey questions. This utility also provides an option to perform a html syntax check on all the questions. This option will list any html related errors such as unbalanced bold tags, i.e. no ending bold tag for a starting bold tag.
|Clear Netid Responses||delete the survey responses for a netid|
|Remove Response Ids from Database||delete the survey responses for a response id (all respondents are automatically assigned an unique response id)|
|Eliminate All Responses From Database||Remove all survey responses|
|Get Response Count||Returns current number of respondents to survey|
|Get Subsection Response Count||Returns current number of respondents to survey subsection ( user can optionally specify a date filter).|
|Mark Survey Done||if set then respondent will get "Survey Done" message when attempting to take the survey|
|Step Thru Master Survey||Option to simulate taking the master survey. Responses are not stored.|
|Step Thru (Marked Done) Master Survey||Option to simulate taking the master survey which has already been marked done. Responses are not stored.|
|Lock Master Survey||if this option is used then all objects in master survey( survey subsection, questions, choices, and lists ) are "locked" and can not be editted|
|UnLock Master Survey||this option undo the "Lock Master Survey" action|
It is recommended when you are ready to deploy your survey that your use the "Lock Master Survey" option in the Master Survey Editor to lock all objects that constitute your master survey.
Once you have deploy your survey application, you can use "Get Response Count" or the "Get Subsection Response Count" option to monitor your survey responses. When you are ready to stop taking responses, you use the "Mark Survey Done" option.
Finally you use Dump Master Survey to dump your survey responses. The Dump Master Survey Tool requires OIT Unix netid/password authentication. Survey creators can only dump surveys that belong to them. The survey owner can dump either all the survey responses currently stored in the database at the time of the dump or all the survey responses within a date range (by specify after and before dates) or only the most recent response currently stored in the database. If the survey consists of more than one survey subsections, then the survey owner can specific the survey subsections to dump and the order of the survey subsections to dump.
The response dump output consist of a one line header follow by a line corresponding to the set of answers for each respondent. The one line header contains the text for those survey questions which prompt for a response. For each respondent, the ip address, the response id, and date will also be listed. If the survey is "netid authenticated", the netid, first name, last name, middle name will also be displayed (note that the ip address and netid information can be optionally suppressed and be replaced with the "*" character). The responses are dumped according to the following default rules:
|Ip Addr||Response Id||Date||Are you a Princeton alumni?(If you ...||Degree Obtained(Check All That Appl...||Graduation Year of last Princeton d...||Department of last Princeton degree||Should Princeton have professional ...||If you answer is anything but "Not ...||(If applicable)enter your off-campu...||If you have entered an off-campus a...||Spouse's Degree( Check All That App...||Should Princeton University remove ...||List the eating clubs you have bick...||Enter the number roommates you have||Please enter your Masters advisor.||Enter your dissertation title.||Enter your dissertation advisor.||Please explain your current positio...||Please describe your bickering expe...|
|184.108.40.206||32592||04/21/2000 12:00||2||3||1908||Classics||3||Duh!||111 Anywhere Street||Wunderbar!!||1;2;3||1||asdfa asdfa asdf a asdf asdf||123||sdfa||asdf||asdf||asdfasdf||asdfasdfasdf|