Appendix A

Pound instructions

Pound instructions define various elements of the behaviour of CallWeb. They start with a pound sign (#) which may be preceded by spaces or tabs for the sake of clarity. A given pound instruction may be split over several lines by starting the second and following lines with a pound followed by a greater-than sign (#>); this combination may be preceded or followed by spaces or tabs.

Instruction SyntaxExplanationDefault value
MANDATORY
# Available languages
# Langues disponibles (*)
=EN,FRList of languages which will be available in the questionnaire. Languages are defined using two-letter ISO 639-1 language codes.none
# Default language
# Langue par defaut (*)
=ENDefault language used when none or a non existent one is specified. It must be one of the languages identified in # Available languages.none
# Survey type
# Type enquete (*)
=code
  • Open | Ouvert = fully open, no provision of an access code (was 1)
  • Closed | Ferme = controlled access; the data base must be prepopulated (was 2)
  • Open Combination | Ouvert Combinaison = fully open; a user id and a password are selected by the participant (was 3)
  • Open Offered | Ouvert Offert = fully open, provision of an access code for resuming (was 5)
  • Password | Mot de passe = controlled access like Closed plus an encrypted password (was 7). A cookbook recipe describes this system in detail.
none
STRUCTURE
# Group ID
# Ecran ID (*)
=Qm-QnQuestions between Qm and Qn, including Qm and Qn, will be displayed on a single page.none
# Table ID
# Matrice ID (*)
=Q1-Q2 HEADER=n PIXELS=n COLVARS=n POSITION=x FORCE_CODES TRANSPOSE SPECIAL=(n,...) CORNER=(...) VALIDATIONQuestions between Qm and Qn, including Qm and Qn, are displayed in table format. The table header is repeated every HEADER row; the columns are PIXELS wide; there are COLVARS vertical questions. The POSITION can be LEFT|GAUCHE (default), CENTRE or RIGHT|DROITE. Details.none
# Permutation ID=Qm-Qn STEP=n LIMIT=n LIKE=permutationQuestions between Qm and Qn, including Qm and Qn, are presented in random order and only LIMIT blocks are displayed. LIKE is the name of another permutation that drives the order of the current permutation. Details.none
# New question order
# Nouvel ordre de questions (*)
=comma-delimited lists of question names; lists are slash-delimitedreorders questions defined in the questionnaire; there can be any number of reorder lists; they are separated by slashes. Each list is made of an arbitrary number of question names separated by commas, presented in the new order in which they will be processed in the questionnaire. This instruction facilitates the generalised use of the SUFFIX syntax. Example: # New question order = Q3, Q2, Q1 / Q14, Q16, Q15. As with all pound instructions, only one such instruction (the last one in the .scw file) is active in the questionnaire.none
# Deactivate pages
# Desactiver les pages (*)
=yes|no
oui|non
Whether or not CallWeb uses the GROUP (ECRAN) and TABLE (MATRICE) instructions in the questionnaire. May serve to linearize a questionnaire for CATI purposes.no
(DEPRECATED)
# Note segment
# Segment note (*)
=yes|no
oui|non
Whether or not the NOTE text is presented in its own separate field in the .scw file (as opposed to the old syntax with the [NOTE] indicator in the question text)yes
(DEPRECATED)
# Rotations on RO
# Rotations sur RO (*)
=yes|no
oui|non
Whether or not a pair of RO variables will behave as bounds of a permutation of questions. It should be set to "no" but it exists for backwards compatibility considerations.no
# INDEX=List of questionsComma-delimited list of questions needing to be indexed in the database. Open-ended question (using text fields) must be specified along with the number of characters to index within parentheses (e.g. AQ1(20)).none
# Create View ID
=SQL statementSELECT SQL statement pulling some subset of data from the CallWeb database for use in another application. ID must be unique in the questionnaire file.none
ACCESS (general)
# cwNav read password
# Mot de passe cwNav lecture (*)
=passwordPassword to read data in utility programs.none
# cwNav write password
# Mot de passe cwNav ecriture (*)
=passwordPassword to modify and delete data in utility programs.none
# cwextr zip password (*)=passwordPassword used to encrypt extracted data in a zip file (spaces compressed upon use).none
# cwcompile zip password (*)=passwordPassword used to encrypt information stored by cwcompile in a zip file (spaces compressed upon use).none
# cwarchive zip password (*)=passwordPassword used to encrypt back-up data stored by cwarchive.pl in a zip file (spaces compressed upon use).none
# cwemail password
# Mot de passe cwemail (*)
=passwordPassword to send e-mail message through cwemail.none
# Return permitted
# Retour permis (*)
=yes|no
oui|non
Whether the permission is granted to return into a completed interview.no
# Password change in type 7
# Changement de mot de passe en type 7 (*)
=yes|no
oui|non
Whether the user is offered the possibility to change their password in Survey type Password.yes
# Seconds locked
# Secondes de verrou (*)
=# of secondsNumber of seconds during which a questionnaire is reserved to the active user.0
# Language switch
# Changement de langue (*)
=yes|no
oui|non
Whether the user can switch languages once the questionnaire is started.yes
# Telkey pattern=patternPattern followed for the creation of case identifiers (_telkey): combination of [C]onsonant, [V]owel, [L]etter, [N]umeric, [S]pecial and [?] for any of these. Any other character is inserted as it is. Each character of the pattern is replaced by one character in the access code. Substitutions are honoured.CVCVCVN
# use_telkey_table=yes|no
oui|non
adjusts the use_telkey_table installation instruction on a project by project basis (necessary for the correct operation of BASEpretest). "Yes" in this instruction will work only if the installation instruction is already set to yes.yes
# Visible from
# Visible depuis (*)
=directory listComma-delimited list of utility directories which can access this project. The master util directory (defined by the "repertoire_utilitaire_maitre" key in the main configuration file) has default access to all projects.none
# Accessible by
# Accessible par (*)
=list of usersComma-delimited list of users who have access to the project based on their "Accessible by" accesses as defined in cwperm.cgi.none
# Noreturn condition
# Condition de non retour (*)
=logical conditionxBase or Perl (in braces) logical condition indicating when a case cannot be re-entered — if the "# Return permitted" instruction has been set to "no". If a respondent has gone past the last question and that "# Return permitted" was set to "no", the questionnaire cannot be re-entered; the same is true of the "# Noreturn condition" is true; this allows to control return access without making respondents leave the questionnaire (presumably to a static Thank you page).none
# Control by cookie
# Controle par cookie (*)
=yes|no(in callweb.cgi only; does not work in cwx.cgi) activates a cookie-based control system which prevents the creation of a second questionnaire by a given computer in a fully open project; it has no effect on other types of questionnaires.no
# Deny access if
# Nier acces si (*)
=logical conditionxBase or Perl (in braces) logical condition indicating when cases cannot be accessed. The condition can use any value in the questionnaire and any contexte data such as the date and time.none
# Freeze data if
# Figer les donnees si (*)
=logical conditionxBase or Perl (in braces) logical condition indicating when cases cannot be modified any further. The condition can use any value in the questionnaire and any contexte data.none
# Allow new in open combination=yes|noIn Open combination mode, accepts or refuses the creation of new cases based on newly supplied _telkeys.yes
# Auto submit=logical conditionxBase or Perl (in braces) logical condition indicating whether CallWeb automatically submits a questionnaire page upon the selection of an answer. This is activated only on pages that contain a single question that allows for a single selection (radio button type); it is not activated on answer categories that contain an open-ended part.none
# Master compilation server
# Serveur maitre de compilation (*)
=server nameName of the server which has permission to compile the script. The server name is defined in the configuration file.none
# Master codes=comma-delimited list of codesEach of these passwords provide access to the project via the callweb.cgi (or cwx.cgi) module. Access is not granted without providing one of these codes.none
# 2FA=[EMAILQUESTION]name of an EMAIL question
[EMAILADDRESS]name of the open-end part of the question containing the email address of the respondent
[CODEPATTERN]code pattern
[STORECODE]name of an open-ended STOCK question to store the random code
[FROM]"from" email address
[COLLECTCODE]name of the question used to collect the random code from the respondent
If this instruction exists, before displaying any page, CallWeb checks that a 2FA cookie exists. If it does not, an email using the EMAILQUESTION text (that must contain a recall of the open-end part of the STORECODE question) is sent to the address in EMAILADDRESS. The CODEPATTERN follows the "# Telkey pattern" convention. The STORECODE and COLLECTCODE questions must include a C open-end part. The respondent is displayed question COLLECTCODE where they must enter the code received by email. Upon correct entry of the code, they are sent to the page they would have seen if there was no 2FA. A cookbook recipe describes this system in detail.none
ACCESS (screen readers)
# Question Framing
# Encadrement des questions (*)
=legend | pSpecifies whether question text is framed within <p></p> tags or <legend></legend> tagslegend
# Table of contents of errors
# Table des matieres des erreurs (*)
=both|access|regular|noneDisplays a table of contents of errors at the top of the questionnaire page depending on the display mode.none
# Focus on error=first|generalIf an error is found on a page, determines if the focus is on the first error or on the general error message.general
ACCESS (CATI and robot)
# Supervisor password
# Mot de passe des superviseurs (*)
=passwordPassword used by supervisors to access call queue management functions.none
# Master CATI server
# Serveur maitre pour le CATI (*)
=server nameName of the server which has permission to manage the CATI component of a project. The server name is defined in the configuration file. This instruction requires that the control_by_other_server_possible installation option be set to yes.none
# Maximum interviewers=numberMaximum number of interviewers allowed in the project at once.999999
# Linear CATI mode=yes|noIn CATI mode, by default, questionnaires are displayed in a second browser window while the interviewer's call management screen remains open. With "# Linear CATI mode" set to "yes" or "oui", the questionnaire opens in the same window as the call management screen and a button is displayed at the top of the questionnaire to return to the call management screen.no
# Cati=yes|no|ivr
oui|non|ivr
Determines whether or not a CallWeb project is to be managed as a CATI project or as an IVR project. CATI projects have specific requirements which are enforced when this option is on. A default value may be defined in the CallWeb instance configuration file using the keyword "cati" (lower case).no
ACTION (general)
# Include=file nameInserts the content of the file at that location in the script, before compilation. If the file name has no path, the file must be located in the same directory as the .scw file; a path relative to the root of the CallWeb instance may be provided, e.g., cw/file.inc. Files that are included may contain Include statements of their own. With Include, one can share portions of questionnaires between scripts.none
# Test ID=[TRIGGER]... [CONDITION]... [MESSAGE]... [TYPE]...Applies error CONDITION test when receiving a value for the TRIGGER question and, if true, returns error MESSAGE where the TYPE specifies. Details.none
# Recall ID
# Rappel ID
=recalled text
or
[condition]recalled text
Creates a value which may be recalled using the &#ID syntax. See the recall page for details. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Default JavaScript to
# JavaScript par defaut*
=yes|no
oui|non
Determines whether or not JavaScript should be considered active if no information was yet received from the client session.yes
# Load JavaScript Library=yes|no
oui|non
Determines whether or not JavaScript libraries (Mootools and Highcharts) are loaded for questionnaire pages.yes
(DEPRECATED)
# Email
# Courriel (*)
=e-mail addressE-mail address where every completed questionnaire is e-mailed as back-up. Separate multiple addresses with commas.none
# Default cwemail email
# cwemail email par defaut (*)
=e-mail addressdefault e-mail address used as sender in cwemail; can be changed within the cwemail interface.none
# Default cwemail sender
# cwemail envoyeur par defaut (*)
=e-mail addressdefault e-mail address used as actual technical sender in cwemail (as opposed to the e-mail address that appears in the From field of the message); can be changed within the cwemail interface. This information is used by the receiving server to assess the risks of the message being spam. It should be an address that is deliverable to the sending server.none
# cwemail report to (*)=e-mail addresse-mail address to which the turbo-mode report is sent.system administrator
# convert email subject (*)=yes|no
oui|non
Determines whether or now the email subject will be converted to UTF-8. Test before using.Yes
# List Unsubscribe (*)=URL to unsubscribedefault URL to access the questionnaire unsubscribe feature. See the relevant cookbook recipe.none
# Send extractions to
# Envoyer extractions a (*)
=e-mail addressE-mail address where cwextr data extractions can be e-mailed. Separate multiple addresses with commas.none
# cwextr copy directory
# repertoire sauvegarde cwextr (*)
=(local directory)Name of a local directory offered by default as a location where to put extractions in cwextr.none
# Extraction width
# Largeur extraction (*)
=ncolumnsDefault extraction width for closed questions.4
# Minimal extraction width
# Extraction de largeur minimale (*)
=yes|noIf set to yes, data extractions default to the minimal number of columns required to represent the data.no
# Refuse duplicates in cwprepop
# Rejeter les doublons dans cwprepop (*)
=list of questionsComma-delimited list of questions or system variables (like _telephone) that cwprepop will test for duplicate values. Cases with duplicate are not prepopulated and their status is reported.none
# Send bounces to=e-mail addresssingle E-mail address where bounces from e-mail sent by CallWeb will be directed.
If the address is formatted as bounces.*@domain.xxx, CallWeb reformats the address to work with cwBounces.pl which intercepts bounced messages.
none
# Check bounces against=AQnName of the open-end part containing the e-mail address to which invitations/messages were sent (or comma-delimited list of open-end parts the same length as that of # Save bounces into). This value is used by cwbounces.pl to identify to which data base record a bounce message is associated. It must be set to use cwbounces.pl and the bounces.*@domain.xxx form of # Send bounces to.none
# Save bounces into=AQnName of the open-end part containing the date and time of the bounce messages received for this data base entry (or comma-delimited list of open-end parts the same length as that of # Check bounces against). It must be set to use cwbounces.pl and the bounces.*@domain.xxx form of # Send bounces to.none
# Complete case
# Dossier complet (*)
=SQL logical expressionLogical expression describing completed questionnaires. It must be a valid SQL-syntax expression; no validation is performed on its syntax.none
# Cleaning skips
# Sauts nettoyants (*)
=yes|no
oui|non
Whether or not data cleaning will be performed between the bounds of forward skips.yes
# Save backwards
# Sauve a reculons (*)
=yes|no
oui|non
Whether or not to save responses provided on a page before clicking on the CallWeb back button (not the browser back button). For logical reasons, no data validation is performed.yes
# Url=urlURL where the browser will be sent at the completion of the questionnaire. The value can include recalled values. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. Therefore, different language versions can exit to different URLs as in # URL = [EN]http://yahoo.com[FR]http://yahoo.fr Substitutions are honoured..none
# Attributable questions
# Questions attribuables (*)
=list of questionsDeclares the list of questions (in the form: Q1-Q5, Q7, Q8-Q10,...) which may have their values attributed at the time of the original call of a case. For example, assuming that Q1 is among these questions and that abc is an Open project, calling "callweb.cgi?_proj=abc&Q1=2" would open a new record in the data base and attribute value 2 to question Q1 — this works with all _typeint types of projects.
The rules are: only questions listed in this instruction can be attributed; only cases that have never been accessed can be attributed; only questions that are empty can be attributed (e.g., a prepopulated value cannot be changed via this procedure). Not all attributable questions need be attributed.
Note that question names are always capitalized and that URLs and forms are case-sensitive.
Remember, that in the flow of the questionnaire, all questions, including those listed in this instruction, are subject to be blanked out by BLANK question types, display conditions and skips; appropriate non-cleaning skips may be required to preserve the values attributed via this protocol.
none
# Pretest=text or HTML codecreates hyperlinks to BASEpretest and displays them besides every question that does not possess a NOPRETEST question type. If present and if BASEpretest exists, these links are created and pop a new window with a feedback form. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. See the related recipe.none
# Pretest project
# Projet pretest (*)
=textname of the CallWeb project used for the # Pretest feature.BASEpretest
# Auto email=complex syntax (see the page on e-mail notification)provides the parameters required for automatically sending e-mails under pre-set conditions.none
# Stop  No parameters. Interrupts the compilation of the questionnaire file and disregards the following instructions.n/a
# Execute if
# Executer si
=CALCUL question name or names separated by slashes
or
[condition]CALCUL question name or list of names separated by slashes
Identifies a CALCUL question (or a slash-delimited list of CALCUL question names) that is (possibly, conditionally) executed before displaying the next page. This instruction is evaluated after every page when the processing of the answers sent is found errorless and before calculating the display of the next page. See the recall page for details on the conditional syntax.none
# Always open at
# Toujours ouvrir a
=question nameIdentifies the question that the questionnaire opens on at every start (which ever question the questionnaire was closed on). The keyword _AUDEBUT_ can be used.none
# Only for server ID
# Seulement pour le serveur ID (*)
=another pound instruction"Only for server" is followed by the name of a server (defined in the CallWeb instance configuration file) as in # Only for server ABC = # cati = yes. This instruction is followed by another pound instruction which is activated only for the named server. Note that normal validations performed on the sub-instruction (in the previous example, "cati = yes") are not performed during compilation; it is good practice to test the sub-instruction as a normal instruction before tucking it into a "# Only for server" instructions.none
# Copy questionnaire into
# Copier le questionnaire vers (*)
=user@location/directorySends a copy of the compiled questionnaire to a secondary CallWeb server in the context of a multi-server configuration. The instruction includes the shell user, the domain name or the IP address of the target server and the destination project directory, such as
# Copy questionnaire into = someuser@callweb.ca/var/www/html/somerep/cwproject
This copies the .qcw file as well as an empty .scw file. Public keys must have been exchanged between the servers for this instruction to work. More than one copy can be defined by specifying a comma-delimited location/directory list. It is also possible to copy other files located in the project directory by stating their name or pattern as part of the comma-delimited list, such as
# Copy questionnaire into = someuser@callweb.ca/var/www/html/somerep/cwproject, *.pdf, *.docx
which would copy all pdf and docx files from the compilation server to the distant server.
none
# MySQL engine=engine nameSpecifies which of the MySQL storage engines to use for the project data base.none
# BASEclicks=yes|no
oui|non
Specifies whether the time spent on each page of the questionnaire should be stored in the BASEclicks data base.no
# General Upload Parms=dir = x, file = yes|no, min = m, max = n, extensions = ext1/ext2/...Specifies the parameters used by File Upload open-end questions: dir is the directory where the files are stored within the project directory; file is a yes|no indicating whether the files are stored in the "dir" directory in addition of the MySQL database; min is the minimum number of bytes required for an uploaded file (default = zero); max is the maximum number of bytes allowed for an uploaded file (no default); extensions is a slash-delimited list of file extensions allowed (an asterisk indicates that all extensions are accepted).none
ACTION (CATI and robot)
# Use do not call list=yes|no
oui|non
Whether or not to use the information in project BASEdonotcall when pre-populating a project; also controls the display of the do-not-call checkbox on the interviewer interface.yes
# Do not call email=e-mail addressE-mail address where a notification is sent every time an interviewer adds a telephone number to the do-not-call list. Separate multiple addresses with commas.none
# CATI selection 3=question, yes|no
question, oui|non
States that a certain question in the questionnaire is to act as a third case selection criterion for interviewers in CATI mode. The second parameter, following a comma, indicates whether interviewers are allowed to change the value of this datum from their call management window.question name, none; action switch, YES
# Productivity index=MySQL expressionMySQL expression returning an index of interviewer productivity. Used in cwprod.cgi. See also the productivity_index installation option.ROUND((completes_first + 2*completes_norefusal + 5*completes_withrefusal - 3*refusals_first ) / duration,1)
# Close full quota
# Fermeture automatique des quotas atteints
=yes|no
oui|non
In CATI mode, controls whether the automatic quota closure system is activated.yes
# Basic call management=yes|no
oui|non
In CATI mode, controls whether the call queue management system uses simple dropdown lists to specify delays or more flexible value boxes.no
# Other n in cwsuper
# Autre n dans cwsuper **
=MySQL expressionMySQL expression returning a count from the data base in cwsuper.none
APPEARANCE CONTROL (page)
# Template
# Gabarit
=file_nameName of the HTML file to be used as questionnaire template. The path may be specified, otherwise the file must be located in the project directory. In left undefined, the page is built using the traditional vertical construction. Another documentation page provides details. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. Substitutions are honoured.none
# Stylesheet=file_nameName of a file containing CSS styles specific to the current project. The path may be specified, otherwise the file must be located in the project directory. If not defined, substitution rules apply. Substitutions are honoured.none
# Page_position=left|center|rightPosition of the CallWeb question area within the browser window.left
# Page_width
# Page_largeur (*)
=pixels|%Width of the CallWeb question area within the browser window. It can be specified in pixels (a raw number) or in terms of percentage of the window (number with a percent sign).100%
# Page_wire_pixels
# Page_fil_pixels (*)
=pixelsWidth, in pixels, of the wire separating the CallWeb question area from the rest of the browser window.0
# Page_wire_colour
# Page_fil_couleur (*)
=#FFFFFFColour of the wire separating the CallWeb question area from the rest of the browser window.#FFFFFF
# Page_interior_colour
# Page_interieur_couleur (*)
=#FFFFFFColour of the CallWeb question area. The colour of the outside area is determined by the "body" style in the cascading style sheet file.#FFFFFF
# Background image
# Image de fond (*)
=url.gif|url.jpgImage to display underneath the questionnaire area.none
# Page_interior_margin_pixels
# Page_interieur_marge_pixels (*)
=2Width of the space separating the CallWeb question area from the wire and the rest of the browser window.2
# Default N columns
# N colonnes par defaut (*)
=numberDefault number of columns over which the response categories are laid out. This general value can be overridden on a question by question basis using the ncols argument on the question name line.1
# Radio button position
# Position du bouton radio (*)
=top | middle | bottomVertical position of the radio button or checkbox relative to the answer category text in a normal one-question display.top
# Header
# Entete (*)
=textText displayed at the top of each page. HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Footer
# Pied (*)
=textText displayed at the bottom of each page. HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Between questions
# Entre questions (*)
=yes|no
oui|non
Whether or not a horizontal line separates each question.no
# HTML Title
# Titre HTML (*)
=textTitle displayed in the browser bar during the execution of the questionnaire. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. Substitutions are honoured.none
# Title
# Titre (*)
=textProject title displayed at the top of the questionnaire listing in cwQuestionnaire. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Display question names
# Affiche noms questions (*)
=yes|no
oui|non
Whether or not question names are displayed on screen (debugging tool).no
# Activate the mobile mode
# Activer le mode mobile (*)
=yes|no
oui|non
Whether or not mobile devices are shown simplified pages.no
# Thousand separator
# Separateur de milliers (*)
=character(s)Specifies the character or characters to use to separate groups of thousands in numeroc values. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example._
APPEARANCE CONTROL (tables)
# M_CellColour
# M_CouleurCellules (*)
=#FFFFFFColour of the interior of odd-numbered-row cells in tables.#FFFFFF
# M_CellColour2
# M_CouleurCellules2 (*)
=#FFFFFFColour of the interior of even-numbered-row cells in tables.#FFFFFF
# M_SpecialColour
# M_CouleurSpeciale (*)
=#ACACACColour of the SPECIAL codes for the table.#CCCCCC
# M_InteriorSpacing
# M_EspacementInterieur (*)
=numberWidth of the interior margins in matrix cells3
# M_Borders
# M_Bordures (*)
=numberWidth of the border in tables1
# M_BorderColour
# M_CouleurBordures (*)
=#CCCCCCColour of the matrix borders.#FFFFFF
# M_ColumnTitleAlignment
# M_AlignementTitresColonnes (*)
=T|B|MLocation of column titles within their cells: T = top, B = bottom, M = MiddleB
# M_ColumnTitleColour
# M_CouleurTitresColonnes (*)
=#FFFFFFColour of the column title cells in tables.#666699
# M_LineTitleColour
# M_CouleurTitresLignes (*)
=#FFFFFFColour of the odd-numbered row title cells in tables.#CCCCCC
# M_LineTitleColour2
# M_CouleurTitresLignes2 (*)
=#FFFFFFColour of the even-numbered row title cells in tables.#FFFFFF
# M_ Cell highlighting
# M_ mise en evidence (*)
=#EEEEEEColour of the cell highlighting.Same as column headings
# Cell highlighting
# Mise en evidence des cellules (*)
=yes|no
oui|non
Activates or deactivates cell highlighting in response categories and in tables.yes
# Styles for tables
# Styles pour matrices (*)
=yes|no
oui|non
Whether or not to activate the use of CSS styles to format the question tables.no
# M text position
# Position texte M (*)
=left | right
gauche | droite
Position, relative to the radio button or the checkbox, of the text produced in a table cell by the M answer behaviour code..right
APPEARANCE CONTROL (buttons and thermometer)
# Display language button
# Affiche bouton langue (*)
=
  • 0 or NO or NON
  • 1 or TOP or HAUT
  • 2 or BOTTOM or BAS
Location of the buttons used to swap from one language to the next: no button, to the top after the title or at the bottom along the navigation buttons.BOTTOM
# Display back button
# Affiche retour arriere (*)
=yes|no
oui|non
Whether or not the "back" button or image is displayed.no
# Page Error Image
# Image erreur page (*)
=file nameIdentifies a graphic file to use to highlight errors in a submitted questionnaire page. If the file name has no path, the file must be located in the same directory as the .scw file; a path relative to the root of the CallWeb instance may be provided, e.g., cw/file.gif. Substitutions are performed at compilation time.gr/erreur_page.gif
# Field Error Image
# Image erreur champ (*)
=file nameIdentifies a graphic file to use to highlight errors at the question level. If the file name has no path, the file must be located in the same directory as the .scw file; a path relative to the root of the CallWeb instance may be provided, e.g., cw/file.gif. Substitutions are performed at compilation time.gr/erreur_champ.gif
# Forward text
# Texte avance (*)
=textText displayed on the "Next" submit button or under the "Next" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Next question
# Submit text
# Texte submit (*)
=textText displayed on the "Next" submit button or under the "Next" submit image for SUBMIT-type questions. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Submit
# Backwards text
# Texte recule (*)
=textText displayed on the "Previous" submit button or under the "Previous" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Previous question
# Unlock text
# Texte unlock (*)
=textText displayed on the "Unlock" submit button or under the "Unlock" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Save and exit
# Stop text
# Texte stop (*)
=textText displayed on the "Stop" submit button or under the "Stop" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Stop
# Button order bottom
# Ordre des boutons bas (*)
=code lettersDetermines the order of presentation (left to right) of the buttons and progress bar/thermometer at the bottom of each question screen. The letters indicate the nature of the buttons and their order: [B]ack button, [N]ext button, [U]nlock button, [L]anguage buttons, [T]hermometer, [S]top button. This is also the default order. Any letter not supplied in the instruction is added by the compiler, in this same order, after declared buttons. Whether some of these buttons appear is controlled by other pound instructions.BNULTS
# Button order top
# Ordre des boutons haut (*)
=code lettersDetermines the order of presentation (left to right) of the buttons and progress bar/thermometer at the top of each question screen. The letters indicate the nature of the buttons and their order: [B]ack button, [N]ext button, [U]nlock button, [L]anguage buttons, [T]hermometer, [S]top button. This is also the default order. Unnamed buttons are not displayed.none
(DEPRECATED)
# Button order
# Ordre des boutons (*)
=code lettersDetermines the order of presentation (left to right) of the buttons and progress bar/thermometer at the bottom of each question screen. The letters indicate the nature of the buttons and their order: [B]ack button, [N]ext button, [U]nlock button, [L]anguage buttons, [T]hermometer, [S]top button. This is also the default order. Any letter not supplied in the instruction is added by the compiler, in this same order, after declared buttons.BNULTS
# Button position
# Position des boutons (*)
=LEFT | CENTER | RIGHTPosition of the directional buttons.LEFT
# Top button position
# Position des boutons haut (*)
=LEFT | CENTER | RIGHTPosition of the top directional buttons (overwrites # Button position).LEFT
# Bottom button position
# Position des boutons bas (*)
=LEFT | CENTER | RIGHTPosition of the bottom directional buttons (overwrites # Button position).LEFT
(DEPRECATED)
# Thermometer
# Thermometre (*)
=0|1|2|51|52 , QUESTION1 , QUESTION2Location of the progress bar: 0, no progress bar; 1, to the right of the page title, expressed as a percentage; 2, to the right of the "Next" button, expressed as a percentage; 51, to the right of the page title, expressed as a number of questions, 52, to the right of the "Next" button, expressed as a number of questions.
QUESTION1 and QUESTION2 are optional; they are separated by commas. They are the names of a first and last questions used in calculating the completion rate; if only QUESTION1 is specified, QUESTION2 is assumed to be the last question of the questionnaire; if neither are specified, QUESTION1 is the first question of the questionnaire.
0
# Display thermometer
# Affiche thermometre (*)
=NONE | TOP | BOTTOM | AUCUN | HAUT | BAS, NUMBER | NOMBRE | PERCENT | POURCENTAGE | MUTE | MUET, QUESTION1, QUESTION2Position de la barre de progression.
  • NONE or AUCUN, no progress bar;
  • TOP or HAUT, after the page header;
  • BOTTOM or BAS, to the right of the "Next" button.
After a comma,
  • PERCENT or POURCENTAGE to express the progress as a percentage;
  • NUMBER or NOMBRE to express it as a number of questions left;
  • MUTE or MUET to put no text right of the progress bar.
QUESTION1 and QUESTION2 are optional; they are separated by commas. They are the names of a first and last questions used in calculating the completion rate; if only QUESTION1 is specified, QUESTION2 is assumed to be the last question of the questionnaire; if neither are specified, QUESTION1 is the first question of the questionnaire. QUESTION1 and QUESTION2 may also be substitutions which compute to a question name when the questionnaire is displayed.
NONE
# Stop button
# Bouton stop (*)
=no|yes|[condition], question|substitution
non|oui|[condition], question|substitution
Whether or not the Interruption button is displayed. If set to "yes" or to a true display condition between square brackets, a second parameter is passed after a comma: the name of the question where the respondent is directed after clicking on the Interruption button, or a substitution that will compute to a name when the questionnaire is displayed.no
# Thermometer text
# Texte thermometre (*)
=textText displayed above the progress thermometer. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Progression in the questionnaire
# Thermometer colour
# Couleur thermometre (*)
=#FFFFFFColour of the thermometer.# M_ColumnTitleColour
# Thermometer width
# Largeur thermometre (*)
=pixelsNumber of pixels used by the width of the thermometer.200
# Thermometer height
# Hauteur thermometre (*)
=pixelsNumber of pixels used by the height of the thermometer.10
# Thermometer border width
# Largeur bordure thermometre (*)
=pixelsNumber of pixels of the thermometer border.1
# Thermometer border colour
# Couleur bordure thermometre (*)
=#FFFFFFColour of the thermometer border.#CCCCCC
# Thermometer gap width
# Largeur espace thermometre (*)
=pixelsNumber of pixels of the gap between the thermometer border and the thermometer itself.1
# Thermometer gap colour
# Couleur espace thermometre (*)
=#FFFFFFColour of the gap between the thermometer border and the thermometer itself.#FFFFFF
# Second line of buttons
# Seconde ligne de boutons (*)
=yes|noControls the display of the text line which follows the buttons and thermometer at the bottom of the page. Can be used to attach "alt" and "title" text to graphical Next, Back and language buttons while avoiding the text equivalent below the buttons.Yes
# Image left
# Image gauche (*)
=image_file_nameName of the image file to be used as a "Previous" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Image right
# Image droite (*)
=image_file_nameName of the image file to be used as a "Next" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Submit image
# Image submit (*)
=image_file_nameName of the image file to be used as a "Next" button if the question has a SUBMIT question type. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Language image
# Image langue (*)
=image_file_nameName of the image file to be used as a language button. The path must be specified. In left undefined, a standard HTML button is displayed. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Image stop=image_file_nameName of the image file to be used as a "Stop" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Image unlock=image_file_nameName of the image file to be used as an "Unlock" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Radio button suffix (retired)
Suffixe des boutons radios (retiré) *
=textSuffix added to the names of the image files used to replace radio buttons and check boxes. Substitutions are honoured.. The image files may reside in the project directory or in the resource directory (gr/). The following image types are sought (in this order): png, gif, jpg. Ideally, images should be between 12 and 15 pixel square. Eight images must be defined in a set: cboxCheckedDisabled, cboxDisabled, cboxChecked, cbox, radioCheckedDisabled, radioDisabled, radioChecked, radio (e.g., cboxCheckedDisabledGREEN.png). The following sets are predefined: BLUE, GREEN, PURPLE, RED, YELLOWnone
# Radio button directory
# Repertoire des boutons radios *
=textDirectory where the radio button and check box images are found (see # Radio button suffix). It must be a subdirectory of the instance root directory. Substitutions are honoured..gr/
APPEARANCE CONTROL (messages)
# Mandatory question
# Question obligatoire (*)
=HTML textInserts the HTML text after the question or note text of a mandatory question (which has a minimum number of answers of at least 1). The text can use HTML coding such as <SPAN CLASS=ERREUR>*</SPAN>. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
(DEPRECATED)
# General error message
# Message erreur general (*)
=textText displayed at the top of the page if an error was identified in the responses provided. HTML codes are interpreted but the whole text is formatted using the .ERREUR style. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Incomplete or erroneous data were identified on this page. Please see below.
# Demo message
# Message demo (*)
=textText displayed at the top of the page if the system functions in demo mode (no data saving). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.DEMONSTRATION MODE. Responses will not be recorded.
# Frozen data message
# Message donnees figees (*)
=textText displayed at the top of the page once # Freeze data if is true (no modifying saving). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.The data in this case are frozen. No change will be recorded.
# System message [message number]
# Message du systeme [message number] (*)
= Redefines (and customizes) system messages. "[message number]" must be substituted for the actual number of the system message to affect. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Enforce response length
# Contraindre la longueur des reponses (*)
=yes|noLimits a multi-line alpha-numeric response to the number of characters specified in the .scw file (if JavaScript is activated in the respondent's browser). Also determines whether CallWeb produces an error message if a multi-line alpha-numeric response is longer than the open-part length defined in the questionnaire.no
APPEARANCE CONTROL (access code page)
# Access page header=yes|no
oui|non
Whether or not to display the page header (# Entete LA) on the access code request page.yes
# Access page footer=yes|no
oui|non
Whether or not to display the page footer (# Pied LA) on the access code request page.yes
# Access request telkey=textText displayed before the input box on the access code request page (when no access code is offered). HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your access code, please</P>
# Access give telkey=textText displayed before the input box on the access code request page (when a new access code has been offered). HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your access code is <B>{$_telkey}</B>.<BR>Keep it to be able to access your answers in the future.</P>
# Access send telkey button=textText of the Send button on an access code request page. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Send
# Access send telkey image=image_file_nameName of the image file to be used as the Send button on an access code request page. The path must be specified. In left undefined, a standard HTML button is displayed. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Access no telkey button=textText of the "I have no access code" button on the access code request page (# Survey type = Open Offered). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.If you don't have an access code, click here
# Access bad telkey=textText displayed when an incorrect access code is supplied (# Survey type = Closed or Open Offered). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>The access code supplied (<EXECUTE>$formdata{_telkey}</EXECUTE>) is not valid.</P>
# Access bad telkey 7=textText displayed when an incorrect access combination is supplied (# Survey type = Password). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>This combination of access code (<EXECUTE>$formdata{_telkey}</EXECUTE>) and password is not valid.</P>
# Access request access code in type 3=textText displayed in # Survey type = Open Combination to request an access code (the syntax rules for the code could be inserted in this statement). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your <B>access code</B>, please.<BR>If you don't have an access code yet, please create one.</P>
# Access request password in type 3=textText displayed in # Survey type = Ouvert Combinaison to request a password (the syntax rules for the password could be inserted in this statement). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your <B>password</B>, please.<BR>If you don't have a password yet, please create one.</P>
# Access bad combination in type 3=textText displayed upon finding a bad password for an existing access code in # Survey type = Ouvert Combinaison. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>This access code already exists or the access code/password combination is invalid.</P>
# Access bad telkey pattern in type 3=textText displayed upon finding an access code which does not conform to # ACCESSTELKEYPATTERN. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>The access code does not follow the expected pattern.</P>
# Access bad password pattern in type 3=textText displayed upon finding a password which does not conform to # ACCESSPASSWORDPATTERN. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>The password does not follow the expected pattern.</P>
# Access request password in type 7 (*)=textText displayed in # Survey type = Password to request a password. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your <B>password</B>, please.</P>
# Access request new password in type 7 (*)=textText displayed in # Survey type = Password to offer the entry of a new password. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<p align="center">If you want to change your <b>password</b>, enter the existing password above, then type a new password below twice.</p>
# Access bad telkey pattern in type 7 (*)=textText displayed upon finding a password which does not conform to # ACCESSTELKEYPATTERN. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>The password does not follow the expected pattern.</P>
# Access telkey pattern=regular expressionRegular expression used to described the pattern of acceptable access codes in # Type enquete = 3. Do not include the starting and ending slashes but escape the expression according to rules. The regular expression is assumed to start with ^ and end with $ — that is, the entire user ID supplied must conform to the pattern..+
# Access password pattern=regular expressionRegular expression used to described the pattern of acceptable passwords in # Type enquete = 3. Do not include the starting and ending slashes but escape the expression according to rules. The regular expression is assumed to start with ^ and end with $ — that is, the entire password supplied must conform to the pattern..+
APPEARANCE CONTROL (relation)
# Text relation add=textIn the context of a RELATION question, text displayed on the button to add a child. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Add
# Text relation refresh=textIn the context of a RELATION question, text displayed on the button to refresh the page. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Refresh
# Text relation delete=textIn the context of a RELATION question, text displayed on the button to delete a child. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Erase (immediate effect)
# Text relation modify=textIn the context of a RELATION question, text displayed on the button to modify a child. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Modify
APPEARANCE CONTROL (CATI and robot)
# Read
# Lire
=textText inserted before an answer category label with behaviour code L. Can contain HTML code. Substitutions are honoured.<IMG SRC="gr/lire.gif">&nbsp;
# Do not read
# Ne pas lire (*)
=textText inserted before an answer category label with behaviour code P. Can contain HTML code. Substitutions are honoured.<IMG SRC="gr/nepaslire.gif">&nbsp;
# Display min max
# Affiche min max (*)
=yes|no
oui|non
Whether or not the minimum and maximum number of answers are displayed in the note field.no
# Robot caller id=telephone numberTelephone number displayed by the IVR robot.none
# Robot caller id text=texttext displayed by the IVR robot.none
# Caller id=telephone numberTelephone number displayed by the Asterisk server placing calls on behalf of interviewers.none
# Caller id text=texttext displayed by the Asterisk server placing calls on behalf of interviewers.none
OTHER
# No deep mobile check (*)=yes|noSkips the deep check for mobile devices using the BrowserDetect module.no
## textComment; not subject to compilation.none
#> textContinuation line. The text on this line is added to that of the previous linenone

* This value is used internally by CallWeb.

Appendix A

Pound instructions

Pound instructions define various elements of the behaviour of CallWeb. They start with a pound sign (#) which may be preceded by spaces or tabs for the sake of clarity. A given pound instruction may be split over several lines by starting the second and following lines with a pound followed by a greater-than sign (#>); this combination may be preceded or followed by spaces or tabs.

Instruction SyntaxExplanationDefault value
MANDATORY
# Available languages
# Langues disponibles (*)
=EN,FRList of languages which will be available in the questionnaire. Languages are defined using two-letter ISO 639-1 language codes.none
# Default language
# Langue par defaut (*)
=ENDefault language used when none or a non existent one is specified. It must be one of the languages identified in # Available languages.none
# Survey type
# Type enquete (*)
=code
  • Open | Ouvert = fully open, no provision of an access code (was 1)
  • Closed | Ferme = controlled access; the data base must be prepopulated (was 2)
  • Open Combination | Ouvert Combinaison = fully open; a user id and a password are selected by the participant (was 3)
  • Open Offered | Ouvert Offert = fully open, provision of an access code for resuming (was 5)
  • Password | Mot de passe = controlled access like Closed plus an encrypted password (was 7). A cookbook recipe describes this system in detail.
none
STRUCTURE
# Group ID
# Ecran ID (*)
=Qm-QnQuestions between Qm and Qn, including Qm and Qn, will be displayed on a single page.none
# Table ID
# Matrice ID (*)
=Q1-Q2 HEADER=n PIXELS=n COLVARS=n POSITION=x FORCE_CODES TRANSPOSE SPECIAL=(n,...) CORNER=(...) VALIDATIONQuestions between Qm and Qn, including Qm and Qn, are displayed in table format. The table header is repeated every HEADER row; the columns are PIXELS wide; there are COLVARS vertical questions. The POSITION can be LEFT|GAUCHE (default), CENTRE or RIGHT|DROITE. Details.none
# Permutation ID=Qm-Qn STEP=n LIMIT=n LIKE=permutationQuestions between Qm and Qn, including Qm and Qn, are presented in random order and only LIMIT blocks are displayed. LIKE is the name of another permutation that drives the order of the current permutation. Details.none
# New question order
# Nouvel ordre de questions (*)
=comma-delimited lists of question names; lists are slash-delimitedreorders questions defined in the questionnaire; there can be any number of reorder lists; they are separated by slashes. Each list is made of an arbitrary number of question names separated by commas, presented in the new order in which they will be processed in the questionnaire. This instruction facilitates the generalised use of the SUFFIX syntax. Example: # New question order = Q3, Q2, Q1 / Q14, Q16, Q15. As with all pound instructions, only one such instruction (the last one in the .scw file) is active in the questionnaire.none
# Deactivate pages
# Desactiver les pages (*)
=yes|no
oui|non
Whether or not CallWeb uses the GROUP (ECRAN) and TABLE (MATRICE) instructions in the questionnaire. May serve to linearize a questionnaire for CATI purposes.no
(DEPRECATED)
# Note segment
# Segment note (*)
=yes|no
oui|non
Whether or not the NOTE text is presented in its own separate field in the .scw file (as opposed to the old syntax with the [NOTE] indicator in the question text)yes
(DEPRECATED)
# Rotations on RO
# Rotations sur RO (*)
=yes|no
oui|non
Whether or not a pair of RO variables will behave as bounds of a permutation of questions. It should be set to "no" but it exists for backwards compatibility considerations.no
# INDEX=List of questionsComma-delimited list of questions needing to be indexed in the database. Open-ended question (using text fields) must be specified along with the number of characters to index within parentheses (e.g. AQ1(20)).none
# Create View ID
=SQL statementSELECT SQL statement pulling some subset of data from the CallWeb database for use in another application. ID must be unique in the questionnaire file.none
ACCESS (general)
# cwNav read password
# Mot de passe cwNav lecture (*)
=passwordPassword to read data in utility programs.none
# cwNav write password
# Mot de passe cwNav ecriture (*)
=passwordPassword to modify and delete data in utility programs.none
# cwextr zip password (*)=passwordPassword used to encrypt extracted data in a zip file (spaces compressed upon use).none
# cwcompile zip password (*)=passwordPassword used to encrypt information stored by cwcompile in a zip file (spaces compressed upon use).none
# cwarchive zip password (*)=passwordPassword used to encrypt back-up data stored by cwarchive.pl in a zip file (spaces compressed upon use).none
# cwemail password
# Mot de passe cwemail (*)
=passwordPassword to send e-mail message through cwemail.none
# Return permitted
# Retour permis (*)
=yes|no
oui|non
Whether the permission is granted to return into a completed interview.no
# Password change in type 7
# Changement de mot de passe en type 7 (*)
=yes|no
oui|non
Whether the user is offered the possibility to change their password in Survey type Password.yes
# Seconds locked
# Secondes de verrou (*)
=# of secondsNumber of seconds during which a questionnaire is reserved to the active user.0
# Language switch
# Changement de langue (*)
=yes|no
oui|non
Whether the user can switch languages once the questionnaire is started.yes
# Telkey pattern=patternPattern followed for the creation of case identifiers (_telkey): combination of [C]onsonant, [V]owel, [L]etter, [N]umeric, [S]pecial and [?] for any of these. Any other character is inserted as it is. Each character of the pattern is replaced by one character in the access code. Substitutions are honoured.CVCVCVN
# use_telkey_table=yes|no
oui|non
adjusts the use_telkey_table installation instruction on a project by project basis (necessary for the correct operation of BASEpretest). "Yes" in this instruction will work only if the installation instruction is already set to yes.yes
# Visible from
# Visible depuis (*)
=directory listComma-delimited list of utility directories which can access this project. The master util directory (defined by the "repertoire_utilitaire_maitre" key in the main configuration file) has default access to all projects.none
# Accessible by
# Accessible par (*)
=list of usersComma-delimited list of users who have access to the project based on their "Accessible by" accesses as defined in cwperm.cgi.none
# Noreturn condition
# Condition de non retour (*)
=logical conditionxBase or Perl (in braces) logical condition indicating when a case cannot be re-entered — if the "# Return permitted" instruction has been set to "no". If a respondent has gone past the last question and that "# Return permitted" was set to "no", the questionnaire cannot be re-entered; the same is true of the "# Noreturn condition" is true; this allows to control return access without making respondents leave the questionnaire (presumably to a static Thank you page).none
# Control by cookie
# Controle par cookie (*)
=yes|no(in callweb.cgi only; does not work in cwx.cgi) activates a cookie-based control system which prevents the creation of a second questionnaire by a given computer in a fully open project; it has no effect on other types of questionnaires.no
# Deny access if
# Nier acces si (*)
=logical conditionxBase or Perl (in braces) logical condition indicating when cases cannot be accessed. The condition can use any value in the questionnaire and any contexte data such as the date and time.none
# Freeze data if
# Figer les donnees si (*)
=logical conditionxBase or Perl (in braces) logical condition indicating when cases cannot be modified any further. The condition can use any value in the questionnaire and any contexte data.none
# Allow new in open combination=yes|noIn Open combination mode, accepts or refuses the creation of new cases based on newly supplied _telkeys.yes
# Auto submit=logical conditionxBase or Perl (in braces) logical condition indicating whether CallWeb automatically submits a questionnaire page upon the selection of an answer. This is activated only on pages that contain a single question that allows for a single selection (radio button type); it is not activated on answer categories that contain an open-ended part.none
# Master compilation server
# Serveur maitre de compilation (*)
=server nameName of the server which has permission to compile the script. The server name is defined in the configuration file.none
# Master codes=comma-delimited list of codesEach of these passwords provide access to the project via the callweb.cgi (or cwx.cgi) module. Access is not granted without providing one of these codes.none
# 2FA=[EMAILQUESTION]name of an EMAIL question
[EMAILADDRESS]name of the open-end part of the question containing the email address of the respondent
[CODEPATTERN]code pattern
[STORECODE]name of an open-ended STOCK question to store the random code
[FROM]"from" email address
[COLLECTCODE]name of the question used to collect the random code from the respondent
If this instruction exists, before displaying any page, CallWeb checks that a 2FA cookie exists. If it does not, an email using the EMAILQUESTION text (that must contain a recall of the open-end part of the STORECODE question) is sent to the address in EMAILADDRESS. The CODEPATTERN follows the "# Telkey pattern" convention. The STORECODE and COLLECTCODE questions must include a C open-end part. The respondent is displayed question COLLECTCODE where they must enter the code received by email. Upon correct entry of the code, they are sent to the page they would have seen if there was no 2FA. A cookbook recipe describes this system in detail.none
ACCESS (screen readers)
# Question Framing
# Encadrement des questions (*)
=legend | pSpecifies whether question text is framed within <p></p> tags or <legend></legend> tagslegend
# Table of contents of errors
# Table des matieres des erreurs (*)
=both|access|regular|noneDisplays a table of contents of errors at the top of the questionnaire page depending on the display mode.none
# Focus on error=first|generalIf an error is found on a page, determines if the focus is on the first error or on the general error message.general
ACCESS (CATI and robot)
# Supervisor password
# Mot de passe des superviseurs (*)
=passwordPassword used by supervisors to access call queue management functions.none
# Master CATI server
# Serveur maitre pour le CATI (*)
=server nameName of the server which has permission to manage the CATI component of a project. The server name is defined in the configuration file. This instruction requires that the control_by_other_server_possible installation option be set to yes.none
# Maximum interviewers=numberMaximum number of interviewers allowed in the project at once.999999
# Linear CATI mode=yes|noIn CATI mode, by default, questionnaires are displayed in a second browser window while the interviewer's call management screen remains open. With "# Linear CATI mode" set to "yes" or "oui", the questionnaire opens in the same window as the call management screen and a button is displayed at the top of the questionnaire to return to the call management screen.no
# Cati=yes|no|ivr
oui|non|ivr
Determines whether or not a CallWeb project is to be managed as a CATI project or as an IVR project. CATI projects have specific requirements which are enforced when this option is on. A default value may be defined in the CallWeb instance configuration file using the keyword "cati" (lower case).no
ACTION (general)
# Include=file nameInserts the content of the file at that location in the script, before compilation. If the file name has no path, the file must be located in the same directory as the .scw file; a path relative to the root of the CallWeb instance may be provided, e.g., cw/file.inc. Files that are included may contain Include statements of their own. With Include, one can share portions of questionnaires between scripts.none
# Test ID=[TRIGGER]... [CONDITION]... [MESSAGE]... [TYPE]...Applies error CONDITION test when receiving a value for the TRIGGER question and, if true, returns error MESSAGE where the TYPE specifies. Details.none
# Recall ID
# Rappel ID
=recalled text
or
[condition]recalled text
Creates a value which may be recalled using the &#ID syntax. See the recall page for details. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Default JavaScript to
# JavaScript par defaut*
=yes|no
oui|non
Determines whether or not JavaScript should be considered active if no information was yet received from the client session.yes
# Load JavaScript Library=yes|no
oui|non
Determines whether or not JavaScript libraries (Mootools and Highcharts) are loaded for questionnaire pages.yes
(DEPRECATED)
# Email
# Courriel (*)
=e-mail addressE-mail address where every completed questionnaire is e-mailed as back-up. Separate multiple addresses with commas.none
# Default cwemail email
# cwemail email par defaut (*)
=e-mail addressdefault e-mail address used as sender in cwemail; can be changed within the cwemail interface.none
# Default cwemail sender
# cwemail envoyeur par defaut (*)
=e-mail addressdefault e-mail address used as actual technical sender in cwemail (as opposed to the e-mail address that appears in the From field of the message); can be changed within the cwemail interface. This information is used by the receiving server to assess the risks of the message being spam. It should be an address that is deliverable to the sending server.none
# cwemail report to (*)=e-mail addresse-mail address to which the turbo-mode report is sent.system administrator
# convert email subject (*)=yes|no
oui|non
Determines whether or now the email subject will be converted to UTF-8. Test before using.Yes
# List Unsubscribe (*)=URL to unsubscribedefault URL to access the questionnaire unsubscribe feature. See the relevant cookbook recipe.none
# Send extractions to
# Envoyer extractions a (*)
=e-mail addressE-mail address where cwextr data extractions can be e-mailed. Separate multiple addresses with commas.none
# cwextr copy directory
# repertoire sauvegarde cwextr (*)
=(local directory)Name of a local directory offered by default as a location where to put extractions in cwextr.none
# Extraction width
# Largeur extraction (*)
=ncolumnsDefault extraction width for closed questions.4
# Minimal extraction width
# Extraction de largeur minimale (*)
=yes|noIf set to yes, data extractions default to the minimal number of columns required to represent the data.no
# Refuse duplicates in cwprepop
# Rejeter les doublons dans cwprepop (*)
=list of questionsComma-delimited list of questions or system variables (like _telephone) that cwprepop will test for duplicate values. Cases with duplicate are not prepopulated and their status is reported.none
# Send bounces to=e-mail addresssingle E-mail address where bounces from e-mail sent by CallWeb will be directed.
If the address is formatted as bounces.*@domain.xxx, CallWeb reformats the address to work with cwBounces.pl which intercepts bounced messages.
none
# Check bounces against=AQnName of the open-end part containing the e-mail address to which invitations/messages were sent (or comma-delimited list of open-end parts the same length as that of # Save bounces into). This value is used by cwbounces.pl to identify to which data base record a bounce message is associated. It must be set to use cwbounces.pl and the bounces.*@domain.xxx form of # Send bounces to.none
# Save bounces into=AQnName of the open-end part containing the date and time of the bounce messages received for this data base entry (or comma-delimited list of open-end parts the same length as that of # Check bounces against). It must be set to use cwbounces.pl and the bounces.*@domain.xxx form of # Send bounces to.none
# Complete case
# Dossier complet (*)
=SQL logical expressionLogical expression describing completed questionnaires. It must be a valid SQL-syntax expression; no validation is performed on its syntax.none
# Cleaning skips
# Sauts nettoyants (*)
=yes|no
oui|non
Whether or not data cleaning will be performed between the bounds of forward skips.yes
# Save backwards
# Sauve a reculons (*)
=yes|no
oui|non
Whether or not to save responses provided on a page before clicking on the CallWeb back button (not the browser back button). For logical reasons, no data validation is performed.yes
# Url=urlURL where the browser will be sent at the completion of the questionnaire. The value can include recalled values. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. Therefore, different language versions can exit to different URLs as in # URL = [EN]http://yahoo.com[FR]http://yahoo.fr Substitutions are honoured..none
# Attributable questions
# Questions attribuables (*)
=list of questionsDeclares the list of questions (in the form: Q1-Q5, Q7, Q8-Q10,...) which may have their values attributed at the time of the original call of a case. For example, assuming that Q1 is among these questions and that abc is an Open project, calling "callweb.cgi?_proj=abc&Q1=2" would open a new record in the data base and attribute value 2 to question Q1 — this works with all _typeint types of projects.
The rules are: only questions listed in this instruction can be attributed; only cases that have never been accessed can be attributed; only questions that are empty can be attributed (e.g., a prepopulated value cannot be changed via this procedure). Not all attributable questions need be attributed.
Note that question names are always capitalized and that URLs and forms are case-sensitive.
Remember, that in the flow of the questionnaire, all questions, including those listed in this instruction, are subject to be blanked out by BLANK question types, display conditions and skips; appropriate non-cleaning skips may be required to preserve the values attributed via this protocol.
none
# Pretest=text or HTML codecreates hyperlinks to BASEpretest and displays them besides every question that does not possess a NOPRETEST question type. If present and if BASEpretest exists, these links are created and pop a new window with a feedback form. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. See the related recipe.none
# Pretest project
# Projet pretest (*)
=textname of the CallWeb project used for the # Pretest feature.BASEpretest
# Auto email=complex syntax (see the page on e-mail notification)provides the parameters required for automatically sending e-mails under pre-set conditions.none
# Stop  No parameters. Interrupts the compilation of the questionnaire file and disregards the following instructions.n/a
# Execute if
# Executer si
=CALCUL question name or names separated by slashes
or
[condition]CALCUL question name or list of names separated by slashes
Identifies a CALCUL question (or a slash-delimited list of CALCUL question names) that is (possibly, conditionally) executed before displaying the next page. This instruction is evaluated after every page when the processing of the answers sent is found errorless and before calculating the display of the next page. See the recall page for details on the conditional syntax.none
# Always open at
# Toujours ouvrir a
=question nameIdentifies the question that the questionnaire opens on at every start (which ever question the questionnaire was closed on). The keyword _AUDEBUT_ can be used.none
# Only for server ID
# Seulement pour le serveur ID (*)
=another pound instruction"Only for server" is followed by the name of a server (defined in the CallWeb instance configuration file) as in # Only for server ABC = # cati = yes. This instruction is followed by another pound instruction which is activated only for the named server. Note that normal validations performed on the sub-instruction (in the previous example, "cati = yes") are not performed during compilation; it is good practice to test the sub-instruction as a normal instruction before tucking it into a "# Only for server" instructions.none
# Copy questionnaire into
# Copier le questionnaire vers (*)
=user@location/directorySends a copy of the compiled questionnaire to a secondary CallWeb server in the context of a multi-server configuration. The instruction includes the shell user, the domain name or the IP address of the target server and the destination project directory, such as
# Copy questionnaire into = someuser@callweb.ca/var/www/html/somerep/cwproject
This copies the .qcw file as well as an empty .scw file. Public keys must have been exchanged between the servers for this instruction to work. More than one copy can be defined by specifying a comma-delimited location/directory list. It is also possible to copy other files located in the project directory by stating their name or pattern as part of the comma-delimited list, such as
# Copy questionnaire into = someuser@callweb.ca/var/www/html/somerep/cwproject, *.pdf, *.docx
which would copy all pdf and docx files from the compilation server to the distant server.
none
# MySQL engine=engine nameSpecifies which of the MySQL storage engines to use for the project data base.none
# BASEclicks=yes|no
oui|non
Specifies whether the time spent on each page of the questionnaire should be stored in the BASEclicks data base.no
# General Upload Parms=dir = x, file = yes|no, min = m, max = n, extensions = ext1/ext2/...Specifies the parameters used by File Upload open-end questions: dir is the directory where the files are stored within the project directory; file is a yes|no indicating whether the files are stored in the "dir" directory in addition of the MySQL database; min is the minimum number of bytes required for an uploaded file (default = zero); max is the maximum number of bytes allowed for an uploaded file (no default); extensions is a slash-delimited list of file extensions allowed (an asterisk indicates that all extensions are accepted).none
ACTION (CATI and robot)
# Use do not call list=yes|no
oui|non
Whether or not to use the information in project BASEdonotcall when pre-populating a project; also controls the display of the do-not-call checkbox on the interviewer interface.yes
# Do not call email=e-mail addressE-mail address where a notification is sent every time an interviewer adds a telephone number to the do-not-call list. Separate multiple addresses with commas.none
# CATI selection 3=question, yes|no
question, oui|non
States that a certain question in the questionnaire is to act as a third case selection criterion for interviewers in CATI mode. The second parameter, following a comma, indicates whether interviewers are allowed to change the value of this datum from their call management window.question name, none; action switch, YES
# Productivity index=MySQL expressionMySQL expression returning an index of interviewer productivity. Used in cwprod.cgi. See also the productivity_index installation option.ROUND((completes_first + 2*completes_norefusal + 5*completes_withrefusal - 3*refusals_first ) / duration,1)
# Close full quota
# Fermeture automatique des quotas atteints
=yes|no
oui|non
In CATI mode, controls whether the automatic quota closure system is activated.yes
# Basic call management=yes|no
oui|non
In CATI mode, controls whether the call queue management system uses simple dropdown lists to specify delays or more flexible value boxes.no
# Other n in cwsuper
# Autre n dans cwsuper **
=MySQL expressionMySQL expression returning a count from the data base in cwsuper.none
APPEARANCE CONTROL (page)
# Template
# Gabarit
=file_nameName of the HTML file to be used as questionnaire template. The path may be specified, otherwise the file must be located in the project directory. In left undefined, the page is built using the traditional vertical construction. Another documentation page provides details. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. Substitutions are honoured.none
# Stylesheet=file_nameName of a file containing CSS styles specific to the current project. The path may be specified, otherwise the file must be located in the project directory. If not defined, substitution rules apply. Substitutions are honoured.none
# Page_position=left|center|rightPosition of the CallWeb question area within the browser window.left
# Page_width
# Page_largeur (*)
=pixels|%Width of the CallWeb question area within the browser window. It can be specified in pixels (a raw number) or in terms of percentage of the window (number with a percent sign).100%
# Page_wire_pixels
# Page_fil_pixels (*)
=pixelsWidth, in pixels, of the wire separating the CallWeb question area from the rest of the browser window.0
# Page_wire_colour
# Page_fil_couleur (*)
=#FFFFFFColour of the wire separating the CallWeb question area from the rest of the browser window.#FFFFFF
# Page_interior_colour
# Page_interieur_couleur (*)
=#FFFFFFColour of the CallWeb question area. The colour of the outside area is determined by the "body" style in the cascading style sheet file.#FFFFFF
# Background image
# Image de fond (*)
=url.gif|url.jpgImage to display underneath the questionnaire area.none
# Page_interior_margin_pixels
# Page_interieur_marge_pixels (*)
=2Width of the space separating the CallWeb question area from the wire and the rest of the browser window.2
# Default N columns
# N colonnes par defaut (*)
=numberDefault number of columns over which the response categories are laid out. This general value can be overridden on a question by question basis using the ncols argument on the question name line.1
# Radio button position
# Position du bouton radio (*)
=top | middle | bottomVertical position of the radio button or checkbox relative to the answer category text in a normal one-question display.top
# Header
# Entete (*)
=textText displayed at the top of each page. HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Footer
# Pied (*)
=textText displayed at the bottom of each page. HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Between questions
# Entre questions (*)
=yes|no
oui|non
Whether or not a horizontal line separates each question.no
# HTML Title
# Titre HTML (*)
=textTitle displayed in the browser bar during the execution of the questionnaire. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example. Substitutions are honoured.none
# Title
# Titre (*)
=textProject title displayed at the top of the questionnaire listing in cwQuestionnaire. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Display question names
# Affiche noms questions (*)
=yes|no
oui|non
Whether or not question names are displayed on screen (debugging tool).no
# Activate the mobile mode
# Activer le mode mobile (*)
=yes|no
oui|non
Whether or not mobile devices are shown simplified pages.no
# Thousand separator
# Separateur de milliers (*)
=character(s)Specifies the character or characters to use to separate groups of thousands in numeroc values. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example._
APPEARANCE CONTROL (tables)
# M_CellColour
# M_CouleurCellules (*)
=#FFFFFFColour of the interior of odd-numbered-row cells in tables.#FFFFFF
# M_CellColour2
# M_CouleurCellules2 (*)
=#FFFFFFColour of the interior of even-numbered-row cells in tables.#FFFFFF
# M_SpecialColour
# M_CouleurSpeciale (*)
=#ACACACColour of the SPECIAL codes for the table.#CCCCCC
# M_InteriorSpacing
# M_EspacementInterieur (*)
=numberWidth of the interior margins in matrix cells3
# M_Borders
# M_Bordures (*)
=numberWidth of the border in tables1
# M_BorderColour
# M_CouleurBordures (*)
=#CCCCCCColour of the matrix borders.#FFFFFF
# M_ColumnTitleAlignment
# M_AlignementTitresColonnes (*)
=T|B|MLocation of column titles within their cells: T = top, B = bottom, M = MiddleB
# M_ColumnTitleColour
# M_CouleurTitresColonnes (*)
=#FFFFFFColour of the column title cells in tables.#666699
# M_LineTitleColour
# M_CouleurTitresLignes (*)
=#FFFFFFColour of the odd-numbered row title cells in tables.#CCCCCC
# M_LineTitleColour2
# M_CouleurTitresLignes2 (*)
=#FFFFFFColour of the even-numbered row title cells in tables.#FFFFFF
# M_ Cell highlighting
# M_ mise en evidence (*)
=#EEEEEEColour of the cell highlighting.Same as column headings
# Cell highlighting
# Mise en evidence des cellules (*)
=yes|no
oui|non
Activates or deactivates cell highlighting in response categories and in tables.yes
# Styles for tables
# Styles pour matrices (*)
=yes|no
oui|non
Whether or not to activate the use of CSS styles to format the question tables.no
# M text position
# Position texte M (*)
=left | right
gauche | droite
Position, relative to the radio button or the checkbox, of the text produced in a table cell by the M answer behaviour code..right
APPEARANCE CONTROL (buttons and thermometer)
# Display language button
# Affiche bouton langue (*)
=
  • 0 or NO or NON
  • 1 or TOP or HAUT
  • 2 or BOTTOM or BAS
Location of the buttons used to swap from one language to the next: no button, to the top after the title or at the bottom along the navigation buttons.BOTTOM
# Display back button
# Affiche retour arriere (*)
=yes|no
oui|non
Whether or not the "back" button or image is displayed.no
# Page Error Image
# Image erreur page (*)
=file nameIdentifies a graphic file to use to highlight errors in a submitted questionnaire page. If the file name has no path, the file must be located in the same directory as the .scw file; a path relative to the root of the CallWeb instance may be provided, e.g., cw/file.gif. Substitutions are performed at compilation time.gr/erreur_page.gif
# Field Error Image
# Image erreur champ (*)
=file nameIdentifies a graphic file to use to highlight errors at the question level. If the file name has no path, the file must be located in the same directory as the .scw file; a path relative to the root of the CallWeb instance may be provided, e.g., cw/file.gif. Substitutions are performed at compilation time.gr/erreur_champ.gif
# Forward text
# Texte avance (*)
=textText displayed on the "Next" submit button or under the "Next" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Next question
# Submit text
# Texte submit (*)
=textText displayed on the "Next" submit button or under the "Next" submit image for SUBMIT-type questions. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Submit
# Backwards text
# Texte recule (*)
=textText displayed on the "Previous" submit button or under the "Previous" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Previous question
# Unlock text
# Texte unlock (*)
=textText displayed on the "Unlock" submit button or under the "Unlock" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Save and exit
# Stop text
# Texte stop (*)
=textText displayed on the "Stop" submit button or under the "Stop" submit image. HTML codes are interpreted only under the submit image. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Stop
# Button order bottom
# Ordre des boutons bas (*)
=code lettersDetermines the order of presentation (left to right) of the buttons and progress bar/thermometer at the bottom of each question screen. The letters indicate the nature of the buttons and their order: [B]ack button, [N]ext button, [U]nlock button, [L]anguage buttons, [T]hermometer, [S]top button. This is also the default order. Any letter not supplied in the instruction is added by the compiler, in this same order, after declared buttons. Whether some of these buttons appear is controlled by other pound instructions.BNULTS
# Button order top
# Ordre des boutons haut (*)
=code lettersDetermines the order of presentation (left to right) of the buttons and progress bar/thermometer at the top of each question screen. The letters indicate the nature of the buttons and their order: [B]ack button, [N]ext button, [U]nlock button, [L]anguage buttons, [T]hermometer, [S]top button. This is also the default order. Unnamed buttons are not displayed.none
(DEPRECATED)
# Button order
# Ordre des boutons (*)
=code lettersDetermines the order of presentation (left to right) of the buttons and progress bar/thermometer at the bottom of each question screen. The letters indicate the nature of the buttons and their order: [B]ack button, [N]ext button, [U]nlock button, [L]anguage buttons, [T]hermometer, [S]top button. This is also the default order. Any letter not supplied in the instruction is added by the compiler, in this same order, after declared buttons.BNULTS
# Button position
# Position des boutons (*)
=LEFT | CENTER | RIGHTPosition of the directional buttons.LEFT
# Top button position
# Position des boutons haut (*)
=LEFT | CENTER | RIGHTPosition of the top directional buttons (overwrites # Button position).LEFT
# Bottom button position
# Position des boutons bas (*)
=LEFT | CENTER | RIGHTPosition of the bottom directional buttons (overwrites # Button position).LEFT
(DEPRECATED)
# Thermometer
# Thermometre (*)
=0|1|2|51|52 , QUESTION1 , QUESTION2Location of the progress bar: 0, no progress bar; 1, to the right of the page title, expressed as a percentage; 2, to the right of the "Next" button, expressed as a percentage; 51, to the right of the page title, expressed as a number of questions, 52, to the right of the "Next" button, expressed as a number of questions.
QUESTION1 and QUESTION2 are optional; they are separated by commas. They are the names of a first and last questions used in calculating the completion rate; if only QUESTION1 is specified, QUESTION2 is assumed to be the last question of the questionnaire; if neither are specified, QUESTION1 is the first question of the questionnaire.
0
# Display thermometer
# Affiche thermometre (*)
=NONE | TOP | BOTTOM | AUCUN | HAUT | BAS, NUMBER | NOMBRE | PERCENT | POURCENTAGE | MUTE | MUET, QUESTION1, QUESTION2Position de la barre de progression.
  • NONE or AUCUN, no progress bar;
  • TOP or HAUT, after the page header;
  • BOTTOM or BAS, to the right of the "Next" button.
After a comma,
  • PERCENT or POURCENTAGE to express the progress as a percentage;
  • NUMBER or NOMBRE to express it as a number of questions left;
  • MUTE or MUET to put no text right of the progress bar.
QUESTION1 and QUESTION2 are optional; they are separated by commas. They are the names of a first and last questions used in calculating the completion rate; if only QUESTION1 is specified, QUESTION2 is assumed to be the last question of the questionnaire; if neither are specified, QUESTION1 is the first question of the questionnaire. QUESTION1 and QUESTION2 may also be substitutions which compute to a question name when the questionnaire is displayed.
NONE
# Stop button
# Bouton stop (*)
=no|yes|[condition], question|substitution
non|oui|[condition], question|substitution
Whether or not the Interruption button is displayed. If set to "yes" or to a true display condition between square brackets, a second parameter is passed after a comma: the name of the question where the respondent is directed after clicking on the Interruption button, or a substitution that will compute to a name when the questionnaire is displayed.no
# Thermometer text
# Texte thermometre (*)
=textText displayed above the progress thermometer. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Progression in the questionnaire
# Thermometer colour
# Couleur thermometre (*)
=#FFFFFFColour of the thermometer.# M_ColumnTitleColour
# Thermometer width
# Largeur thermometre (*)
=pixelsNumber of pixels used by the width of the thermometer.200
# Thermometer height
# Hauteur thermometre (*)
=pixelsNumber of pixels used by the height of the thermometer.10
# Thermometer border width
# Largeur bordure thermometre (*)
=pixelsNumber of pixels of the thermometer border.1
# Thermometer border colour
# Couleur bordure thermometre (*)
=#FFFFFFColour of the thermometer border.#CCCCCC
# Thermometer gap width
# Largeur espace thermometre (*)
=pixelsNumber of pixels of the gap between the thermometer border and the thermometer itself.1
# Thermometer gap colour
# Couleur espace thermometre (*)
=#FFFFFFColour of the gap between the thermometer border and the thermometer itself.#FFFFFF
# Second line of buttons
# Seconde ligne de boutons (*)
=yes|noControls the display of the text line which follows the buttons and thermometer at the bottom of the page. Can be used to attach "alt" and "title" text to graphical Next, Back and language buttons while avoiding the text equivalent below the buttons.Yes
# Image left
# Image gauche (*)
=image_file_nameName of the image file to be used as a "Previous" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Image right
# Image droite (*)
=image_file_nameName of the image file to be used as a "Next" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Submit image
# Image submit (*)
=image_file_nameName of the image file to be used as a "Next" button if the question has a SUBMIT question type. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Language image
# Image langue (*)
=image_file_nameName of the image file to be used as a language button. The path must be specified. In left undefined, a standard HTML button is displayed. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Image stop=image_file_nameName of the image file to be used as a "Stop" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Image unlock=image_file_nameName of the image file to be used as an "Unlock" button. The path must be specified. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Radio button suffix (retired)
Suffixe des boutons radios (retiré) *
=textSuffix added to the names of the image files used to replace radio buttons and check boxes. Substitutions are honoured.. The image files may reside in the project directory or in the resource directory (gr/). The following image types are sought (in this order): png, gif, jpg. Ideally, images should be between 12 and 15 pixel square. Eight images must be defined in a set: cboxCheckedDisabled, cboxDisabled, cboxChecked, cbox, radioCheckedDisabled, radioDisabled, radioChecked, radio (e.g., cboxCheckedDisabledGREEN.png). The following sets are predefined: BLUE, GREEN, PURPLE, RED, YELLOWnone
# Radio button directory
# Repertoire des boutons radios *
=textDirectory where the radio button and check box images are found (see # Radio button suffix). It must be a subdirectory of the instance root directory. Substitutions are honoured..gr/
APPEARANCE CONTROL (messages)
# Mandatory question
# Question obligatoire (*)
=HTML textInserts the HTML text after the question or note text of a mandatory question (which has a minimum number of answers of at least 1). The text can use HTML coding such as <SPAN CLASS=ERREUR>*</SPAN>. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
(DEPRECATED)
# General error message
# Message erreur general (*)
=textText displayed at the top of the page if an error was identified in the responses provided. HTML codes are interpreted but the whole text is formatted using the .ERREUR style. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Incomplete or erroneous data were identified on this page. Please see below.
# Demo message
# Message demo (*)
=textText displayed at the top of the page if the system functions in demo mode (no data saving). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.DEMONSTRATION MODE. Responses will not be recorded.
# Frozen data message
# Message donnees figees (*)
=textText displayed at the top of the page once # Freeze data if is true (no modifying saving). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.The data in this case are frozen. No change will be recorded.
# System message [message number]
# Message du systeme [message number] (*)
= Redefines (and customizes) system messages. "[message number]" must be substituted for the actual number of the system message to affect. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Enforce response length
# Contraindre la longueur des reponses (*)
=yes|noLimits a multi-line alpha-numeric response to the number of characters specified in the .scw file (if JavaScript is activated in the respondent's browser). Also determines whether CallWeb produces an error message if a multi-line alpha-numeric response is longer than the open-part length defined in the questionnaire.no
APPEARANCE CONTROL (access code page)
# Access page header=yes|no
oui|non
Whether or not to display the page header (# Entete LA) on the access code request page.yes
# Access page footer=yes|no
oui|non
Whether or not to display the page footer (# Pied LA) on the access code request page.yes
# Access request telkey=textText displayed before the input box on the access code request page (when no access code is offered). HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your access code, please</P>
# Access give telkey=textText displayed before the input box on the access code request page (when a new access code has been offered). HTML codes are interpreted. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your access code is <B>{$_telkey}</B>.<BR>Keep it to be able to access your answers in the future.</P>
# Access send telkey button=textText of the Send button on an access code request page. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Send
# Access send telkey image=image_file_nameName of the image file to be used as the Send button on an access code request page. The path must be specified. In left undefined, a standard HTML button is displayed. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.none
# Access no telkey button=textText of the "I have no access code" button on the access code request page (# Survey type = Open Offered). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.If you don't have an access code, click here
# Access bad telkey=textText displayed when an incorrect access code is supplied (# Survey type = Closed or Open Offered). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>The access code supplied (<EXECUTE>$formdata{_telkey}</EXECUTE>) is not valid.</P>
# Access bad telkey 7=textText displayed when an incorrect access combination is supplied (# Survey type = Password). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>This combination of access code (<EXECUTE>$formdata{_telkey}</EXECUTE>) and password is not valid.</P>
# Access request access code in type 3=textText displayed in # Survey type = Open Combination to request an access code (the syntax rules for the code could be inserted in this statement). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your <B>access code</B>, please.<BR>If you don't have an access code yet, please create one.</P>
# Access request password in type 3=textText displayed in # Survey type = Ouvert Combinaison to request a password (the syntax rules for the password could be inserted in this statement). Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your <B>password</B>, please.<BR>If you don't have a password yet, please create one.</P>
# Access bad combination in type 3=textText displayed upon finding a bad password for an existing access code in # Survey type = Ouvert Combinaison. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>This access code already exists or the access code/password combination is invalid.</P>
# Access bad telkey pattern in type 3=textText displayed upon finding an access code which does not conform to # ACCESSTELKEYPATTERN. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>The access code does not follow the expected pattern.</P>
# Access bad password pattern in type 3=textText displayed upon finding a password which does not conform to # ACCESSPASSWORDPATTERN. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>The password does not follow the expected pattern.</P>
# Access request password in type 7 (*)=textText displayed in # Survey type = Password to request a password. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER>Your <B>password</B>, please.</P>
# Access request new password in type 7 (*)=textText displayed in # Survey type = Password to offer the entry of a new password. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<p align="center">If you want to change your <b>password</b>, enter the existing password above, then type a new password below twice.</p>
# Access bad telkey pattern in type 7 (*)=textText displayed upon finding a password which does not conform to # ACCESSTELKEYPATTERN. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.<P ALIGN=CENTER CLASS=ERREUR>The password does not follow the expected pattern.</P>
# Access telkey pattern=regular expressionRegular expression used to described the pattern of acceptable access codes in # Type enquete = 3. Do not include the starting and ending slashes but escape the expression according to rules. The regular expression is assumed to start with ^ and end with $ — that is, the entire user ID supplied must conform to the pattern..+
# Access password pattern=regular expressionRegular expression used to described the pattern of acceptable passwords in # Type enquete = 3. Do not include the starting and ending slashes but escape the expression according to rules. The regular expression is assumed to start with ^ and end with $ — that is, the entire password supplied must conform to the pattern..+
APPEARANCE CONTROL (relation)
# Text relation add=textIn the context of a RELATION question, text displayed on the button to add a child. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Add
# Text relation refresh=textIn the context of a RELATION question, text displayed on the button to refresh the page. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Refresh
# Text relation delete=textIn the context of a RELATION question, text displayed on the button to delete a child. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Erase (immediate effect)
# Text relation modify=textIn the context of a RELATION question, text displayed on the button to modify a child. Different linguistic versions may be defined by inserting [xx] codes using ISO language codes; see # URL for an example.Modify
APPEARANCE CONTROL (CATI and robot)
# Read
# Lire
=textText inserted before an answer category label with behaviour code L. Can contain HTML code. Substitutions are honoured.<IMG SRC="gr/lire.gif">&nbsp;
# Do not read
# Ne pas lire (*)
=textText inserted before an answer category label with behaviour code P. Can contain HTML code. Substitutions are honoured.<IMG SRC="gr/nepaslire.gif">&nbsp;
# Display min max
# Affiche min max (*)
=yes|no
oui|non
Whether or not the minimum and maximum number of answers are displayed in the note field.no
# Robot caller id=telephone numberTelephone number displayed by the IVR robot.none
# Robot caller id text=texttext displayed by the IVR robot.none
# Caller id=telephone numberTelephone number displayed by the Asterisk server placing calls on behalf of interviewers.none
# Caller id text=texttext displayed by the Asterisk server placing calls on behalf of interviewers.none
OTHER
# No deep mobile check (*)=yes|noSkips the deep check for mobile devices using the BrowserDetect module.no
## textComment; not subject to compilation.none
#> textContinuation line. The text on this line is added to that of the previous linenone

* This value is used internally by CallWeb.