Widgets are programming components – the visible and invisible elements – which constitute the online surveys in IntelliSurvey and enable the Survey Programmers (SPs) to perform a function or action. Each widget is composed of individual lines of code called tags. Widgets can also contain Perl, JavaScript, and other syntax to generate complex, custom actions.
Below is a list of many of the commonly used widgets in our software. Click the links for additional information on these topics.
Most commonly used widgets
Questions and variables
Questions make up the "bones" of a survey. Some store free text, while others have a pre-defined set of options. The majority of questions are displayed to respondents, while others are hidden. Hidden questions are usually called variables. They may store data for reporting purposes, or they might perform a logical function to make a survey perform as desired. All questions and variables defined within survey source code are represented within the survey data set. Here are a few notable articles on questions and variables:
Tables
A table, also known as a "grid," "battery," or "matrix," is an easy way to group similar questions that use the same set of answer choices. A table is displayed with rows and columns. The rows usually represent the questions, and the columns usually offer a set of pre-defined answer choices (options) that apply to each question in the row. Typically, the response options are presented as a scale/rating (single choice, radio buttons), but can also be presented as multi-select options (checkboxes).
Lists and spreadsheets
Lists and spreadsheets are collections of elements (items) organized in a sequential order. Lists are a fundamental component of IntelliSurvey's Survey Programming Language (SPL). They are used as question options, table rows/columns, or for repeating questions using blocks or loops, and more.
Other widgets
'app config'
The appconfig
widget enables SPs to define global parameters for a survey. Generally speaking, it is placed at the beginning of a survey's source, but additional appconfig
widgets can be applied later in the code to modify the configurations established in the initial definition.
Blocks
Blocks offer programmers the ability to define content that can be referenced repeatedly, or "looped," throughout a survey. Blocks are most commonly used when a survey is designed to ask a series of questions for individual items in a set, e.g., brands.
Chapters
Chapters organize a survey into distinct sections, much like a table of contents. Reports reflect this organization by grouping questions and variables by chapter.
Classes
A class is a labeled set of tags which can be referenced by other widgets. Widgets referencing a class inherit all of the tags and values defined in the class. Classes promote a consistent, streamlined, and standardized appearance to surveys, making it easy to configure many widgets at one time.
Comments
Survey programming comments are ignored by the IntelliSurvey code parser. In the code editor, the lines are automatically recognized and grayed out. Comments are useful for leaving programming notes in a survey.
Defaults
The set defaults
widget permits SPs to include a variety of tags and values which will be inherited by all widgets within its scope. This is intended to allow SPs to easily control settings for a group of questions, or the whole survey. Commonly, set defaults
is a placed at the beginning of the survey source, so that a few basic rules can be in place for the full survey, but additional defaults can be added for later survey sections to establish a new set of rules for that section of the survey.
'dynamic value'
The dynamic value
function sets a question's value based on another question or variable. The questions or variables controlling the value that is applied, as well as the target question itself, can be any question type. All question references can be located on the same survey page, different survey pages, or a combination of both. Because of this flexibility, dynamic value
can be used for simple auto-coding of closed end values, respondent-facing math calculations, and so on.
'end survey'
The endsurvey
widget is used to end interviews. It assigns respondents a finishing status and can optionally redirect them to a different website.
'goto'
The goto
tag routes respondents to a question or labeled group or page. After routing, the survey continues from that point and follows any page or group conditions therein. goto
can be used as a widget or element decorator.
Groups
Groups are used to group together survey content (questions, text, logic, etc.). Generally, any survey content embedded between the start group
widget and its corresponding end group
widget are grouped together – sometimes, sharing the same page, logic conditioning, or other attributes defined by the group.
'import data'
import data
is a widget which allows SPs to define and populate variables with data. These are not survey variables, and they do not exist in the data. These variables exist in programming only and are used to facilitate survey function.
Labels
The label
widget permits survey programmers to add an alphanumeric name to a survey page. Such a label is useful for page routing with goto
, or deferred term and deferred quota routing.
Libraries
Libraries are stored sections of source code that can be inserted into any survey. Libraries are useful for reusing source code so that it need not be rewritten each time it it is required. Some examples of libraries include: reusable lists, groups, questions, tables, classes, set text or set conditioned text items, and so on.
'new page'
Use newpage
to generate page breaks between survey content. If a page has no visible content, it will automatically submit, preventing a blank page from displaying to respondents.
'send email'
Use the send email
widget to send an email from a survey. A survey programmer can define email parameters as well as a condition for sending messages. This might be used to inform respondents after they have finished the survey that they will be compensated for their time, to send additional information that a respondent might have opted-in to, and so on.
'set status'
IntelliSurvey by default includes many common options for the respondent status field status
. To define additional statuses, use the setstatus
widget.
'set term'
setterm
terminates respondent interviews. It is intended to compliment the termif
and termtext
tags, to cover situations where there is no locally available widget available to contain those tags.
'set value'
setvalue
populates a given survey field with a particular value. It is most commonly used for coding of skipped fields or populated derived fields, and can be defined as a standalone variable or element decorator.
Testnotes
Testnotes appear in the Testmode Toolbar. They are useful for sharing information with survey testers. They do not appear in survey reports or on screen to respondents using a live survey link.
Text tags
Text tags are a versatile tools that allow SPs to communicate with respondents, provide guidance, and enhance the user experience in various ways. We group the text tags based on whether they are for general use, single use, or multi-use.
'validate'
The validate
tag evaluates Boolean criteria for validation expressions when the page submits. Each validation expression that fails causes its associated message to appear at the top of the survey page. If the respondents do not meet the criteria in the validation expression, they cannot proceed past the page.
Comments
0 comments
Please sign in to leave a comment.