Actions

Questions - introduction

From LimeSurvey Manual

Revision as of 12:18, 8 January 2018 by Cdorin (talk | contribs)


  Attention : Please note that the explanations and screenshots from this wiki section are based on LimeSurvey 3.


Introduction

Once you created your question groups, you can start adding questions within each group. There are multiple ways through which you can do that. Three solutions are presented below:



  • Access a question group and look for the quick add question action button;



  • Check the Overview tab, and look for the add new question quick button located in the Survey quick actions section.


File:Overview - add new question.png


Field descriptions

When adding a question, you will be asked about the "Question Code", "Question", and "Help" texts, and the general question options. To change the question group of a question, look in the general options of a question for the question group option and select from the dropdown list the desired group.



  • Question code: Your ID, number or code for the question - used for quick identification. This field is normally not displayed to people taking the survey unless specified in the Presentation panel - Show question number and/or code. It is especially useful if you wish to use the LimeSurvey assessments feature and/or the expression manager.
Note: The question code must be unique across the same survey, must start with a letter, and can only contain alphanumeric characters. If you ever try to export your data to SPSS or R, you will discover that the "qcode" becomes the value label, so you have to make the code unique. For the time being, LimeSurvey will support legacy code values, but the Show Logic File button will color-code such questions so that you know you should change their names.
  • Question: This is the actual question being asked. There is no real limit to the length of the question here, however if you want to explain how to fill out the question, leave that for the "Help" field. HTML-code can be used, e.g., for including images:
       
<img src="http://www.yourdomain.com/yourpics/pic.jpg">

<img src="pic.jpg"></nowiki>. The HTML WYSIWYG editor usually helps with the most important tasks, like including images, etc.

  • Help: This is an optional field. It is useful if a question needs some explanation, or you want to explain how it should be answered. When you put text in this field, a "Question Mark" icon appears on the survey entry screens with the help text right beside.

General options

  • Question type: This determines the type of response the survey allows. View the Question types section for a description of the various options available.
  • Validation: This feature is available on all free text type or numeric questions. You can use standard Regular Expressions in this field to validate the responses to the question, and if the responses don't validate against this expression, the user will be prompted to try again before they can progress.
  • Other?: Depending upon your chosen 'question type' this option may appear. It allows you to specify that an "other" option be presented in some of the list question types.
  • Mandatory?: For all question types this setting allows you to require users to answer the question, before they can move on to the next question. For ranking question this means all items have to be ranked.
  • Relevance: This is the Boolean equation that specifies the conditions for this question. If it evaluates to true, the question is show; otherwise it is hidden and since it is irrelevant, data for that question is NULLed in the database. Details about how to use Relevance can be found on the Expression Manager pages.
  • Show advanced question settings: The advanced question settings are different for each question type. Please consult the documentation for your particular question type


Importing a question

At the bottom of the New Question Form you will find a file selection box to import a question file. Here you can import any question file (*.lsq or *.csv (old format)) you previously exported - for example this is useful if you want to reuse a question from another survey.

Important: If you import a question there will always be a new question created. The original question will not be overwritten. If you want to copy a question inside the same survey it is easier to select the existing question and then use the "Copy current question" button.


Information from tokens table

You can insert information/text from the tokens table into your question so that it can show context related information. For LimeSurvey to do this, the survey needs to be set as NOT Anonymous (ie: tracked), and it needs to have a tokens table.

The fields available for this are:

{TOKEN:FIRSTNAME} inserts the value from the "firstname" field in the tokens table
{TOKEN:LASTNAME} inserts the value from the "lastname" field in the tokens table
{TOKEN:EMAIL} inserts the value from the "email" field in the tokens table
{TOKEN:ATTRIBUTE_1} inserts the value from the "attribute_1" field in the tokens table
{TOKEN:ATTRIBUTE_2} inserts the value from the "attribute_2" field in the tokens table

To use this functionality you must type the field text into your question exactly as listed above. Example:

Hello {TOKEN:FIRSTNAME}. We sent an email to you using this address {TOKEN:EMAIL}. Is this correct?

Another example with more customisation, but using JavaScript (please see Optional settings on how to allow JavaScript when setting up questions and why it's not always a good idea. To use JavaScript you will need to deactivate the XSS filter in the Global settings):

Hello {TOKEN:FIRSTNAME}. We sent an email to you using this address {TOKEN:EMAIL}. Is this correct?
What do you as a {TOKEN:ATTRIBUTE_1} think about your
<script type="text/javascript" language="Javascript">;
   var job='{TOKEN:ATTRIBUTE_1}';
   if (job=='worker') {
      document.write ('bosses')
   } else {
      document.write('workers')
   }
</script>
?


Starting in Version 1.92, you can use Expression Manager to do such tailoring without needing JavaScript. The equivalent in Version 1.92 is the following:


What do you as a {TOKEN:ATTRIBUTE_1} think about your {if(TOKEN:ATTRIBUTE_1=='worker','bosses','workers')}?


Information from previous answers

There is currently also the capacity to insert the answer of previous questions into the text of an answer:

  • You can refer to answers on the same page, and even dynamically update tailored messages as responses change on the page.
  • You can use question code naming - for more details, see the Expression Manager documentation

A wizard has been integrated in the WYSIWYG HTML editor (FCKeditor), so that you can easily insert previous question/answer codes: this plugin is called the LimeReplacementFields. In order to use this feature, in the FCKeditor, click on the "lime between brackets" icon, and select a question from the select box. Only answers from previous pages are displayed.

LimeReplacementFields notice: when you want to delete a reference to a {name} tag, please select all chars from the openning bracket to the closing bracket and press delete: DO NOT erase it char by char with the Delete or Backspace key otherwise the field will appear again.


Styling Questions

It is possible to generally edit the question layout/design with CSS using the template editor.