Actions

Difference between revisions of "URL fields/en"

From LimeSurvey Manual

(Updating to match new version of source page)
(Updating to match new version of source page)
 
(4 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
=Introduction=
 
=Introduction=
 +
  
 
URL fields parameters can be used in the:
 
URL fields parameters can be used in the:
* End URL field of the survey (see the [[Survey texts|survey texts wiki section]]);
+
* [[URL_fields#End_URL_field|End URL]] field of the survey (see [[Text elements|survey text elements]])  
* URL field of the quota rule (read more about [[Survey quotas|survey quotas here]])
+
* URL field of the quota rule (read more about survey quotas [[Survey quotas|here]])
* Start URL field of the survey.
+
* [[URL_fields#Start_URL|Start URL]] field of the survey (see [[Text elements|survey text elements]]).
  
  
 
=End URL field=
 
=End URL field=
  
At the end of a survey or when a quota causes a survey to terminate, there is the option to set an ending URL. This URL is presented to the participant who has finished the survey on the end page or you can optionally set the participant to be automatically redirected to the respective URL. This can be done by filling in the End URL option from the [[Survey texts]] panel and by enabling the automatic load of the end URL from the [[Presentation]] panel once a survey is completed .
 
  
However, there are a number of fields available to be used to enhance the functionality of this URL.
+
'''At the end of a survey or when a quota causes a survey to terminate''', there is the option to set an ending URL. This URL is presented to the participant who has finished the survey on the end page or you can optionally set the participant to be automatically redirected to the respective URL. This can be done by filling in the End URL option from the [[Text elements|Survey text elements]] panel and by enabling the automatic load of the end URL from the [[Presentation]] panel once a survey is completed .
 +
 
 +
But, LimeSurvey offers the possibility to use URL fields in many other ways which in turn allows you to enhance the functionality of your survey.
  
  
 
==Basic fields==
 
==Basic fields==
  
You can use '''{SAVEDID}''', '''{TOKEN}''', '''{SID}''' and '''{LANG}''' in this URL:
+
 
 +
You can use '''{SAVEDID}''', '''{TOKEN}''', '''{SID}''', and '''{LANG}''' in the end URL:
 
*'''SAVEDID''' is the id assigned to this particular submission;
 
*'''SAVEDID''' is the id assigned to this particular submission;
 
*'''TOKEN''' is the token used to participate in the survey;
 
*'''TOKEN''' is the token used to participate in the survey;
Line 30: Line 33:
  
 
<code>
 
<code>
<nowiki>http://www.limesurvey.org/test.php?var1={SAVEDID}&var2={TOKEN}&var3={SID}&lang={LANG}</nowiki>
+
<nowiki>https://www.limesurvey.org/test.php?var1={SAVEDID}&var2={TOKEN}&var3={SID}&lang={LANG}</nowiki>
 
</code>
 
</code>
 +
  
 
==Answer fields==
 
==Answer fields==
  
You can also use '''{INSERTANS:SGQA}'''. This URL field allows you to add the response to a specific question in the survey into the end URL. This can be useful for sending a response to an external script (ie an email address collected during the survey).
+
 
 +
You can also use '''{INSERTANS:SGQA}''' or [[Expression_Manager#Qcode_Variable_Naming|Expression Manager variables]]. This URL field allows you to add the response to a specific question in the survey into the end URL. This can be useful for sending a response to an external script (i.e. an email address collected during the survey).
  
 
For example:
 
For example:
  
 
<code><nowiki>
 
<code><nowiki>
http://www.limesurvey.org/test.php?email={INSERTANS:1234X56X7}
+
https://www.limesurvey.org/test.php?email={EMAILADDRESS}
 
</nowiki></code>
 
</nowiki></code>
  
 +
It is important to add "newtest/y" to the URL to force a new session whenever your survey participants wants to fill in your survey.
 +
 +
<code><nowiki>
 +
https://exampletest.limequery.com/index.php/survey/index/sid/48315/newtest/Y?48315X2X222007=Y&48315X2X222008=Y
 +
</nowiki></code>
 +
 +
In the above scenario, the URL pertains to a survey with ID = 48315, group =2, question=22 and answercodes = 2007 and 2008.
 +
 +
{{Note|For more details on the necessity of "newtest/y", check the following [https://www.limesurvey.org/forum/installation-a-update-issues/108334-use-case-for-not-using-newtest-y forum thread].}}
  
 
==Expressions==
 
==Expressions==
  
You can also use any [[Expression Manager|Expression Manager]] expression here.
+
 
 +
You can also use any [[Expression Manager - presentation|expression]] here.
  
 
For example:
 
For example:
Line 53: Line 68:
 
http://www.limesurvey.org/test.php?gender={if(sex=='Male','M','F')}&name;={name}
 
http://www.limesurvey.org/test.php?gender={if(sex=='Male','M','F')}&name;={name}
 
</nowiki></code>
 
</nowiki></code>
 +
  
 
==Passthrough fields==
 
==Passthrough fields==
 +
  
 
To use passhtrough fields, you have to define any additional parameters that should be passed into the end URL in the survey settings (read more about the LimeSurvey [[Panel integration|panel integration]] feature). To use such a parameter in the end URL, just insert the tag '''{PASSTHRU:<paramname>}''' where ''<paramname>'' is the name of your input parameter.
 
To use passhtrough fields, you have to define any additional parameters that should be passed into the end URL in the survey settings (read more about the LimeSurvey [[Panel integration|panel integration]] feature). To use such a parameter in the end URL, just insert the tag '''{PASSTHRU:<paramname>}''' where ''<paramname>'' is the name of your input parameter.
  
Let's suppose that you defined [[Panel integration|a parameter]] named "foobar". The survey is started with a link like
+
Let's suppose that you defined [[Panel integration|a parameter]] named "foobar". The survey is started with a link like this one:
  
 
<code>
 
<code>
<nowiki>http://example.org/limesurvey/index.php/survey/index/sid/12345/lang/eb?foobar=XYZ123</nowiki>
+
<nowiki>https://example.org/limesurvey/index.php/survey/index/sid/12345/lang/eb?foobar=XYZ123</nowiki>
 
</code>
 
</code>
  
 
The XYZ123 is the value you want "to pass".
 
The XYZ123 is the value you want "to pass".
  
The end URL of a survey with the following URL <code><nowiki>http://www.limesurvey.org/test.php?foobarout={PASSTHRU:foobar}</nowiki></code> would then be converted to <code><nowiki>http://www.limesurvey.org/test.php?foobarout=XYZ123</nowiki></code>
+
The end URL of a survey with the following URL <code><nowiki>https://www.limesurvey.org/test.php?foobarout={PASSTHRU:foobar}</nowiki></code> would then be converted to <code><nowiki>https://www.limesurvey.org/test.php?foobarout=XYZ123</nowiki></code>
  
 
{{Alert|title=Attention|text=Please note that the passthrough fields can be used only with LimeSurvey 2.x or later!}}
 
  
 
=Start URL=
 
=Start URL=
Line 76: Line 91:
 
==Prefilling a survey using GET parameters==
 
==Prefilling a survey using GET parameters==
  
You can prefill all answer except upload and equation question type. You can use [[Expression Manager#Access to Variables|qcode naming]] for the parameters and set the value for single question types. For multiple question type, you must use a [[SGQA identifier]].
 
  
Then answer are set to the pre-filled value, for single choice option, you must use the code of the answer, for multi choice question, you must use Y if you want to check the answer.
+
You can prefill all answers except the [[Question_type_-_File_upload|upload]] and [[Question type - Equation|equation question type]]. You can use [[Expression Manager - presentation#Access to Variables|qcode naming]] for parameters and set the value for single question types. For the multiple question type, you must use a [[SGQA identifier]].
 +
 
 +
Then, answers are set to the prefilled value. For single choice option, you must use the code of the answer, for multi choice question, you must use Y if you want to prefill the answer.
 +
 
 +
Here are some start URL examples:
  
Here are some start URL '''examples''':
+
* <code><nowiki>http://ls.example.org/1234?QTEXT=prefilled</nowiki></code> : Fill in the question with code QTEXT with <nowiki>'prefilled'</nowiki>
 +
* <code><nowiki>https://ls.example.org/1234?MULTI_SQ001=prefilled</nowiki></code> {{NewIn|v=3.14.1}} : Fill in the subquestion SQ001 of question with title MULTI with <nowiki>'prefilled'</nowiki> (for a multiple text question for example).
 +
* <code><nowiki>https://ls.example.org/1234?single=-oth-&single_other=Other%20text</nowiki></code> {{NewIn|v=3.14.1}} : Select the "other" answer option of a single choice question and fill in the other value with the text "Other text".
 +
* <code><nowiki>https://ls.example.org/1234?1234X1X1SQ001=prefilled</nowiki></code> : Fill in the subquestion SQ001 of question with ID: 1 from group with ID: 1 with <nowiki>'prefilled'</nowiki>
 +
* <code><nowiki>https://ls.example.org/1234?1234X1X1SQ001=A1</nowiki></code> : Preselect the answer option <nowiki>'A1'</nowiki> of the subquestion SQ001 of question with ID: 1 from group that has ID: 1.
 +
* <code><nowiki>https://ls.example.org/1234?1234X1X1SQ001=Y</nowiki></code> : Preselect the subquestion SQ001 of the question that has the ID 1, from the group that has ID: 1.
  
* <code><nowiki>http://ls.example.org/1234?QTEXT=prefilled</nowiki></code> : Fill the question with code Q1 with <nowiki>'prefilled'</nowiki>
 
* <code><nowiki>http://ls.example.org/1234?1234X1X1SQ001=prefilled</nowiki></code> : Fill the sub question SQ001 of question number 1 in group 1 with <nowiki>'prefilled'</nowiki>
 
* <code><nowiki>http://ls.example.org/1234?1234X1X1SQ001=A1</nowiki></code> : Check the answer <nowiki>'A1'</nowiki> at the sub question SQ001 of question  number 1 in group 1 .
 
* <code><nowiki>http://ls.example.org/1234?1234X1X1SQ001=Y</nowiki></code> : Check the  sub question SQ001 at question  number 1 in group 1.
 
  
 
{{Hint|Text=GET parameters use "?" for the first parameter and "&" for the subsequent ones. If you already have "?" in your URL, you must use "&" to add more GET parameters.}}
 
{{Hint|Text=GET parameters use "?" for the first parameter and "&" for the subsequent ones. If you already have "?" in your URL, you must use "&" to add more GET parameters.}}
{{Hint|Text=The extra GET parameters are only filled when the survey starts anew. Therefore, for testing, always add newtest=Y to start a fresh survey. For example: <code><nowiki>http://ls.example.org/1234?QTEXT=prefilled&newtest=Y</nowiki></code>}}
+
 
 +
 
 +
{{Hint|Text=The extra GET parameters are only filled in when the survey starts anew. Therefore, for testing, always add newtest=Y to start a fresh survey. For example: <code><nowiki>http://ls.example.org/1234?QTEXT=prefilled&newtest=Y</nowiki></code>}}
  
  
 
==Prefilling a survey using GET parameters using URL parameters tab==
 
==Prefilling a survey using GET parameters using URL parameters tab==
  
You can prefill (sometimes easier) answers using URL parameters which can be configured in the [[Panel integration|panel integration]].
+
 
 +
You can prefill (sometimes easier) answers using URL parameters which can be configured in [[Panel integration|panel integration]].
  
  
 
==Prefilling and hiding the answer==
 
==Prefilling and hiding the answer==
  
You can use hidden advanced settings to hide the question from your respondents. If so, the question still remains prefilled.
+
 
 +
You can use the [[QS:Hidden|hidden attribute]] of a question to hide it from your respondents. If so, the question still remains prefilled.

Latest revision as of 21:35, 4 April 2019

Other languages:
Deutsch • ‎English • ‎français • ‎日本語 • ‎Nederlands


Introduction

URL fields parameters can be used in the:


End URL field

At the end of a survey or when a quota causes a survey to terminate, there is the option to set an ending URL. This URL is presented to the participant who has finished the survey on the end page or you can optionally set the participant to be automatically redirected to the respective URL. This can be done by filling in the End URL option from the Survey text elements panel and by enabling the automatic load of the end URL from the Presentation panel once a survey is completed .

But, LimeSurvey offers the possibility to use URL fields in many other ways which in turn allows you to enhance the functionality of your survey.


Basic fields

You can use {SAVEDID}, {TOKEN}, {SID}, and {LANG} in the end URL:

  • SAVEDID is the id assigned to this particular submission;
  • TOKEN is the token used to participate in the survey;
  • SID is the survey ID;
  • LANG is the language code.

For example:

https://www.limesurvey.org/test.php?var1={SAVEDID}&var2={TOKEN}&var3={SID}&lang={LANG}


Answer fields

You can also use {INSERTANS:SGQA} or Expression Manager variables. This URL field allows you to add the response to a specific question in the survey into the end URL. This can be useful for sending a response to an external script (i.e. an email address collected during the survey).

For example:

https://www.limesurvey.org/test.php?email={EMAILADDRESS}

It is important to add "newtest/y" to the URL to force a new session whenever your survey participants wants to fill in your survey.

https://exampletest.limequery.com/index.php/survey/index/sid/48315/newtest/Y?48315X2X222007=Y&48315X2X222008=Y

In the above scenario, the URL pertains to a survey with ID = 48315, group =2, question=22 and answercodes = 2007 and 2008.

Help.pngFor more details on the necessity of "newtest/y", check the following forum thread.

Expressions

You can also use any expression here.

For example:

http://www.limesurvey.org/test.php?gender={if(sex=='Male','M','F')}&name;={name}


Passthrough fields

To use passhtrough fields, you have to define any additional parameters that should be passed into the end URL in the survey settings (read more about the LimeSurvey panel integration feature). To use such a parameter in the end URL, just insert the tag {PASSTHRU:<paramname>} where <paramname> is the name of your input parameter.

Let's suppose that you defined a parameter named "foobar". The survey is started with a link like this one:

https://example.org/limesurvey/index.php/survey/index/sid/12345/lang/eb?foobar=XYZ123

The XYZ123 is the value you want "to pass".

The end URL of a survey with the following URL https://www.limesurvey.org/test.php?foobarout={PASSTHRU:foobar} would then be converted to https://www.limesurvey.org/test.php?foobarout=XYZ123


Start URL

Prefilling a survey using GET parameters

You can prefill all answers except the upload and equation question type. You can use qcode naming for parameters and set the value for single question types. For the multiple question type, you must use a SGQA identifier.

Then, answers are set to the prefilled value. For single choice option, you must use the code of the answer, for multi choice question, you must use Y if you want to prefill the answer.

Here are some start URL examples:

  • http://ls.example.org/1234?QTEXT=prefilled : Fill in the question with code QTEXT with 'prefilled'
  • https://ls.example.org/1234?MULTI_SQ001=prefilled (New in 3.14.1 ) : Fill in the subquestion SQ001 of question with title MULTI with 'prefilled' (for a multiple text question for example).
  • https://ls.example.org/1234?single=-oth-&single_other=Other%20text (New in 3.14.1 ) : Select the "other" answer option of a single choice question and fill in the other value with the text "Other text".
  • https://ls.example.org/1234?1234X1X1SQ001=prefilled : Fill in the subquestion SQ001 of question with ID: 1 from group with ID: 1 with 'prefilled'
  • https://ls.example.org/1234?1234X1X1SQ001=A1 : Preselect the answer option 'A1' of the subquestion SQ001 of question with ID: 1 from group that has ID: 1.
  • https://ls.example.org/1234?1234X1X1SQ001=Y : Preselect the subquestion SQ001 of the question that has the ID 1, from the group that has ID: 1.


Notice.png
Hint: GET parameters use "?" for the first parameter and "&" for the subsequent ones. If you already have "?" in your URL, you must use "&" to add more GET parameters.


Notice.png
Hint: The extra GET parameters are only filled in when the survey starts anew. Therefore, for testing, always add newtest=Y to start a fresh survey. For example: http://ls.example.org/1234?QTEXT=prefilled&newtest=Y


Prefilling a survey using GET parameters using URL parameters tab

You can prefill (sometimes easier) answers using URL parameters which can be configured in panel integration.


Prefilling and hiding the answer

You can use the hidden attribute of a question to hide it from your respondents. If so, the question still remains prefilled.