<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gabrieljenik</id>
	<title>LimeSurvey Manual - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gabrieljenik"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Gabrieljenik"/>
	<updated>2026-08-10T17:49:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=General_FAQ&amp;diff=380511</id>
		<title>General FAQ</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=General_FAQ&amp;diff=380511"/>
		<updated>2025-09-05T15:52:22Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Reset Password with CLI - Added section for LS v6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
{{Note|The following answers have been provided by the LimeSurvey user community. In case you do not understand something or you are unsure about what you have to do next, you can address your question(s) to the rest of community members: https://forums.limesurvey.org. For professional help, please check our list of authorized partners: https://limesurvey.com.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Getting started= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
If you don&#039;t want to read half the manual to get a feeling what can be done with LimeSurvey, we recommend you to watch some YouTube video tutorials:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
*[https://www.youtube.com/watch?v=oyoq14XpkwA How to set up an account and survey installation]&lt;br /&gt;
*[https://www.youtube.com/watch?v=7134QebOQzY Question type - Array]&lt;br /&gt;
*[https://www.youtube.com/watch?v=aeb93vAe7R4 Assessments]&lt;br /&gt;
*[https://www.youtube.com/watch?v=s5OOzDoPjIU Placeholder fields]&lt;br /&gt;
*[https://www.youtube.com/watch?v=7N4xUQMWbJY Radio list]&lt;br /&gt;
*[https://www.youtube.com/watch?v=UI01hwrsiVk Copy/import survey]&lt;br /&gt;
*[https://www.youtube.com/watch?v=QEHyH1YbNEQ Import question]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
{{Note|If you know any good video out there, do not hesitate to share it with us.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I need a quick introduction for LimeSurvey== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
For a quick text introduction to LimeSurvey, check the following two links:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
*[[Quick start guide - LimeSurvey 2.50+|LimeSurvey 2.50+]]&lt;br /&gt;
*[[Quick start guide - LimeSurvey 3.0+|Limesurvey 3+]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
{{Alert|We are working at the moment on introductory videos to LimeSurvey.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Survey design and layout= &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I remove index.php from the URL path to get a shorter URL== &amp;lt;!--T:90--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
If you want to use fancy URLs (not have /index.php in every URL), please edit /application/config/config.php and change&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&#039;showScriptName&#039; =&amp;gt; true,&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&#039;showScriptName&#039; =&amp;gt; false,&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
For this to work properly, you must use an Apache webserver with a properly installed mod_rewrite module.&lt;br /&gt;
&lt;br /&gt;
===With nginx webserver=== &amp;lt;!--T:132--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
If you are using the [http://nginx.com/products/ Nginx] http server (with php running via FastCGI) and want to use the &#039;&#039;&#039;&#039;urlFormat&#039; =&amp;gt; &#039;path&#039;&#039;&#039;&#039; setting (see config.php), consider the following Nginx website configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;server {&lt;br /&gt;
    set $host_path &amp;quot;/PATH/TO/LIMESURVEY&amp;quot;;&lt;br /&gt;
    server_name  YOUR.SERVER.FQDN;&lt;br /&gt;
    root /PATH/TO/LIMESURVEY;&lt;br /&gt;
    charset utf-8;&lt;br /&gt;
    try_files $uri /index.php?$uri&amp;amp;$args;&lt;br /&gt;
    # Disallow reading inside php script directory, see issue with debug &amp;gt; 1 on note&lt;br /&gt;
    location ~ ^/(application|docs|framework|locale|protected|tests|themes/\w+/views) {&lt;br /&gt;
        deny  all;&lt;br /&gt;
    }&lt;br /&gt;
    # Disallow reading inside runtime directory&lt;br /&gt;
    location ~ ^/tmp/runtime/ {&lt;br /&gt;
        deny  all;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--T:139--&amp;gt;&lt;br /&gt;
# Allow access to well-known directory, different usage, for example ACME Challenge for Let&#039;s Encrypt&lt;br /&gt;
    location ~ /\.well-known {&lt;br /&gt;
        allow all;&lt;br /&gt;
    }&lt;br /&gt;
    # Deny all attempts to access hidden files&lt;br /&gt;
    # such as .htaccess, .htpasswd, .DS_Store (Mac).&lt;br /&gt;
        location ~ /\. {&lt;br /&gt;
        deny all;&lt;br /&gt;
    }&lt;br /&gt;
    #Disallow direct read user upload files&lt;br /&gt;
    location ~ ^/upload/surveys/.*/fu_[a-z0-9]*$ {&lt;br /&gt;
        return 444;&lt;br /&gt;
    }&lt;br /&gt;
    #Disallow uploaded potential executable files in upload directory&lt;br /&gt;
    location ~* /upload/.*\.(pl|cgi|py|pyc|pyo|phtml|sh|lua|php|php3|php4|php5|php6|pcgi|pcgi3|pcgi4|pcgi5|pcgi6|icn)$ {&lt;br /&gt;
        return 444;&lt;br /&gt;
    }&lt;br /&gt;
    #avoid processing of calls to unexisting static files by yii&lt;br /&gt;
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {&lt;br /&gt;
        try_files $uri =404;&lt;br /&gt;
    }&lt;br /&gt;
    location ~ \.php$ {&lt;br /&gt;
        fastcgi_split_path_info  ^(.+\.php)(.*)$;&lt;br /&gt;
        try_files $uri index.php;&lt;br /&gt;
        fastcgi_pass   127.0.0.1:9000; # Change this to match your settings&lt;br /&gt;
        fastcgi_index index.php;&lt;br /&gt;
        include fastcgi_params;&lt;br /&gt;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;&lt;br /&gt;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
{{Note|This disables access to files inside application. Some JavaScript and CSS files located within the application have to be readable with debug &amp;gt; 0. You can force the usage of the asset manager when the debug mode is enabled with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&#039;use_asset_manager&#039; =&amp;gt; 1,&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; in your config file (or remove &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;application&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; from the directory list&amp;lt;/code&amp;gt;).}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
The end result should look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Remove index.php steps.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How do I get rid of the &amp;lt;span style=&#039;color:red&#039;&amp;gt;*&amp;lt;/span&amp;gt; (red asterisk) of mandatory questions?== &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instructions for LimeSurvey 2=== &amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
In LimeSurvey 2.x, the red asterisk of mandatory questions is set within the template.css file (&amp;quot;asterisk&amp;quot; class). To hide it:&lt;br /&gt;
*Open the template editor&lt;br /&gt;
*Create a copy of the template you wish to modify&lt;br /&gt;
*Select the &amp;quot;template.css&amp;quot; file and search for the asterix class&lt;br /&gt;
*Add the following line at the end of the asterix class&amp;quot;.asterisk {display: none;}&amp;quot;.&lt;br /&gt;
*Save template.css&lt;br /&gt;
*Clear your browser cache so that the edited template.css is reloaded and not taken from cache.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Instructions for LimeSurvey 3=== &amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
The instructions are similar to the ones presented above for LimeSurvey 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
* Access the desired theme. If it is a default theme, create a copy of it by clicking on the &amp;quot;extend&amp;quot; button.&lt;br /&gt;
* Access the list of themes and click on the &#039;&#039;&#039;theme editor&#039;&#039;&#039; that corresponds to the newly created theme.&lt;br /&gt;
* On the left side, you can visualise the corresponding CSS files of your theme.&lt;br /&gt;
* Click on custom.css and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;.asterisk {display: none;}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
* Save the changes. The red asterisk that is usually displayed at the beginning of the question text is hidden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I embed a flash file?== &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
First, go to [[Global settings]] and deactivate the XSS-filter. Please also read up the implications deactivating that filter has on your instance. The following steps will &#039;&#039;&#039;not&#039;&#039;&#039; work if the filter is active.&lt;br /&gt;
#Navigate to the place in your survey where you want insert your Flash file. This can be anywhere where you can use the integrated HTML editor, for example in questions, subquestions, answers, survey welcome/end text and many more.&lt;br /&gt;
#Open the [[First login - Your user preferences#Popup|full-screen editor mode]] by clicking the &#039;LimeFitWin&#039; button on the editor tool-bar.&lt;br /&gt;
#On the full-screen editor tool-bar you will find a little button with a Flash symbol. Click on it. A dialog box will open.&lt;br /&gt;
#In this box you can give either the path to an existing Flash file somewhere or you click the &#039;Browse server&#039; button.&lt;br /&gt;
#If you clicked the &#039;Browse server&#039; button you will be presented with a file browser and on the bottom an file upload field. Choose now an existing file or upload a file first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
That&#039;s it! If you find this description incomplete please update it accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
{{Alert|title=Attention|text=The steps to use it in LimeSurvey 3 are similar. However, we do not recommend our users to use flash files!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How do I create a survey which is open to everyone?== &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
To create a survey that can be filled out by anyone, do not create a [[Survey participants|survey participants table]]! Share the survey link located on the [[Overview|overview panel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Public registration - mandatory fields== &amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
If you use a [[Survey participants|survey participants table]] and you also allow [[Participant_settings#Allow_public_registration|public registration]], then users will be prompted by the following message:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:non-mandatory public reg.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
As it can be observed above, only the email field is mandatory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
To have all three fields marked as being mandatory, please edit your survey theme accordingly. If you use &#039;&#039;&#039;Fruity&#039;&#039;&#039;, you have to go to the &#039;&#039;&#039;registration&#039;&#039;&#039; screen and see how the participants email field looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;twig&amp;quot;&amp;gt;&lt;br /&gt;
        {# Participants email #}&lt;br /&gt;
        &amp;lt;div class=&#039;{{ aSurveyInfo.class.registerformcolrowc }} form-group row&#039; {{ aSurveyInfo.attr.registerformcolrowc }}&amp;gt;&lt;br /&gt;
            &amp;lt;label {{ aSurveyInfo.attr.registerformcolrowclabel }} class=&#039;{{ aSurveyInfo.class.registerformcolrowclabel }}  control-label&#039;&amp;gt; {{ gT(&amp;quot;Email address:&amp;quot;) }} {{ include(&#039;./subviews/registration/required.twig&#039;) }}&amp;lt;/label&amp;gt;&lt;br /&gt;
            &amp;lt;div {{ aSurveyInfo.attr.registerformcolrowcdiv }}  &amp;gt;&lt;br /&gt;
                {{ C.Html.textField(&#039;register_email&#039;, aSurveyInfo.sEmail, ({&#039;id&#039; : &#039;register_email&#039;,&#039;class&#039; : &#039;form-control input-sm&#039;,&#039;required&#039; : true})) }}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
After that, make sure to edit the first name and last name fields correspondingly by adding the label: &amp;lt;syntaxhighlight lang=&amp;quot;twig&amp;quot;&amp;gt;{{ include(&#039;./subviews/registration/required.twig&#039;) }}&amp;lt;/syntaxhighlight&amp;gt; and this line which makes the field mandatory to be filled out: &amp;lt;syntaxhighlight lang=&amp;quot;twig&amp;quot;&amp;gt;&#039;required&#039; : true&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
The edited file should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;twig&amp;quot;&amp;gt;&lt;br /&gt;
        {# Participants first name #}&lt;br /&gt;
        &amp;lt;div class=&#039;{{ aSurveyInfo.class.registerformcolrow }} form-group row&#039; {{ aSurveyInfo.attr.registerformcolrow }}&amp;gt;&lt;br /&gt;
            &amp;lt;label for=&#039;register_firstname&#039; class=&#039;{{ aSurveyInfo.class.registerformcolrowlabel }} control-label &#039;&amp;gt;{{ gT(&amp;quot;First name:&amp;quot;) }} {{ include(&#039;./subviews/registration/required.twig&#039;) }}&amp;lt;/label&amp;gt; {# extra label #}&lt;br /&gt;
            &amp;lt;div class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
                {{ C.Html.textField(&#039;register_firstname&#039;, aSurveyInfo.sFirstName, ({&#039;id&#039; : &#039;register_firstname&#039;,&#039;class&#039; : &#039;form-control&#039;, &#039;required&#039; : true})) }} {# mandatory field #}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
{# Participants last name #}&lt;br /&gt;
        &amp;lt;div class=&#039;{{ aSurveyInfo.class.registerformcolrowb }} form-group row&#039; {{ aSurveyInfo.attr.registerformcolrowb }}&amp;gt;&lt;br /&gt;
            &amp;lt;label {{ aSurveyInfo.attr.registerformcolrowblabel }}  class=&#039;{{ aSurveyInfo.class.registerformcolrowblabel }} control-label &#039;&amp;gt;{{ gT(&amp;quot;Last name:&amp;quot;) }} {{ include(&#039;./subviews/registration/required.twig&#039;) }}&amp;lt;/label&amp;gt; {# extra label #}&lt;br /&gt;
            &amp;lt;div {{ aSurveyInfo.attr.registerformcolrowbdiv }} &amp;gt;&lt;br /&gt;
                {{ C.Html.textField(&#039;register_lastname&#039;, aSurveyInfo.sLastName, ({&#039;id&#039; : &#039;register_lastname&#039;, &#039;class&#039; : &#039;form-control&#039;, &#039;required&#039; : true})) }} {# mandatory field #}&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
Now, the public registration page should look like this (all the fields being mandatory):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:mandatory public reg.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hiding the language switcher == &amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
The steps to hide both the language switchers (near the survey title and on the top-right side of the page) are described in our wiki section dedicated to [[Multilingual_survey#Hints_.26_tips|multilingual surveys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hiding &amp;quot;Exit and clear survey&amp;quot; == &amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
In case you wish to hide the button &amp;quot;Exit and clear survey&amp;quot;, you have to edit the nav_bar.twig file located inside your survey theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:exit and clear survey pic.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
The line that needs to be removed (or commented out) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;twig&amp;quot;&amp;gt;&lt;br /&gt;
{{ include(&#039;./subviews/navigation/clearall_links.twig&#039;) }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Hide exit and clear survey.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
Now, there is no option to exit and clear the survey.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:no exit clear survey.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:help.png]] &#039;&#039;&#039;Note:&#039;&#039;&#039; This customization can be used when you create long surveys and require from your respondents to save and resume later the survey. Sometimes, the users tend to click the &amp;quot;Exit and clear survey&amp;quot; button which deletes the entry from the partially completed responses table.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Help, I accidentally...= &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I forgot my admin password. How do I reset it?== &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Version 6.x === &lt;br /&gt;
# Access to your server with a command line (ssh for example)&lt;br /&gt;
# Ensure you have php command line access (see http://php.net/features.commandline.php).&lt;br /&gt;
# Go to your LimeSurvey directory&lt;br /&gt;
# Launch this command &amp;lt;code&amp;gt;php application/commands/console.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;The php can need complete directory access, example /usr/bin/php&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 2.x === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
# Access to your server with a command line (ssh for example)&lt;br /&gt;
# Ensure you have php command line access (see http://php.net/features.commandline.php).&lt;br /&gt;
# Go to your LimeSurvey directory&lt;br /&gt;
# Launch this command &amp;lt;code&amp;gt;php application/commands/starter.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;php application/commands/console.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS&amp;lt;/code&amp;gt;&amp;lt;sup&amp;gt;The php can need complete directory access, example /usr/bin/php&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
{{Alert|Title=Attention|text=Please note that this method will not work in LimeSurvey 3.x!}}&lt;br /&gt;
&lt;br /&gt;
===Version 2.x.x and newer with only FTP access=== &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
See [https://gitlab.com/SondagesPro/coreAndTools/ResetPasswordController ResetPasswordController]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Directly change the password in the database === &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
If you have direct access to the Limesurvey database you can change the old password there by uploading the new password as SHA256 hash. You can [http://www.xorbin.com/tools/sha256-hash-calculator create the SHA256 hash of your password here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
For example, you can use this instruction to set password to password:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE lime_users SET password = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438 WHERE uid =1;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here with prefix to lime_ and database selected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I restore data from a deactivated survey?== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
We recommend to always use the time-out option instead of deactivating a survey. &#039;&#039;&#039;If you closed your survey accidentally, it is important that you don&#039;t change anything in the survey!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Then, and only then the following steps will work:&lt;br /&gt;
#Activate your survey again&lt;br /&gt;
#Select [[Responses]] from the survey toolbar.&lt;br /&gt;
#Click on [[Import responses|Import]] and select the &amp;quot;Import answers from a deactivated survey table&amp;quot; menu entry.&lt;br /&gt;
#Choose your source table.&lt;br /&gt;
#Click on the &amp;quot;Import&amp;quot; button located on the upper-right part of the screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
{{Note|To understand the difference between &amp;quot;expiry&amp;quot; and &amp;quot;deactivation&amp;quot;, visit this following [https://manual.limesurvey.org/Closing_a_survey wiki section].}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I deleted a question/question group/survey!== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
If you delete it, it is gone. Only a backup could help you recover it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
{{Note|If you are a [https://limesurvey.org LimeSurvey GmbH] professional user, please open a support ticket and ask the team to provide you the backup associated to your account. &#039;&#039;&#039;Please note that this service is not free of charge!&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Hard- and Software requirements= &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
For general requirements please refer to our [[Installation#Make sure you can use LimeSurvey on your website|installation instructions]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What limitations does LimeSurvey have...== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ...regarding speed=== &amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
There is no existing speed limit on LimeSurvey. Everything depends on how fast your server and your connection are. If you expect a large number of users within a short amount of time and you are not sure if your server can handle this, &#039;&#039;&#039;check our forum for similar topics!&#039;&#039;&#039; or &#039;&#039;&#039;contact an authorized LimeSurvey partner&#039;&#039;&#039;: https://limesurvey.com.&lt;br /&gt;
&lt;br /&gt;
=== ...regarding survey size=== &amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MySQL and MariaDB ==== &amp;lt;!--T:133--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
Note: &#039;Survey size&#039; refers to the maximum number of questions (and answers) in your survey - &#039;&#039;&#039;don&#039;t confuse this with the number of replies on your survey (there is no limitation on that)&#039;&#039;&#039;. Theoretically there would also be no limit on the maximum number of questions/answers in LimeSurvey. But the database engine you are using has several limits. The most important one is the limit on the number of fields(columns) in the result table.&lt;br /&gt;
*MySQL ISAM: The sum of the lengths of the VARCHAR and CHAR columns in a table may be up to 64KB.&lt;br /&gt;
*MySQL InnoDB: Maximum number of 1000 columns&lt;br /&gt;
*MS SQL Server 2000: Maximum number of 1024 columns. [https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server There are a maximum of 8,060 bytes for size one row], then even is survey can be activated, if you have a lot of text data : participant can not submit…&lt;br /&gt;
*Postgres: Maximum number of 250-1600 columns depending on column types. The maximum number of columns can be quadrupled by increasing the default block size to 32k. See [[Installation FAQ]] and [http://www.postgresql.org/docs/faqs.FAQ.html#item4.4 PostgreSQL FAQ].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
{{Alert|title=Attention|text=Please think about what you do before you do it! An array of 10 x 10 items already costs you 100 columns. Rule of thumb: every item on the screen that can be filled in or selected costs one column!}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
The mySQL ISAM engine is the most tricky one (see [http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html mysql documentation for more information]). As it allows only up to 65,535 bytes per row and utf8 characters, it can require up to three bytes per character. The maximum may be only 21,844 characters (but this depends on your DB encoding).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
You can roughly calculate the size of your survey like this:&lt;br /&gt;
*Every multiple numerical question: 20 chars &#039;&#039;&#039;for each answer&#039;&#039;&#039;&lt;br /&gt;
*Every multiple choice &amp;amp; array question answers: 5 chars &#039;&#039;&#039;for each answer&#039;&#039;&#039;&lt;br /&gt;
*Every other question type: 5 chars&lt;br /&gt;
*Add 10% for the usual overhead&lt;br /&gt;
&lt;br /&gt;
==== With Microsoft SQL ==== &amp;lt;!--T:134--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:135--&amp;gt;&lt;br /&gt;
There are no fixed limit on MSSQL. Some [https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server?view=sql-server-ver15 information on microsoft website].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:136--&amp;gt;&lt;br /&gt;
The 8,060 bytes per row can appear after activation when you want to browse response and data. You can export answer code and not answer text or try to export only some columns.&lt;br /&gt;
&lt;br /&gt;
====With PostgreSQL==== &amp;lt;!--T:137--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:138--&amp;gt;&lt;br /&gt;
When you try to export response : you can have SQLSTATE[54000] error. You can export some columns. See [https://forums.limesurvey.org/forum/french-forum/125447-erreur-sqlstate-54000 forum post].&lt;br /&gt;
&lt;br /&gt;
=====How to increase the maximum number of columns in PostgreSQL===== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
In case your survey contains too many questions, you can define a different block size in PostgreSQL to create more columns. This might be tricky because you have to recompile PostgreSQL and set BLCKSZ to a higher value, like 16kiB or 32kiB. Watch for the configuration option &amp;quot;--with-blocksize=BLOCKSIZE&amp;quot;. For details see the archives of the PostgreSQL mailing list or ask there (pgsql-patches(at)postgresql(dot)org).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Instructions for Debian (thanks to Martin Pitt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo apt-get build-dep postgresql-8.3&lt;br /&gt;
apt-get source postgresql-8.3&lt;br /&gt;
cd postgresql-8.3-*&lt;br /&gt;
debian/rules patch&lt;br /&gt;
sensible-editor build-tree/postgresql-8.3.5/src/include/pg_config_manual.h&lt;br /&gt;
dpkg-buildpackage -us -uc -b -nc&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
Note: &#039;&#039;&#039;the above could not be reproduced&#039;&#039;&#039; on Ubuntu 14.04 in August 2014. A patch is required (the configuration option is not enough). See (tested with PostgreSQL 9.3 on Linux):&lt;br /&gt;
[[Instructions for increasing the maximum number of columns in PostgreSQL on Linux]]&lt;br /&gt;
&lt;br /&gt;
==Fatal error: Allowed memory size== &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Depending on your server configuration you might run into memory problems being reported by an error like &#039;&#039;&amp;quot;Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296&amp;quot;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
You can try to raise the limit by [[Optional settings#Resources|adding an optional setting]] to LimeSurvey&#039;s config file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
Please bear in mind that changes in the default settings of an application can always be overruled by global server settings. To increase the memory limit of your sever to 128M:&lt;br /&gt;
*memory_limit = 128M to your server&#039;s main php.ini file (recommended, if you have access)&lt;br /&gt;
*memory_limit = 128M to a php.ini file in the LimeSurvey root&lt;br /&gt;
*php_value memory_limit 32M in a .htaccess file located in the LimeSurvey root folder&lt;br /&gt;
*&amp;quot; ini_set(&#039;memory_limit&#039;, &#039;128M&#039;); &amp;quot; in your config.php&lt;br /&gt;
&lt;br /&gt;
=Specific configuration= &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
Under certain circumstances, you need to update the LimeSurvey configuration in application/config/config.php&lt;br /&gt;
&lt;br /&gt;
== IE 11 and Windows 7 / Windows 8 == &amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:129--&amp;gt;&lt;br /&gt;
There is a known issue with the session with IE 11, that leads to users not being able to finish a survey.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
It is solved by giving the session a unique name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
This is done by adding this to the config file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
       // Set the name of the session&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;sessionName&#039; =&amp;gt; &amp;quot;YOURUNIQUESESSIONNAME&amp;quot;,&lt;br /&gt;
        ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Two LimeSurvey instances on same domain == &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
If you run 2 LimeSurvey instances on the same domain, but within different directories, you need to update the [[Optional_settings#Yii_settings|session configuration]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
For example, if you have example.org/ls1 and example.org/ls2, update the ls1 config file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;pre&amp;quot;&amp;gt;&lt;br /&gt;
        &#039;session&#039; =&amp;gt; array (&lt;br /&gt;
            &#039;cookieParams&#039; =&amp;gt; array(&lt;br /&gt;
                    &#039;path&#039; =&amp;gt; &#039;/ls1&#039;,&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
        &#039;request&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;csrfCookie&#039; =&amp;gt; array( &#039;path&#039; =&amp;gt; &#039;/ls1&#039; )&lt;br /&gt;
        ),&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379945</id>
		<title>TwoFactorAdminLogin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379945"/>
		<updated>2025-04-14T17:45:11Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: New Feature: Yubikey&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Introduction= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2-Factor-Authentication&#039;&#039;&#039; (2FA) is a way to add additional security to your account. It is called &amp;quot;two-factor-authentication&amp;quot; because two verification methods are used to access your account. The first &amp;quot;factor&amp;quot; is your usual password that is standard for any account. The second &amp;quot;factor&amp;quot; is a verification code retrieved from a 2FA application either from your computer or mobile device. For more details about 2FA and its importance, please visit the following [https://en.wikipedia.org/wiki/Multi-factor_authentication article].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The plugin supports both TOTP (Time-based One-Time Password) and Yubikey authentication methods.&lt;br /&gt;
&lt;br /&gt;
When TOTP is enabled, a 6 digits code (default value) has to be introduced when you log in to your LimeSurvey instance. If Yubikey is configured, when logging in, the Yubikey will create the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2FA_login.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
To learn more about this functionality, please continue reading below.&lt;br /&gt;
&lt;br /&gt;
=How to install the 2FA plugin= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Since version 6.x the plugin is a core plugin. So just visit the [[Plugin manager|Plugin Manager]] page and enable it from there (see below for more details).&lt;br /&gt;
&lt;br /&gt;
=Activate the 2FA plugin= &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
To activate your 2FA plugin, access your LimeSurvey instance, and activate it from your [[Plugin manager|Plugin Manager]]: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_activate.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
To check the default settings, please click on &amp;quot;Configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugin settings== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
The configuration page contains the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TOTP Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Issuer:&#039;&#039; The text typed in this box will be displayed in the app as issuer name.&lt;br /&gt;
*&#039;&#039;Digits:&#039;&#039; The number of digits the resulting codes will be. Please leave it at 6 for Google Authenticator.&lt;br /&gt;
*&#039;&#039;TimePeriod:&#039;&#039; The number of seconds a code will be valid. If you use Google Authenticator, please leave it to 30.&lt;br /&gt;
*&#039;&#039;Discrepancy:&#039;&#039; The amount of discrepancy is allowed for the client after the TimePeriod expires (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
*&#039;&#039;Algorithm:&#039;&#039; The algorithm used to generate a hash:&lt;br /&gt;
**SHA1 (Default)&lt;br /&gt;
**SHA256&lt;br /&gt;
**MD5&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Yubikey Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;YubiCloud Client ID&#039;&#039;: Your YubiCloud Client ID for validating Yubikey authentication attempts. This is required to use Yubikey as an authentication method.&lt;br /&gt;
*&#039;&#039;YubiCloud Secret Key&#039;&#039;: Optional but recommended. When set, the YubiCloud responses&#039; authenticity will be verified, providing an additional layer of security.&lt;br /&gt;
&lt;br /&gt;
To obtain these credentials, you can sign up for a Yubico API key at the [https://upgrade.yubico.com/getapikey/ Yubico API key signup page].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;General Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Force 2FA:&#039;&#039;&lt;br /&gt;
** Only prompt, no enforcement Users without 2FA token are redirected to 2FA creation after login&lt;br /&gt;
** Always enforce 2FA activation Users without 2FA token are redirected to 2FA creation after login, and no other action are available, except remote control.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: Don&#039;t forget to click on &amp;quot;Save&amp;quot; after updating your 2FA configuration.&lt;br /&gt;
&lt;br /&gt;
=2-Factor-Settings= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Once you activated the plugin, a new menu item will be displayed on the top bar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_location.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
The dropdown menu includes the following two options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Setting|2FA-Setting]]: Users can enable and manage their 2FA settings.&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Administration|2FA-Administration]]: With the right permission, you can visualize whether the other instance users use 2FA or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Setting== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
If you haven&#039;t created any 2FA-token yet, the following page will be displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_register.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
If you decide to create a 2FA-token, click on &amp;quot;Register 2FA now&amp;quot;. &lt;br /&gt;
You will be prompted with a message box:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
Select the 2FA authentication method. &lt;br /&gt;
* TOTP: Using Google Authenticator, Authy, ...&lt;br /&gt;
* Yubikey&lt;br /&gt;
&lt;br /&gt;
When selecting a TOTP 2FA method:&lt;br /&gt;
* Scan the QR-code with your mobile phone. For a list of application recommendations, check this [https://en.wikipedia.org/wiki/Help:Two-factor_authentication#Enabling_2FA_on_smartphones_and_tablet_computers article].&lt;br /&gt;
* Enter the confirmation key displayed in your 2FA application.&lt;br /&gt;
&lt;br /&gt;
When selecting Yubikey:&lt;br /&gt;
* Generate a code with your Yubikey in the confirmation key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{Note|From a technical perspective, you can use any 2FA application that supports TOTP (Time-based One-Time Password algorithm). For more information on what TOTP is, please check this [https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm article].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
To confirm the creation of your 2FA-token, click on &amp;quot;&#039;&#039;&#039;Create 2FA binding&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&amp;lt;hr width=&amp;quot;50%&amp;quot; style=&amp;quot;margin:auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personal 2FA Settings ==&lt;br /&gt;
&lt;br /&gt;
Once done, the following two options will be displayed in your personal 2FA settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_unset.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
* &#039;&#039;Unset 2FA:&#039;&#039; Confirm your action to delete the 2FA-token associated to your account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{Note|Please note that you will need to re-authenticate again if &amp;quot;Force 2FA&amp;quot; is enabled from the plugin settings.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* &#039;&#039;Reset 2FA:&#039;&#039; If this option is selected, you will be asked to scan the new QR-code and introduce the new confirmation Key.&lt;br /&gt;
&lt;br /&gt;
==2FA-Administration== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
With the necessary permissions, you can have access to the 2FA user management panel from where you can check how many users activated 2FA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_management.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Action:&#039;&#039;&#039; A red trash button is displayed in this column next to the users that have enabled 2FA. If someone asks to get the 2FA-token reset because he/she cannot log in anymore into your instance, you can delete the 2FA-token associated with his/her account from here.  &lt;br /&gt;
*&#039;&#039;&#039;Username:&#039;&#039;&#039; All the instance users are listed under this column.&lt;br /&gt;
*&#039;&#039;&#039;Full name:&#039;&#039;&#039;The full name typed in here by your users is displayed in this field.&lt;br /&gt;
*&#039;&#039;&#039;Email:&#039;&#039;&#039; The email address corresponding to your users.&lt;br /&gt;
*&#039;&#039;&#039;2FA-Method:&#039;&#039;&#039; The 2FA-method chosen by each user.&lt;br /&gt;
*&#039;&#039;&#039;2FA enabled:&#039;&#039;&#039; If &amp;quot;1&amp;quot;, it means that 2FA is enabled for the respective user.&lt;br /&gt;
&lt;br /&gt;
=FAQs= &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==I am a super administrator and locked myself out. How can I delete my 2FA-token?== &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
You will need access to your database and truncate the 2FA-related column.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I enforce 2FA to all my users?== &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Enable &amp;quot;Force 2FA&amp;quot; from the plugin configuration menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==From where can I download the plugin?== &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Please access [https://www.limesurvey.org/limestore LimeStore] and [https://www.limesurvey.org/limestore?view=extensiondetails&amp;amp;id=49 download the plugin from download it from here]. To be able to download it, you need to hold a Premium package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I use LimeSurvey Cloud. Do I have to purchase the plugin?== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No. The plugin is already part of the core LimeSurvey plugins - you can enable it by accessing the plugin menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379944</id>
		<title>TwoFactorAdminLogin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379944"/>
		<updated>2025-04-14T17:44:33Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: New Feature: Yubikey&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Introduction= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2-Factor-Authentication&#039;&#039;&#039; (2FA) is a way to add additional security to your account. It is called &amp;quot;two-factor-authentication&amp;quot; because two verification methods are used to access your account. The first &amp;quot;factor&amp;quot; is your usual password that is standard for any account. The second &amp;quot;factor&amp;quot; is a verification code retrieved from a 2FA application either from your computer or mobile device. For more details about 2FA and its importance, please visit the following [https://en.wikipedia.org/wiki/Multi-factor_authentication article].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The plugin supports both TOTP (Time-based One-Time Password) and Yubikey authentication methods.&lt;br /&gt;
&lt;br /&gt;
When TOTP is enabled, a 6 digits code (default value) has to be introduced when you log in to your LimeSurvey instance. If Yubikey is configured, when logging in, the Yubikey will creating the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2FA_login.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
To learn more about this functionality, please continue reading below.&lt;br /&gt;
&lt;br /&gt;
=How to install the 2FA plugin= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Since version 6.x the plugin is a core plugin. So just visit the [[Plugin manager|Plugin Manager]] page and enable it from there (see below for more details).&lt;br /&gt;
&lt;br /&gt;
=Activate the 2FA plugin= &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
To activate your 2FA plugin, access your LimeSurvey instance, and activate it from your [[Plugin manager|Plugin Manager]]: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_activate.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
To check the default settings, please click on &amp;quot;Configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugin settings== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
The configuration page contains the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TOTP Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Issuer:&#039;&#039; The text typed in this box will be displayed in the app as issuer name.&lt;br /&gt;
*&#039;&#039;Digits:&#039;&#039; The number of digits the resulting codes will be. Please leave it at 6 for Google Authenticator.&lt;br /&gt;
*&#039;&#039;TimePeriod:&#039;&#039; The number of seconds a code will be valid. If you use Google Authenticator, please leave it to 30.&lt;br /&gt;
*&#039;&#039;Discrepancy:&#039;&#039; The amount of discrepancy is allowed for the client after the TimePeriod expires (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
*&#039;&#039;Algorithm:&#039;&#039; The algorithm used to generate a hash:&lt;br /&gt;
**SHA1 (Default)&lt;br /&gt;
**SHA256&lt;br /&gt;
**MD5&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Yubikey Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;YubiCloud Client ID&#039;&#039;: Your YubiCloud Client ID for validating Yubikey authentication attempts. This is required to use Yubikey as an authentication method.&lt;br /&gt;
*&#039;&#039;YubiCloud Secret Key&#039;&#039;: Optional but recommended. When set, the YubiCloud responses&#039; authenticity will be verified, providing an additional layer of security.&lt;br /&gt;
&lt;br /&gt;
To obtain these credentials, you can sign up for a Yubico API key at the [https://upgrade.yubico.com/getapikey/ Yubico API key signup page].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;General Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Force 2FA:&#039;&#039;&lt;br /&gt;
** Only prompt, no enforcement Users without 2FA token are redirected to 2FA creation after login&lt;br /&gt;
** Always enforce 2FA activation Users without 2FA token are redirected to 2FA creation after login, and no other action are available, except remote control.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: Don&#039;t forget to click on &amp;quot;Save&amp;quot; after updating your 2FA configuration.&lt;br /&gt;
&lt;br /&gt;
=2-Factor-Settings= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Once you activated the plugin, a new menu item will be displayed on the top bar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_location.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
The dropdown menu includes the following two options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Setting|2FA-Setting]]: Users can enable and manage their 2FA settings.&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Administration|2FA-Administration]]: With the right permission, you can visualize whether the other instance users use 2FA or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Setting== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
If you haven&#039;t created any 2FA-token yet, the following page will be displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_register.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
If you decide to create a 2FA-token, click on &amp;quot;Register 2FA now&amp;quot;. &lt;br /&gt;
You will be prompted with a message box:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
Select the 2FA authentication method. &lt;br /&gt;
* TOTP: Using Google Authenticator, Authy, ...&lt;br /&gt;
* Yubikey&lt;br /&gt;
&lt;br /&gt;
When selecting a TOTP 2FA method:&lt;br /&gt;
* Scan the QR-code with your mobile phone. For a list of application recommendations, check this [https://en.wikipedia.org/wiki/Help:Two-factor_authentication#Enabling_2FA_on_smartphones_and_tablet_computers article].&lt;br /&gt;
* Enter the confirmation key displayed in your 2FA application.&lt;br /&gt;
&lt;br /&gt;
When selecting Yubikey:&lt;br /&gt;
* Generate a code with your Yubikey in the confirmation key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{Note|From a technical perspective, you can use any 2FA application that supports TOTP (Time-based One-Time Password algorithm). For more information on what TOTP is, please check this [https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm article].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
To confirm the creation of your 2FA-token, click on &amp;quot;&#039;&#039;&#039;Create 2FA binding&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&amp;lt;hr width=&amp;quot;50%&amp;quot; style=&amp;quot;margin:auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Personal 2FA Settings ==&lt;br /&gt;
&lt;br /&gt;
Once done, the following two options will be displayed in your personal 2FA settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_unset.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
* &#039;&#039;Unset 2FA:&#039;&#039; Confirm your action to delete the 2FA-token associated to your account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{Note|Please note that you will need to re-authenticate again if &amp;quot;Force 2FA&amp;quot; is enabled from the plugin settings.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* &#039;&#039;Reset 2FA:&#039;&#039; If this option is selected, you will be asked to scan the new QR-code and introduce the new confirmation Key.&lt;br /&gt;
&lt;br /&gt;
==2FA-Administration== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
With the necessary permissions, you can have access to the 2FA user management panel from where you can check how many users activated 2FA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_management.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Action:&#039;&#039;&#039; A red trash button is displayed in this column next to the users that have enabled 2FA. If someone asks to get the 2FA-token reset because he/she cannot log in anymore into your instance, you can delete the 2FA-token associated with his/her account from here.  &lt;br /&gt;
*&#039;&#039;&#039;Username:&#039;&#039;&#039; All the instance users are listed under this column.&lt;br /&gt;
*&#039;&#039;&#039;Full name:&#039;&#039;&#039;The full name typed in here by your users is displayed in this field.&lt;br /&gt;
*&#039;&#039;&#039;Email:&#039;&#039;&#039; The email address corresponding to your users.&lt;br /&gt;
*&#039;&#039;&#039;2FA-Method:&#039;&#039;&#039; The 2FA-method chosen by each user.&lt;br /&gt;
*&#039;&#039;&#039;2FA enabled:&#039;&#039;&#039; If &amp;quot;1&amp;quot;, it means that 2FA is enabled for the respective user.&lt;br /&gt;
&lt;br /&gt;
=FAQs= &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==I am a super administrator and locked myself out. How can I delete my 2FA-token?== &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
You will need access to your database and truncate the 2FA-related column.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I enforce 2FA to all my users?== &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Enable &amp;quot;Force 2FA&amp;quot; from the plugin configuration menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==From where can I download the plugin?== &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Please access [https://www.limesurvey.org/limestore LimeStore] and [https://www.limesurvey.org/limestore?view=extensiondetails&amp;amp;id=49 download the plugin from download it from here]. To be able to download it, you need to hold a Premium package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I use LimeSurvey Cloud. Do I have to purchase the plugin?== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No. The plugin is already part of the core LimeSurvey plugins - you can enable it by accessing the plugin menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379884</id>
		<title>TwoFactorAdminLogin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379884"/>
		<updated>2025-04-14T15:38:39Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: New Feature: Yubikey&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Introduction= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2-Factor-Authentication&#039;&#039;&#039; (2FA) is a way to add additional security to your account. It is called &amp;quot;two-factor-authentication&amp;quot; because two verification methods are used to access your account. The first &amp;quot;factor&amp;quot; is your usual password that is standard for any account. The second &amp;quot;factor&amp;quot; is a verification code retrieved from a 2FA application either from your computer or mobile device. For more details about 2FA and its importance, please visit the following [https://en.wikipedia.org/wiki/Multi-factor_authentication article].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The plugin supports both TOTP (Time-based One-Time Password) and Yubikey authentication methods.&lt;br /&gt;
&lt;br /&gt;
When TOTP is enabled, a 6 digits code (default value) has to be introduced when you log in to your LimeSurvey instance. If Yubikey is configured, when logging in, the Yubikey will creating the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2FA_login.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
To learn more about this functionality, please continue reading below.&lt;br /&gt;
&lt;br /&gt;
=How to install the 2FA plugin= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Since version 6.x the plugin is a core plugin. So just visit the [[Plugin manager|Plugin Manager]] page and enable it from there (see below for more details).&lt;br /&gt;
&lt;br /&gt;
=Activate the 2FA plugin= &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
To activate your 2FA plugin, access your LimeSurvey instance, and activate it from your [[Plugin manager|Plugin Manager]]: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_activate.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
To check the default settings, please click on &amp;quot;Configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugin settings== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
The configuration page contains the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TOTP Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Issuer:&#039;&#039; The text typed in this box will be displayed in the app as issuer name.&lt;br /&gt;
*&#039;&#039;Digits:&#039;&#039; The number of digits the resulting codes will be. Please leave it at 6 for Google Authenticator.&lt;br /&gt;
*&#039;&#039;TimePeriod:&#039;&#039; The number of seconds a code will be valid. If you use Google Authenticator, please leave it to 30.&lt;br /&gt;
*&#039;&#039;Discrepancy:&#039;&#039; The amount of discrepancy is allowed for the client after the TimePeriod expires (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
*&#039;&#039;Algorithm:&#039;&#039; The algorithm used to generate a hash:&lt;br /&gt;
**SHA1 (Default)&lt;br /&gt;
**SHA256&lt;br /&gt;
**MD5&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Yubikey Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;YubiCloud Client ID&#039;&#039;: Your YubiCloud Client ID for validating Yubikey authentication attempts. This is required to use Yubikey as an authentication method.&lt;br /&gt;
*&#039;&#039;YubiCloud Secret Key&#039;&#039;: Optional but recommended. When set, the YubiCloud responses&#039; authenticity will be verified, providing an additional layer of security.&lt;br /&gt;
&lt;br /&gt;
To obtain these credentials, you can sign up for a Yubico API key at the [https://upgrade.yubico.com/getapikey/ Yubico API key signup page].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;General Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Force 2FA:&#039;&#039;&lt;br /&gt;
** Only prompt, no enforcement Users without 2FA token are redirected to 2FA creation after login&lt;br /&gt;
** Always enforce 2FA activation Users without 2FA token are redirected to 2FA creation after login, and no other action are available, except remote control.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: Don&#039;t forget to click on &amp;quot;Save&amp;quot; after updating your 2FA configuration.&lt;br /&gt;
&lt;br /&gt;
=2-Factor-Settings= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Once you activated the plugin, a new menu item will be displayed on the top bar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_location.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
The dropdown menu includes the following two options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Setting|2FA-Setting]]: Users can enable and manage their 2FA settings.&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Administration|2FA-Administration]]: With the right permission, you can visualize whether the other instance users use 2FA or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Setting== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
If you haven&#039;t created any 2FA-token yet, the following page will be displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_register.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
If you decide to create a 2FA-token, click on &amp;quot;Register 2FA now&amp;quot;. You will be prompted by the following message box:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_settings.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
Select the 2FA authentication method. By default, five different 2FA types are provided: Google Authenticator (default), Authy, Yubikey, Authenticator Plus, Duo, and HDE OTP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When selecting a TOTP 2FA method (Ex Google Authenticator, Authy, Duo, ...):&lt;br /&gt;
* Scan the QR-code with your mobile phone. For a list of application recommendations, check this [https://en.wikipedia.org/wiki/Help:Two-factor_authentication#Enabling_2FA_on_smartphones_and_tablet_computers article].&lt;br /&gt;
* Enter the confirmation key displayed in your 2FA application.&lt;br /&gt;
&lt;br /&gt;
When selecting Yubikey:&lt;br /&gt;
* Generate a code with your Yubikey in the confirmation key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{Note|From a technical perspective, you can use any 2FA application that supports TOTP (Time-based One-Time Password algorithm). For more information on what TOTP is, please check this [https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm article].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
To confirm the creation of your 2FA-token, click on &amp;quot;&#039;&#039;&#039;Create 2FA binding&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&amp;lt;hr width=&amp;quot;50%&amp;quot; style=&amp;quot;margin:auto&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
== Personal 2FA Settings ==&lt;br /&gt;
&lt;br /&gt;
Once done, the following two options will be displayed in your personal 2FA settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_unset.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
* &#039;&#039;Unset 2FA:&#039;&#039; Confirm your action to delete the 2FA-token associated to your account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{Note|Please note that you will need to re-authenticate again if &amp;quot;Force 2FA&amp;quot; is enabled from the plugin settings.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* &#039;&#039;Reset 2FA:&#039;&#039; If this option is selected, you will be asked to scan the new QR-code and introduce the new confirmation Key.&lt;br /&gt;
&lt;br /&gt;
==2FA-Administration== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
With the necessary permissions, you can have access to the 2FA user management panel from where you can check how many users activated 2FA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_management.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Action:&#039;&#039;&#039; A red trash button is displayed in this column next to the users that have enabled 2FA. If someone asks to get the 2FA-token reset because he/she cannot log in anymore into your instance, you can delete the 2FA-token associated with his/her account from here.  &lt;br /&gt;
*&#039;&#039;&#039;Username:&#039;&#039;&#039; All the instance users are listed under this column.&lt;br /&gt;
*&#039;&#039;&#039;Full name:&#039;&#039;&#039;The full name typed in here by your users is displayed in this field.&lt;br /&gt;
*&#039;&#039;&#039;Email:&#039;&#039;&#039; The email address corresponding to your users.&lt;br /&gt;
*&#039;&#039;&#039;2FA-Method:&#039;&#039;&#039; The 2FA-method chosen by each user.&lt;br /&gt;
*&#039;&#039;&#039;2FA enabled:&#039;&#039;&#039; If &amp;quot;1&amp;quot;, it means that 2FA is enabled for the respective user.&lt;br /&gt;
&lt;br /&gt;
=FAQs= &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==I am a super administrator and locked myself out. How can I delete my 2FA-token?== &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
You will need access to your database and truncate the 2FA-related column.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I enforce 2FA to all my users?== &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Enable &amp;quot;Force 2FA&amp;quot; from the plugin configuration menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==From where can I download the plugin?== &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Please access [https://www.limesurvey.org/limestore LimeStore] and [https://www.limesurvey.org/limestore?view=extensiondetails&amp;amp;id=49 download the plugin from download it from here]. To be able to download it, you need to hold a Premium package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I use LimeSurvey Cloud. Do I have to purchase the plugin?== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No. The plugin is already part of the core LimeSurvey plugins - you can enable it by accessing the plugin menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379883</id>
		<title>TwoFactorAdminLogin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379883"/>
		<updated>2025-04-14T15:19:02Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: New Feature: Yubikey&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Introduction= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2-Factor-Authentication&#039;&#039;&#039; (2FA) is a way to add additional security to your account. It is called &amp;quot;two-factor-authentication&amp;quot; because two verification methods are used to access your account. The first &amp;quot;factor&amp;quot; is your usual password that is standard for any account. The second &amp;quot;factor&amp;quot; is a verification code retrieved from a 2FA application either from your computer or mobile device. For more details about 2FA and its importance, please visit the following [https://en.wikipedia.org/wiki/Multi-factor_authentication article].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The plugin supports both TOTP (Time-based One-Time Password) and Yubikey authentication methods.&lt;br /&gt;
&lt;br /&gt;
When TOTP is enabled, a 6 digits code (default value) has to be introduced when you log in to your LimeSurvey instance. If Yubikey is configured, when logging in, the Yubikey will creating the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2FA_login.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
To learn more about this functionality, please continue reading below.&lt;br /&gt;
&lt;br /&gt;
=How to install the 2FA plugin= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Since version 6.x the plugin is a core plugin. So just visit the [[Plugin manager|Plugin Manager]] page and enable it from there (see below for more details).&lt;br /&gt;
&lt;br /&gt;
=Activate the 2FA plugin= &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
To activate your 2FA plugin, access your LimeSurvey instance, and activate it from your [[Plugin manager|Plugin Manager]]: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_activate.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
To check the default settings, please click on &amp;quot;Configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugin settings== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
The configuration page contains the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TOTP Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Issuer:&#039;&#039; The text typed in this box will be displayed in the app as issuer name.&lt;br /&gt;
*&#039;&#039;Digits:&#039;&#039; The number of digits the resulting codes will be. Please leave it at 6 for Google Authenticator.&lt;br /&gt;
*&#039;&#039;TimePeriod:&#039;&#039; The number of seconds a code will be valid. If you use Google Authenticator, please leave it to 30.&lt;br /&gt;
*&#039;&#039;Discrepancy:&#039;&#039; The amount of discrepancy is allowed for the client after the TimePeriod expires (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
*&#039;&#039;Algorithm:&#039;&#039; The algorithm used to generate a hash:&lt;br /&gt;
**SHA1 (Default)&lt;br /&gt;
**SHA256&lt;br /&gt;
**MD5&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Yubikey Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;YubiCloud Client ID&#039;&#039;: Your YubiCloud Client ID for validating Yubikey authentication attempts. This is required to use Yubikey as an authentication method.&lt;br /&gt;
*&#039;&#039;YubiCloud Secret Key&#039;&#039;: Optional but recommended. When set, the YubiCloud responses&#039; authenticity will be verified, providing an additional layer of security.&lt;br /&gt;
&lt;br /&gt;
To obtain these credentials, you can sign up for a Yubico API key at the [https://upgrade.yubico.com/getapikey/ Yubico API key signup page].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;General Settings:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Force 2FA:&#039;&#039;&lt;br /&gt;
** Only prompt, no enforcement Users without 2FA token are redirected to 2FA creation after login&lt;br /&gt;
** Always enforce 2FA activation Users without 2FA token are redirected to 2FA creation after login, and no other action are available, except remote control.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: Don&#039;t forget to click on &amp;quot;Save&amp;quot; after updating your 2FA configuration.&lt;br /&gt;
&lt;br /&gt;
=2-Factor-Settings= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Once you activated the plugin, a new menu item will be displayed on the top bar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_location.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
The dropdown menu includes the following two options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Setting|2FA-Setting]]: Users can enable and manage their 2FA settings.&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Administration|2FA-Administration]]: With the right permission, you can visualize whether the other instance users use 2FA or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Setting== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
If you haven&#039;t created any 2FA-token yet, the following page will be displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_register.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
If you decide to create a 2FA-token, click on &amp;quot;Register 2FA now&amp;quot;. You will be prompted by the following message box:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_settings.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
To enable 2FA:&lt;br /&gt;
#Select the 2FA authentication method. By default, five different 2FA types are provided: Google Authenticator (default), Authy, YubiKey, Authenticator Plus, Duo, and HDE OTP.&lt;br /&gt;
#Scan the QR-code with your mobile phone. For a list of application recommendations, check this [https://en.wikipedia.org/wiki/Help:Two-factor_authentication#Enabling_2FA_on_smartphones_and_tablet_computers article].&lt;br /&gt;
#Enter the confirmation key displayed in your 2FA application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{Note|From a technical perspective, you can use any 2FA application that supports TOTP (Time-based One-Time Password algorithm). For more information on what TOTP is, please check this [https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm article].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
To confirm the creation of your 2FA-token, click on &amp;quot;Create 2FA binding&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&amp;lt;hr width=&amp;quot;50%&amp;quot; style=&amp;quot;margin:auto&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
Once done, the following two options will be displayed in your personal 2FA settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_unset.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Unset 2FA:&#039;&#039;&#039; Confirm your action to delete the 2FA-token associated to your account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{Note|Please note that you will need to re-authenticate again if &amp;quot;Force 2FA&amp;quot; is enabled from the plugin settings.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Reset 2FA:&#039;&#039;&#039; If this option is selected, you will be asked to scan the new QR-code and introduce the new confirmation Key. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Administration== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
With the necessary permissions, you can have access to the 2FA user management panel from where you can check how many users activated 2FA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_management.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Action:&#039;&#039;&#039; A red trash button is displayed in this column next to the users that have enabled 2FA. If someone asks to get the 2FA-token reset because he/she cannot log in anymore into your instance, you can delete the 2FA-token associated with his/her account from here.  &lt;br /&gt;
*&#039;&#039;&#039;Username:&#039;&#039;&#039; All the instance users are listed under this column.&lt;br /&gt;
*&#039;&#039;&#039;Full name:&#039;&#039;&#039;The full name typed in here by your users is displayed in this field.&lt;br /&gt;
*&#039;&#039;&#039;Email:&#039;&#039;&#039; The email address corresponding to your users.&lt;br /&gt;
*&#039;&#039;&#039;2FA-Method:&#039;&#039;&#039; The 2FA-method chosen by each user.&lt;br /&gt;
*&#039;&#039;&#039;2FA enabled:&#039;&#039;&#039; If &amp;quot;1&amp;quot;, it means that 2FA is enabled for the respective user.&lt;br /&gt;
&lt;br /&gt;
=FAQs= &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==I am a super administrator and locked myself out. How can I delete my 2FA-token?== &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
You will need access to your database and truncate the 2FA-related column.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I enforce 2FA to all my users?== &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Enable &amp;quot;Force 2FA&amp;quot; from the plugin configuration menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==From where can I download the plugin?== &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Please access [https://www.limesurvey.org/limestore LimeStore] and [https://www.limesurvey.org/limestore?view=extensiondetails&amp;amp;id=49 download the plugin from download it from here]. To be able to download it, you need to hold a Premium package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I use LimeSurvey Cloud. Do I have to purchase the plugin?== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No. The plugin is already part of the core LimeSurvey plugins - you can enable it by accessing the plugin menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379882</id>
		<title>TwoFactorAdminLogin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=TwoFactorAdminLogin&amp;diff=379882"/>
		<updated>2025-04-14T15:06:01Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: New Feature: Yubikey&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Introduction= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2-Factor-Authentication&#039;&#039;&#039; (2FA) is a way to add additional security to your account. It is called &amp;quot;two-factor-authentication&amp;quot; because two verification methods are used to access your account. The first &amp;quot;factor&amp;quot; is your usual password that is standard for any account. The second &amp;quot;factor&amp;quot; is a verification code retrieved from a 2FA application either from your computer or mobile device. For more details about 2FA and its importance, please visit the following [https://en.wikipedia.org/wiki/Multi-factor_authentication article].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The plugin supports both TOTP (Time-based One-Time Password) and Yubikey authentication methods.&lt;br /&gt;
&lt;br /&gt;
When TOTP is enabled, a 6 digits code (default value) has to be introduced when you log in to your LimeSurvey instance. If Yubikey is configured, when logging in, the Yubikey will creating the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2FA_login.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
To learn more about this functionality, please continue reading below.&lt;br /&gt;
&lt;br /&gt;
=How to install the 2FA plugin= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Since version 6.x the plugin is a core plugin. So just visit the [[Plugin manager|Plugin Manager]] page and enable it from there (see below for more details).&lt;br /&gt;
&lt;br /&gt;
=Activate the 2FA plugin= &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
To activate your 2FA plugin, access your LimeSurvey instance, and activate it from your [[Plugin manager|Plugin Manager]]: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_activate.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
To check the default settings, please click on &amp;quot;Configure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugin settings== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
The configuration page contains the following settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2FA plugin configuration.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Issuer:&#039;&#039;&#039; The text typed in this box will be displayed in the app as issuer name.&lt;br /&gt;
*&#039;&#039;&#039;Digits:&#039;&#039;&#039; The number of digits the resulting codes will be. Please leave it at 6 for Google Authenticator.&lt;br /&gt;
*&#039;&#039;&#039;TimePeriod:&#039;&#039;&#039; The number of seconds a code will be valid. If you use Google Authenticator, please leave it to 30.&lt;br /&gt;
*&#039;&#039;&#039;Discrepancy:&#039;&#039;&#039; The amount of discrepancy is allowed for the client after the TimePeriod expires (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Algorithm:&#039;&#039;&#039; The algorithm used to generate a hash:&lt;br /&gt;
**&#039;&#039;SHA1 (Default)&#039;&#039;&lt;br /&gt;
**&#039;&#039;SHA256&#039;&#039;&lt;br /&gt;
**&#039;&#039;MD5&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Force 2FA:&#039;&#039;&#039; &lt;br /&gt;
** &#039;&#039;Only prompt, no enforcement&#039;&#039; Users without 2FA token are redirected to 2FA creation after login&lt;br /&gt;
** &#039;&#039;Always enforce 2FA activation&#039;&#039; Users without 2FA token are redirected to 2FA creation after login, and no other action are available, except remote control.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Don&#039;t forget to click on &amp;quot;Save&amp;quot; after updating your 2FA configuration.&lt;br /&gt;
&lt;br /&gt;
=2-Factor-Settings= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Once you activated the plugin, a new menu item will be displayed on the top bar:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_location.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
The dropdown menu includes the following two options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Setting|2FA-Setting]]: Users can enable and manage their 2FA settings.&lt;br /&gt;
*[[TwoFactorAdminLogin#2FA-Administration|2FA-Administration]]: With the right permission, you can visualize whether the other instance users use 2FA or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Setting== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
If you haven&#039;t created any 2FA-token yet, the following page will be displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_register.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
If you decide to create a 2FA-token, click on &amp;quot;Register 2FA now&amp;quot;. You will be prompted by the following message box:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_settings.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
To enable 2FA:&lt;br /&gt;
#Select the 2FA authentication method. By default, five different 2FA types are provided: Google Authenticator (default), Authy, YubiKey, Authenticator Plus, Duo, and HDE OTP.&lt;br /&gt;
#Scan the QR-code with your mobile phone. For a list of application recommendations, check this [https://en.wikipedia.org/wiki/Help:Two-factor_authentication#Enabling_2FA_on_smartphones_and_tablet_computers article].&lt;br /&gt;
#Enter the confirmation key displayed in your 2FA application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{Note|From a technical perspective, you can use any 2FA application that supports TOTP (Time-based One-Time Password algorithm). For more information on what TOTP is, please check this [https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm article].}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
To confirm the creation of your 2FA-token, click on &amp;quot;Create 2FA binding&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&amp;lt;hr width=&amp;quot;50%&amp;quot; style=&amp;quot;margin:auto&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
Once done, the following two options will be displayed in your personal 2FA settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_unset.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Unset 2FA:&#039;&#039;&#039; Confirm your action to delete the 2FA-token associated to your account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{Note|Please note that you will need to re-authenticate again if &amp;quot;Force 2FA&amp;quot; is enabled from the plugin settings.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Reset 2FA:&#039;&#039;&#039; If this option is selected, you will be asked to scan the new QR-code and introduce the new confirmation Key. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2FA-Administration== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
With the necessary permissions, you can have access to the 2FA user management panel from where you can check how many users activated 2FA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:2fa_user_management.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Action:&#039;&#039;&#039; A red trash button is displayed in this column next to the users that have enabled 2FA. If someone asks to get the 2FA-token reset because he/she cannot log in anymore into your instance, you can delete the 2FA-token associated with his/her account from here.  &lt;br /&gt;
*&#039;&#039;&#039;Username:&#039;&#039;&#039; All the instance users are listed under this column.&lt;br /&gt;
*&#039;&#039;&#039;Full name:&#039;&#039;&#039;The full name typed in here by your users is displayed in this field.&lt;br /&gt;
*&#039;&#039;&#039;Email:&#039;&#039;&#039; The email address corresponding to your users.&lt;br /&gt;
*&#039;&#039;&#039;2FA-Method:&#039;&#039;&#039; The 2FA-method chosen by each user.&lt;br /&gt;
*&#039;&#039;&#039;2FA enabled:&#039;&#039;&#039; If &amp;quot;1&amp;quot;, it means that 2FA is enabled for the respective user.&lt;br /&gt;
&lt;br /&gt;
=FAQs= &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==I am a super administrator and locked myself out. How can I delete my 2FA-token?== &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
You will need access to your database and truncate the 2FA-related column.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How can I enforce 2FA to all my users?== &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Enable &amp;quot;Force 2FA&amp;quot; from the plugin configuration menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==From where can I download the plugin?== &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Please access [https://www.limesurvey.org/limestore LimeStore] and [https://www.limesurvey.org/limestore?view=extensiondetails&amp;amp;id=49 download the plugin from download it from here]. To be able to download it, you need to hold a Premium package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I use LimeSurvey Cloud. Do I have to purchase the plugin?== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No. The plugin is already part of the core LimeSurvey plugins - you can enable it by accessing the plugin menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300642</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300642"/>
		<updated>2023-11-23T14:06:26Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Under &#039;&#039;Azure Services&#039;&#039;, click on &#039;&#039;App Registrations&#039;&#039;&lt;br /&gt;
# Click &#039;&#039;New Registration&#039;&#039;.&lt;br /&gt;
# Enter a name for your web app and select &#039;&#039;Who will have access to the Application&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Register&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(5).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Configure the OAuth 2.0 Web Application ====&lt;br /&gt;
&lt;br /&gt;
Once your web app is created, you will land on the &#039;&#039;Overview&#039;&#039; tab.&lt;br /&gt;
&lt;br /&gt;
# Focus on the &#039;&#039;Essentials&#039;&#039; section.&lt;br /&gt;
# Under the section &#039;&#039;Client Credentials&#039;&#039;, click &#039;&#039;Add a certificate or a secret&#039;&#039; and add a &#039;&#039;secret&#039;&#039;.&lt;br /&gt;
# Under the section &#039;&#039;Redirect URIs&#039;&#039;, click &#039;&#039;Add the Redirect URI&#039;&#039;, which you can copy it if from the plugin &#039;&#039;settings&#039;&#039; page.&lt;br /&gt;
# Now you have created the application and you can copy &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039; and &#039;&#039;Tenant Id&#039;&#039; values to carry over to the plugin settings.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Settings&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Please notice the &#039;&#039;Help&#039;&#039; section on the top.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Notice the &#039;&#039;Tenant ID&#039;&#039; usually shall be set to &#039;&#039;consumers&#039;&#039;, still that depends on the Azure Application.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(4).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Scroll down and select the the &#039;&#039;Plugin&#039;&#039; that will be used for sending emails.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Please find below some additional documentation which could be usefull:&lt;br /&gt;
&lt;br /&gt;
* General OAuth Azure Process&lt;br /&gt;
https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth&lt;br /&gt;
&lt;br /&gt;
* Environment Setup&lt;br /&gt;
https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Plugins_-_advanced&amp;diff=300641</id>
		<title>Plugins - advanced</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Plugins_-_advanced&amp;diff=300641"/>
		<updated>2023-11-23T14:05:05Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Starting from LimeSurvey 2.05, LimeSurvey will officially support plugins. Some plugins will be supported by the LimeSurvey team and will go into core. Some will be supported by others outside the LimeSurvey team. To help find them, check out the [[Available third party plugins]] and add your own plugin to it!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Plugins allow users to customize the functionality of their installation while still being able to benefit from regular software updates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This documentation is meant for developers that are extending LimeSurvey for their own use or for their clients; end users will not be helped by this documentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Plugins must implement the [https://github.com/LimeSurvey/LimeSurvey/blob/master/application/libraries/PluginManager/iPlugin.php iPlugin] interface. We recommend extending your plugin class from the [https://github.com/LimeSurvey/LimeSurvey/blob/master/application/libraries/PluginManager/PluginBase.php PluginBase] class. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
Plugins are developed around an [http://manual.limesurvey.org/Plugin_events event] mechanism.&lt;br /&gt;
&lt;br /&gt;
== Plugin settings == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
By extending you benefit from common functionality required by plugins that we already have implemented for you. One of these function is the implementation of the getPluginSettings function. This function must return an array describing the configuration options for the user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
The example plugin exposes just 1 configurable setting, the message it&#039;ll show.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $settings = array(&lt;br /&gt;
    &#039;logo&#039; =&amp;gt; array(&lt;br /&gt;
          &#039;type&#039; =&amp;gt; &#039;logo&#039;,&lt;br /&gt;
          &#039;path&#039; =&amp;gt; &#039;assets/logo.png&#039;&lt;br /&gt;
     ),&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
     &#039;message&#039; =&amp;gt; array(&lt;br /&gt;
          &#039;type&#039; =&amp;gt; &#039;string&#039;,&lt;br /&gt;
          &#039;label&#039; =&amp;gt; &#039;Message&#039;&lt;br /&gt;
     )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
The array contains a name for each setting as a key. The values are arrays containing the required meta data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Supported types are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
* logo&lt;br /&gt;
* int (integer number)&lt;br /&gt;
* string (alphanumeric)&lt;br /&gt;
* text&lt;br /&gt;
* html&lt;br /&gt;
* relevance&lt;br /&gt;
* info&lt;br /&gt;
* password&lt;br /&gt;
* date&lt;br /&gt;
* select&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
Besides type a number of other keys are available:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
* label, defines a label &lt;br /&gt;
* default, defines a value to show if no value is specified (only for global settings, not for survey settings)&lt;br /&gt;
* current, defines the current value.&lt;br /&gt;
* readOnly : shown the settings as readonly&lt;br /&gt;
* htmlOptions, the htmlOptions of the input part ( see Yii manual [[https://www.yiiframework.com/doc/api/1.1/CHtml]])&lt;br /&gt;
* pluginOptions, for some settings (html or select) : set the widget option&lt;br /&gt;
* labelOptions : htmlOptions of the label&lt;br /&gt;
* controlOptions : htmlOptions of the wrapper of label and input&lt;br /&gt;
&lt;br /&gt;
You can find a plugin example using all actual settings at [https://gitlab.com/SondagesPro/SampleAndDemo/exampleSettings exampleSettings] &lt;br /&gt;
=== Read and write plugin settings === &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
It&#039;s possible to read and write plugin settings directly from your plugin code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mySetting = $this-&amp;gt;get(&#039;mySetting&#039;);&lt;br /&gt;
$this-&amp;gt;set(&#039;mySetting&#039;, $mySetting + 1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
You can get a default value if the setting happens to be null:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mySetting = $this-&amp;gt;get(&#039;mySetting&#039;, null, null, 10);  // 10 is default&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Events == &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Plugins subscribe to events and can interact with LimeSurvey when the event is fired. For a list of currently available events check [[Plugin events]].&lt;br /&gt;
&lt;br /&gt;
== API == &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Plugins should only extend LimeSurvey via its &amp;quot;public&amp;quot; API. This means that directly using classes found in the source code is a bad practice. Though we can&#039;t force you not to, you risk having a broken plugin with every minor update we do.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
As much as possible interact with LimeSurvey only via methods described [http://api.limesurvey.org/classes/LimeSurvey.PluginManager.LimesurveyApi.html here]. Same as for events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
The API object is available via &amp;lt;code&amp;gt;$this-&amp;gt;api&amp;lt;/code&amp;gt; when extending from PluginBase, otherwise you can get it from the PluginManager instance that is passed to your plugins&#039; constructor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
New functions can be added to the API object upon request.&lt;br /&gt;
&lt;br /&gt;
== Form extension{{NewIn|v=6}} == &amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Introduction === &amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
The form extension system is a more general way to extend forms in core LimeSurvey without adding a new event for each form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
It consists of the following components:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
* A global module called &#039;&#039;&#039;FormExtensionService&#039;&#039;&#039;&lt;br /&gt;
* A library of &#039;&#039;&#039;input classes&#039;&#039;&#039; that plugins can add to above module initialization&lt;br /&gt;
* A &#039;&#039;&#039;widget&#039;&#039;&#039;, together with custom renderers, that are used in the LimeSurvey view files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
Each form is identified by a &#039;&#039;&#039;position string&#039;&#039;&#039;, like &amp;lt;form name&amp;gt;&amp;lt;dot&amp;gt;&amp;lt;tab name&amp;gt;. Example: &amp;lt;code&amp;gt;globalsettings.general&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;globalsettings.security&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
The point behind a class-based system without HTML is to free the plugin authors of the work to update the HTML when the core HTML changes. Still, the author can use the &amp;lt;code&amp;gt;RawHtmlInput&amp;lt;/code&amp;gt; type if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
One thing you cannot do in this system is to add &#039;&#039;new form tabs&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Example === &amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
To add a new input to a form from a plugin, use the following code from your &amp;lt;code&amp;gt;init()&amp;lt;/code&amp;gt; function:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
TODO: Save in plugin settings instead of global&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// At top of file&lt;br /&gt;
use LimeSurvey\Libraries\FormExtension\Inputs\TextInput;&lt;br /&gt;
use LimeSurvey\Libraries\FormExtension\SaveFailedException;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
// Inside init()&lt;br /&gt;
Yii::app()-&amp;gt;formExtensionService-&amp;gt;add(&lt;br /&gt;
    &#039;globalsettings.general&#039;,&lt;br /&gt;
    new TextInput([&lt;br /&gt;
        &#039;name&#039; =&amp;gt; &#039;myinput&#039;,&lt;br /&gt;
        &#039;label&#039; =&amp;gt; &#039;Label&#039;,&lt;br /&gt;
        &#039;disabled&#039; =&amp;gt; true,&lt;br /&gt;
        &#039;tooltip&#039; =&amp;gt; &#039;Moo moo moo&#039;,&lt;br /&gt;
        &#039;help&#039; =&amp;gt; &#039;Some help text&#039;,&lt;br /&gt;
        &#039;save&#039; =&amp;gt; function($request, $connection) {&lt;br /&gt;
            $value = $request-&amp;gt;getPost(&#039;myinput&#039;);&lt;br /&gt;
            if ($value === &#039;some invalid value&#039;) {&lt;br /&gt;
                throw new SaveFailedException(&amp;quot;Could not save custom input &#039;myinput&#039;&amp;quot;);&lt;br /&gt;
            } else {&lt;br /&gt;
                SettingGlobal::setSetting(&#039;myinput&#039;, $value);&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &#039;load&#039; =&amp;gt; function () {&lt;br /&gt;
            return getGlobalSetting(&#039;myinput&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    ])&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Validation === &amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
Validation of the input is done in the &amp;lt;code&amp;gt;save&amp;lt;/code&amp;gt; function (see example above). If the posted value is invalid, throw a &amp;lt;code&amp;gt;SaveFailedException&amp;lt;/code&amp;gt;, and a warning flash message will be shown to the user.&lt;br /&gt;
&lt;br /&gt;
=== Supported forms === &amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
The following forms can be extended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
* globalsettings.general{{NewIn|v=6.0.0}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
If you want to add support for another core form, you need to apply the following change in a pull-request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
In the view file, add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
use LimeSurvey\Libraries\FormExtension\FormExtensionWidget;&lt;br /&gt;
use LimeSurvey\Libraries\FormExtension\Inputs\DefaultBaseRenderer;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
... more HTML&lt;br /&gt;
&amp;lt;?= FormExtensionWidget::render(&lt;br /&gt;
    App()-&amp;gt;formExtensionService-&amp;gt;getAll(&#039;globalsettings.security&#039;),&lt;br /&gt;
    new DefaultBaseRenderer()&lt;br /&gt;
); ?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
You might have to create a new renderer class based on &amp;lt;code&amp;gt;DefaultBaseRenderer&amp;lt;/code&amp;gt;, if the form HTML is different than other forms. You might also need to extend the default renderer class with input types not yet added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
The second change you have to do is add a call to the form extension service class in the controller action that saves the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$request = App()-&amp;gt;request;&lt;br /&gt;
Yii::app()-&amp;gt;formExtensionService-&amp;gt;applySave(&#039;globalsettings&#039;, $request);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
That&#039;s it!&lt;br /&gt;
&lt;br /&gt;
== Localization {{NewIn|v=3}} == &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
It&#039;s possible for plugins to add their own locale files. File format used is .mo, same as core translations. The files must be stored in &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&amp;lt;plugin root folder&amp;gt;/locale/&amp;lt;language&amp;gt;/&amp;lt;language&amp;gt;.mo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
where &amp;quot;&amp;lt;language&amp;gt;&amp;quot; is a two letter word like &amp;quot;de&amp;quot; or &amp;quot;fr&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
To use the specific locale file, use the plugin function gT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;gT(&amp;quot;A plugin text that needs to be translated&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
If the given string can&#039;t be found in the plugin specific locale file, the function will look in the core locale files. So it&#039;s safe to use strings like &amp;quot;Cancel&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;gT(&amp;quot;Cancel&amp;quot;);  // Will be translated even if &amp;quot;Cancel&amp;quot; is not in the plugin locale file&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
If you are using views together with your plugin, you should use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$plugin-&amp;gt;gT(&amp;quot;Translate me&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
to do plugin specific translation in your view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
You can use the [https://github.com/LimeSurvey/LimeSurvey/blob/master/locale/_template/limesurvey.pot limesurvey.pot] file as an example of how a pot file can look like. This is imported into your translation tool.&lt;br /&gt;
&lt;br /&gt;
=== Tools === &amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
One open-source tool to edit po- and mo-files is [https://poedit.net/ Poedit].&lt;br /&gt;
&lt;br /&gt;
== Logging {{NewIn|v=3}}  == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
If you want to log something from your plugin, just write&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;log(&amp;quot;Your message&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
The default logging level is trace, but you can give another log level as an optional second argument:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;log(&amp;quot;Something went wrong!&amp;quot;, CLogger::LEVEL_ERROR);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
The log file can be found in folder&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&amp;lt;limesurvey root folder&amp;gt;/tmp/runtime/plugin.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Your plugin name is automatically used as category. A nice way to see only the errors from your plugin is using grep (on Linux):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
 $ tail -f tmp/runtime/plugin.log | grep &amp;lt;your plugin name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
More info about configuring logging in Yii 1: [[Optional_settings#Logging_settings]].&lt;br /&gt;
&lt;br /&gt;
== Extension updates {{NewIn|v=4}} == &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Since LimeSurvey version 4.0.0, there&#039;s a system in place to deal with plugin and other extension updates. To use this system, your extension config.xml file needs to include updater configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updaters&amp;gt;&lt;br /&gt;
    &amp;lt;updater&amp;gt;&lt;br /&gt;
        &amp;lt;stable&amp;gt;1&amp;lt;/stable&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;rest&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;source&amp;gt;https://comfortupdate.limesurvey.org/index.php?r=limestorerest&amp;lt;/source&amp;gt;&lt;br /&gt;
        &amp;lt;manualUpdateUrl&amp;gt;https://somedownloadlink.com/maybegithub&amp;lt;/manualUpdateUrl&amp;gt;&lt;br /&gt;
    &amp;lt;/updater&amp;gt;&lt;br /&gt;
&amp;lt;/updaters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
(The source tag above points to the LimeStore REST API, which will be used for all extensions available in our LimeStore.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Updater tag descriptions&lt;br /&gt;
|-&lt;br /&gt;
! Tag &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| stable &lt;br /&gt;
| &amp;quot;1&amp;quot; if this source only gives you stable version numbers; &amp;quot;0&amp;quot; if the source will also provide unstable versions, like &amp;lt;code&amp;gt;0.3.3-beta&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| type &lt;br /&gt;
| For now, only type &amp;lt;code&amp;gt;rest&amp;lt;/code&amp;gt; is supported. It&#039;s easy to add new updater types (version checkers), like git, wget, etc.&lt;br /&gt;
|-&lt;br /&gt;
| source &lt;br /&gt;
| The URL to fetch new versions from.&lt;br /&gt;
|-&lt;br /&gt;
| manualUpdateUrl &lt;br /&gt;
| URL which the user can go to to update the latest version of the extension.&lt;br /&gt;
|-&lt;br /&gt;
| automaticUpdateUrl &lt;br /&gt;
| TODO&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
If you don&#039;t want to supply an updater, you should put the following text in your config XML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;updaters disabled=&amp;quot;disabled&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/updaters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
This way, you tell the system that you purposefully disabled the update system, and didn&#039;t just forget to add it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
The new plugin &#039;&#039;&#039;UpdateCheck&#039;&#039;&#039; - installed and activated by default - checks for new updates for &#039;&#039;all&#039;&#039; installed extensions when a super admin logs in, asynchronously, max one time every 24 hours. If any new versions are found, a notification is pushed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
[[File:availableupdates.png||Available updates]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
If a new security update is found, the notification will open automatically and be styled in &amp;quot;danger&amp;quot; class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
[[File:availablesecurityupdates.png||Available security updates]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
You can manually check for updates by going to the plugin manager view and click on &amp;quot;Check updates&amp;quot;. Note that this button is only visible if the UpdateCheck plugin is activated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
[[File:manuallycheckforupdates.png||Manually check for updates]]&lt;br /&gt;
&lt;br /&gt;
=== Under the hood === &amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
This section provides a brief overview over the extension updater implementation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
The extension updater is part of the ExtensionInstaller library. Below is a UML diagram for the classes related to the updater process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
[[File:extensionupdateruml.png||Extension updater UML diagram]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
Program flow when Yii starts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Yii init&lt;br /&gt;
   VersionFetcherServiceLocator-&amp;gt;init()&lt;br /&gt;
     Add REST version fetcher&lt;br /&gt;
   ExtensionUpdaterServiceLocator-&amp;gt;init()&lt;br /&gt;
     Add PluginUpdater&lt;br /&gt;
     TODO: Add an updater for each extension type (theme, question template, ...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
Program flow when running the UpdaterCheck plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Get all updaters from ExtensionUpdaterServiceLocator&lt;br /&gt;
 Loop each updater&lt;br /&gt;
   For each updater, loop through version fetchers configured by &amp;lt;updater&amp;gt; XML&lt;br /&gt;
     For each version fetcher, contact remote source and get version information&lt;br /&gt;
 Compose all versions into a notification&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
The [https://github.com/LimeSurvey/LimeSurvey/blob/develop/application/core/plugins/UpdateCheck/UpdateCheck.php#L130 checkAll] method in the UpdateCheck plugin provides an example of how to query all extensions for new versions.&lt;br /&gt;
&lt;br /&gt;
==== Adding new version fetchers ==== &amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
To add a new custom version fetcher, run this during Yii initialization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$service = \Yii::app()-&amp;gt;versionFetcherServiceLocator&lt;br /&gt;
$service-&amp;gt;addVersionFetcherType(&lt;br /&gt;
  &#039;myNewVersionFetcherType&#039;,&lt;br /&gt;
  function (\SimpleXMLElement $updaterXml) {&lt;br /&gt;
    return new MyNewVersionFetcher($updaterXml);&lt;br /&gt;
  }&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Of course, the class &amp;lt;code&amp;gt;MyNewVersionFetcher&amp;lt;/code&amp;gt; has to subclass &amp;lt;code&amp;gt;VersionFetcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
To use your new version fetcher, configure the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; tag in the updater XML to use &lt;br /&gt;
&amp;lt;code&amp;gt;myNewVersionFetcherType&amp;lt;/code&amp;gt; (instead of e.g. &amp;lt;code&amp;gt;rest&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Adding new extension updaters ==== &amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
To add a new custom extension updater, run this during Yii initialization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$service = \Yii::app()-&amp;gt;extensionUpdaterServiceLocator;&lt;br /&gt;
$service-&amp;gt;addUpdaterType(&lt;br /&gt;
  &#039;myNewExtensionUpdater&#039;,&lt;br /&gt;
  function () {&lt;br /&gt;
    return MyNewExtensionUpdater::createUpdaters();&lt;br /&gt;
  }&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
Class &amp;lt;code&amp;gt;MyNewExtensionUpdater&amp;lt;/code&amp;gt; has to subclass &amp;lt;code&amp;gt;ExtensionUpdater&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
The top &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; tag in config.xml (&#039;plugin&#039;, &#039;theme&#039;, ...) will control which extension updater are used for this extension. The system is not fully customizable  yet, since you also need to add a custom ExtensionInstaller, menu items, etc. But in theory, and maybe in the future, it should be possible to add a new type of extension this way.&lt;br /&gt;
&lt;br /&gt;
== Extension installer == &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
The extension installer library consists of two abstract classes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
* ExtensionInstaller&lt;br /&gt;
* FileFetcher&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
The ExtensionInstaller is subclassed for each extension type, like PluginInstaller, QuestionThemeInstaller, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
The FileFetcher is subclassed for each different way to fetch files. Currently, only uploaded zip files are supported, but in the future, there could be a Github or LimeStore fetcher too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
[[File: extensioninstalleruml.png]]&lt;br /&gt;
&lt;br /&gt;
== Special plugins == &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
* [[Authentication plugin development]]&lt;br /&gt;
* [[Export plugin development]]&lt;br /&gt;
&lt;br /&gt;
== Available plugins == &amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
* [[Authentication plugins]]&lt;br /&gt;
* [[Audit log]]&lt;br /&gt;
* [[AzureOAuthSMTP Plugin]]&lt;br /&gt;
* [[CintLink]]&lt;br /&gt;
* [[Available third party plugins]]&lt;br /&gt;
&lt;br /&gt;
== Tutorial == &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
[https://medium.com/@evently/creating-limesurvey-plugins-adcdf8d7e334 This] step-by-step tutorial shows how to create a plugin that sends a post request on every survey response submission. The tutorial shows you how to create and save global and per-survey settings, how to register events and more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plugins]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300640</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300640"/>
		<updated>2023-11-23T14:00:14Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Under &#039;&#039;Azure Services&#039;&#039;, click on &#039;&#039;App Registrations&#039;&#039;&lt;br /&gt;
# Click &#039;&#039;New Registration&#039;&#039;.&lt;br /&gt;
# Enter a name for your web app and select &#039;&#039;Who will have access to the Application&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Register&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(5).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, you will land on the &#039;&#039;Overview&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Focus on the &#039;&#039;Essentials&#039;&#039; section.&lt;br /&gt;
# Under the section &#039;&#039;Client Credentials&#039;&#039;, click &#039;&#039;Add a certificate or a secret&#039;&#039; and add a &#039;&#039;secret&#039;&#039;.&lt;br /&gt;
# Under the section &#039;&#039;Redirect URIs&#039;&#039;, click &#039;&#039;Add the Redirect URI&#039;&#039;, which you can copy it if from the plugin &#039;&#039;settings&#039;&#039; page.&lt;br /&gt;
# Now you have created the application and you can copy &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039; and &#039;&#039;Tenant Id&#039;&#039; values to carry over to the plugin settings.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Settings&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Please notice the &#039;&#039;Help&#039;&#039; section on the top.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Notice the &#039;&#039;Tenant ID&#039;&#039; usually shall be set to &#039;&#039;consumers&#039;&#039;, still that depends on the Azure Application.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(4).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Scroll down and select the the &#039;&#039;Plugin&#039;&#039; that will be used for sending emails.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Please find below some additional documentation which could be usefull:&lt;br /&gt;
&lt;br /&gt;
* General OAuth Azure Process&lt;br /&gt;
https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth&lt;br /&gt;
&lt;br /&gt;
* Environment Setup&lt;br /&gt;
https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300639</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300639"/>
		<updated>2023-11-23T13:56:42Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Under &#039;&#039;Azure Services&#039;&#039;, click on &#039;&#039;App Registrations&#039;&#039;&lt;br /&gt;
# Click &#039;&#039;New Registration&#039;&#039;.&lt;br /&gt;
# Enter a name for your web app and select &#039;&#039;Who will have access to the Application&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Register&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(5).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, you will land on the &#039;&#039;Overview&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Focus on the &#039;&#039;Essentials&#039;&#039; section.&lt;br /&gt;
# Under the section &#039;&#039;Client Credentials&#039;&#039;, click &#039;&#039;Add a certificate or a secret&#039;&#039; and add a &#039;&#039;secret&#039;&#039;.&lt;br /&gt;
# Under the section &#039;&#039;Redirect URIs&#039;&#039;, click &#039;&#039;Add the Redirect URI&#039;&#039;, which you can copy it if from the plugin &#039;&#039;settings&#039;&#039; page.&lt;br /&gt;
# Now you have created the application and you can copy &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039; and &#039;&#039;Tenant Id&#039;&#039; values to carry over to the plugin settings.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Settings&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Please notice the &#039;&#039;Help&#039;&#039; section on the top.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Notice the &#039;&#039;Tenant ID&#039;&#039; usually shall be set to &#039;&#039;consumers&#039;&#039;, still that depends on the Azure Application.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(4).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Scroll down and select the the &#039;&#039;Plugin&#039;&#039; that will be used for sending emails.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300638</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300638"/>
		<updated>2023-11-23T13:53:41Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Once your web app is created, go to the Authentication tab. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Under &#039;&#039;Azure Services&#039;&#039;, click on &#039;&#039;App Registrations&#039;&#039;&lt;br /&gt;
# Click &#039;&#039;New Registration&#039;&#039;.&lt;br /&gt;
# Enter a name for your web app and select &#039;&#039;Who will have access to the Application&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Register&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(5).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, you will land on the &#039;&#039;Overview&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Focus on the &#039;&#039;Essentials&#039;&#039; section.&lt;br /&gt;
# Under the section &#039;&#039;Client Credentials&#039;&#039;, click &#039;&#039;Add a certificate or a secret&#039;&#039; and add a &#039;&#039;secret&#039;&#039;.&lt;br /&gt;
# Under the section &#039;&#039;Redirect URIs&#039;&#039;, click &#039;&#039;Add the Redirect URI&#039;&#039;, which you can copy it if from the plugin &#039;&#039;settings&#039;&#039; page.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Settings&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Please notice the &#039;&#039;Help&#039;&#039; section on the top.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Notice the &#039;&#039;Tenant ID&#039;&#039; usually shall be set to &#039;&#039;consumers&#039;&#039;, still that depends on the Azure Application.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Scroll down and select the the &#039;&#039;Plugin&#039;&#039; that will be used for sending emails.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300637</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300637"/>
		<updated>2023-11-23T13:50:07Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Set up the OAuth 2.0 Web Application in Azure Portal. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Under &#039;&#039;Azure Services&#039;&#039;, click on &#039;&#039;App Registrations&#039;&#039;&lt;br /&gt;
# Click &#039;&#039;New Registration&#039;&#039;.&lt;br /&gt;
# Enter a name for your web app and select &#039;&#039;Who will have access to the Application&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Register&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(5).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Settings&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Please notice the &#039;&#039;Help&#039;&#039; section on the top.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Notice the &#039;&#039;Tenant ID&#039;&#039; usually shall be set to &#039;&#039;consumers&#039;&#039;, still that depends on the Azure Application.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Scroll down and select the the &#039;&#039;Plugin&#039;&#039; that will be used for sending emails.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(5).jpeg&amp;diff=300636</id>
		<title>File:AzureOAuthSMTP Plugin (5).jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(5).jpeg&amp;diff=300636"/>
		<updated>2023-11-23T13:44:14Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(4).jpeg&amp;diff=300635</id>
		<title>File:AzureOAuthSMTP Plugin (4).jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(4).jpeg&amp;diff=300635"/>
		<updated>2023-11-23T13:43:19Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: AzureOAuthSMTP Plugin: Getting a Token&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
AzureOAuthSMTP Plugin: Getting a Token&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300634</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=300634"/>
		<updated>2023-11-23T13:40:54Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Settings&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Please notice the &#039;&#039;Help&#039;&#039; section on the top.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Notice the &#039;&#039;Tenant ID&#039;&#039; usually shall be set to &#039;&#039;consumers&#039;&#039;, still that depends on the Azure Application.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Scroll down and select the the &#039;&#039;Plugin&#039;&#039; that will be used for sending emails.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298683</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298683"/>
		<updated>2023-11-22T20:39:54Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298682</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298682"/>
		<updated>2023-11-22T20:33:01Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Test the AzureOAuthSMTP plugin. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298681</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298681"/>
		<updated>2023-11-22T20:32:47Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Configure the AzureOAuthSMTP plugin in LimeSurvey. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|center]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298680</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298680"/>
		<updated>2023-11-22T20:32:16Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Configure the AzureOAuthSMTP plugin in LimeSurvey. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298679</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298679"/>
		<updated>2023-11-22T20:23:18Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Test the AzureOAuthSMTP plugin. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(1).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298678</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298678"/>
		<updated>2023-11-22T20:22:40Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Configure the AzureOAuthSMTP plugin in LimeSurvey. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(2).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
&lt;br /&gt;
[[File:AzureOAuthSMTP_Plugin_(3).jpeg|600px|thumb|left|alt text]]&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(3).jpeg&amp;diff=298677</id>
		<title>File:AzureOAuthSMTP Plugin (3).jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(3).jpeg&amp;diff=298677"/>
		<updated>2023-11-22T20:17:46Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: AzureOAuthSMTP Plugin Settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
AzureOAuthSMTP Plugin Settings&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(2).jpeg&amp;diff=298676</id>
		<title>File:AzureOAuthSMTP Plugin (2).jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(2).jpeg&amp;diff=298676"/>
		<updated>2023-11-22T20:17:00Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: AzureOAuthSMTP_Plugin Main Screen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
AzureOAuthSMTP_Plugin Main Screen&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(1).jpeg&amp;diff=298675</id>
		<title>File:AzureOAuthSMTP Plugin (1).jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:AzureOAuthSMTP_Plugin_(1).jpeg&amp;diff=298675"/>
		<updated>2023-11-22T20:16:08Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Setting up Email Global Settings for using an Email Plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Setting up Email Global Settings for using an Email Plugin&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298674</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298674"/>
		<updated>2023-11-22T20:10:28Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Test the AzureOAuthSMTP plugin. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;Plugin&#039;&#039; as the &#039;&#039;Email Method&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298673</id>
		<title>AzureOAuthSMTP Plugin</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=AzureOAuthSMTP_Plugin&amp;diff=298673"/>
		<updated>2023-11-22T20:06:12Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Tutorial AzureOAuthSMTP Plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorial: How to use the AzureOAuthSMTP plugin for LimeSurvey ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Access LimeSurvey over HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Set up the OAuth 2.0 Web Application in Azure Portal. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the Azure Portal and sign in.&lt;br /&gt;
# Click &#039;&#039;New&#039;&#039; &amp;amp;gt; &#039;&#039;App Services&#039;&#039; &amp;amp;gt; &#039;&#039;Web App&#039;&#039;.&lt;br /&gt;
# In the &#039;&#039;Basics&#039;&#039; tab, enter a name for your web app and select a region.&lt;br /&gt;
# Under &#039;&#039;Runtime stack&#039;&#039;, if required, select &#039;&#039;Windows&#039;&#039; and &#039;&#039;PHP&#039;&#039; &amp;amp;gt; &#039;&#039;7.4&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Next&#039;&#039; and then &#039;&#039;Create&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Once your web app is created, go to the &#039;&#039;Authentication&#039;&#039; tab. ====&lt;br /&gt;
&lt;br /&gt;
# Click &#039;&#039;Add a provider&#039;&#039; and select &#039;&#039;Azure Active Directory&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Create&#039;&#039; and then &#039;&#039;Create a new tenant&#039;&#039;.&lt;br /&gt;
# Follow the instructions to create a new tenant and Azure Active Directory application.&lt;br /&gt;
# Once you have created the application, copy the &#039;&#039;Client ID&#039;&#039; and &#039;&#039;Client Secret&#039;&#039; values.&lt;br /&gt;
&lt;br /&gt;
==== Activate the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Plugins&#039;&#039; page in LimeSurvey.&lt;br /&gt;
# Find the AzureOAuthSMTP plugin and click &#039;&#039;Activate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Configure the AzureOAuthSMTP plugin in LimeSurvey. ====&lt;br /&gt;
&lt;br /&gt;
# Go to the &#039;&#039;Configuration&#039;&#039; page for the AzureOAuthSMTP plugin.&lt;br /&gt;
# Enter the &#039;&#039;Client ID&#039;&#039;, &#039;&#039;Client Secret&#039;&#039;, and &#039;&#039;Tenant ID&#039;&#039; values that you copied from Azure Portal.&lt;br /&gt;
# Click &#039;&#039;Save&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Get a new OAuth token. ====&lt;br /&gt;
&lt;br /&gt;
# At plugin&#039;s overview page, click the &#039;&#039;Get new token&#039;&#039; link to open Azure&#039;s consent screen in a new window.&lt;br /&gt;
# Follow the steps in the consent screen and check the requested permissions.&lt;br /&gt;
# Once you have granted permission, you will be redirected back to LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
==== Test the AzureOAuthSMTP plugin. ====&lt;br /&gt;
&lt;br /&gt;
# Go to Global Settings&lt;br /&gt;
# In the &#039;&#039;Email&#039;&#039; settings, select &#039;&#039;AzureOAuthSMTP&#039;&#039; as the &#039;&#039;SMTP server&#039;&#039;.&lt;br /&gt;
# Save&lt;br /&gt;
# Click &#039;&#039;Test&#039;&#039; to send a test email.&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
&lt;br /&gt;
* If you are using a self-hosted version of LimeSurvey, you will need to configure your web server to allow HTTPS traffic.&lt;br /&gt;
* If you are using a cloud-hosted version of LimeSurvey, such as Limesurvey Cloud, you will not need to configure HTTPS traffic.&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Text_elements&amp;diff=175475</id>
		<title>Text elements</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Text_elements&amp;diff=175475"/>
		<updated>2022-12-26T17:24:29Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Friendly URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Introduction= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
From the [[Text elements#Survey text elements panel|survey text elements panel]] you can edit the title of the survey and its description, welcome and end messages, end URL of your survey, and the format of the decimal mark and date.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
To view or change the text elements, click the &#039;&#039;&#039;Settings&#039;&#039;&#039; tab and select &#039;&#039;&#039;Text elements&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Text_elements_settings_location.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Survey text elements panel= &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The following fields are located in this panel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Settings Menu - Survey texts.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Survey title== &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
The title of the survey can be changed in this field.&lt;br /&gt;
&lt;br /&gt;
==Survey Alias {{NewIn|5.5}}==&lt;br /&gt;
&lt;br /&gt;
You have the ability to assign &amp;quot;alias&amp;quot; to a survey, allowing participants to take the survey using a friendly URL.&lt;br /&gt;
&lt;br /&gt;
The alias of the survey can be changed in this field. You can have different alias per languages.&lt;br /&gt;
You don&#039;t need to set alias for all languages.&lt;br /&gt;
&lt;br /&gt;
After setting the alias, the short/friendly URL will be avalable in the survey summary to be shared.&lt;br /&gt;
&lt;br /&gt;
==Description== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
You can add a survey description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==End URL== &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
You have the ability to redirect users to another page when they complete the survey.  If you wish to redirect them, type in the URL and activate the &#039;&#039;&#039;automatically load URL&#039;&#039;&#039; option that is located under the [[Surveys - introduction#Presentation &amp;amp; navigation|Presentation &amp;amp; navigation tab]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
You can construct your url, see [[URL_fields#End_URL_field|details]] on the way to do.&lt;br /&gt;
&lt;br /&gt;
==URL description== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
A short end URL description can be added in the case the user is redirected to a non-related survey webpage. It may help the survey administrator to add notes vis-à-vis the usage of the respective URL.&lt;br /&gt;
&lt;br /&gt;
==Date format== &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
This option is important when you want to record [[Surveys - introduction#Notification &amp;amp; data management|timestamps]] together with the survey participants&#039; answers. If you click it, a drop-down list with a number of date formats will be displayed.  Choose the one that fits your survey participants. Do not forget that different date formats are used across the world. For example, it is recommended to use a different time format if your survey focuses on the US market (mm-dd-yyyy) and not on the British market (dd-mm-yy).&lt;br /&gt;
&lt;br /&gt;
==Decimal mark== &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Two options are available: dot (.) and comma (,). Choose the one that fits the place where you conduct your study (e.g, US vs Germany).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Welcome message== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Type in a message that will welcome the survey participants when they access your survey link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==End message== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Type in a message that will be displayed to the survey participants when they complete the survey.  If the end URL field is automatically loaded, the end message will no longer be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:help.png]] &#039;&#039;&#039;Hint:&#039;&#039;&#039; If enabled from the [[Global settings|global settings]], use the [[Global_settings#General|HTML editor]] to better customize the welcome and end messages, and the description of the survey.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{Box|If your survey is multilingual, each language will have a corresponding tab on the languages toolbar (they will be displayed after the base language).}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Answer_order&amp;diff=175461</id>
		<title>QS:Answer order</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Answer_order&amp;diff=175461"/>
		<updated>2022-12-19T13:31:14Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Answer order (answer_order)=== &amp;lt;!--T:544--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:545--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:546--&amp;gt;&lt;br /&gt;
This attribute allows to set the order of answer options. {{NewIn|5.5.0|b=221219}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:547--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Available options&#039;&#039;&#039;&lt;br /&gt;
*Normal (default)&lt;br /&gt;
*Alphabetically&lt;br /&gt;
*Random - Randomize when participant enters survey&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:550--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:551--&amp;gt;&lt;br /&gt;
See [https://survey-consulting.com/how-to-randomize-items-at-limesurvey/#Randomizing_the_order_of_answersitems this example] (outside link) to better understand how to use different LimeSurvey randomization features. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:549--&amp;gt;&lt;br /&gt;
[[Category:Question Settings]][[Category:Question Display Options]]&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_with_comment&amp;diff=175460</id>
		<title>Question type - List with comment</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_with_comment&amp;diff=175460"/>
		<updated>2022-12-19T13:30:56Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type displays a list of radio buttons, while allowing the participants to provide a additional comment with their submission.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:O_ListComment.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:List with comment example.lsq.zip|List_with_comment_example.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
Please note that mandatory only applies to the list of options - _not_ the comment field. Currently, there is no option to make the comment field also mandatory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{QS:Answer_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{{QS:Question theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
{{QS:CSS Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
{{QS:Use dropdown}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
{{QS:Printable_survey_relevance_help}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Single choice questions]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Dropdown)&amp;diff=175459</id>
		<title>Question type - List (Dropdown)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Dropdown)&amp;diff=175459"/>
		<updated>2022-12-19T13:29:39Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type collects input from a dropdown list menu. You can also create subcategories within this list by making use of the &amp;quot;Category separator&amp;quot; attribute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:EM_ListR.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:List dropdown question.zip|List dropdown question.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:Answer_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:category_separator}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:Other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
{{QS:Question theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{QS:CSS Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
{{QS:dropdown_size}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
{{QS:Printable survey relevance help}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{{QS:dropdown_prefix}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:other_comment_mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
=Timer= &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{QS:time_limit}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
{{QS:time_limit_action}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_next}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_prev}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:time_limit_countdown_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
{{QS:time_limit_timer_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_delay}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_display_time}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Single choice questions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Dropdown)&amp;diff=175458</id>
		<title>Question type - List (Dropdown)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Dropdown)&amp;diff=175458"/>
		<updated>2022-12-19T13:29:11Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type collects input from a dropdown list menu. You can also create subcategories within this list by making use of the &amp;quot;Category separator&amp;quot; attribute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:EM_ListR.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:List dropdown question.zip|List dropdown question.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:Answer_Order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:category_separator}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:Random_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:Other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
{{QS:Question theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{QS:CSS Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
{{QS:dropdown_size}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
{{QS:Printable survey relevance help}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{{QS:dropdown_prefix}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:other_comment_mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
=Timer= &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{QS:time_limit}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
{{QS:time_limit_action}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_next}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_prev}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:time_limit_countdown_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
{{QS:time_limit_timer_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_delay}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_display_time}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Single choice questions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Radio)&amp;diff=175457</id>
		<title>Question type - List (Radio)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Radio)&amp;diff=175457"/>
		<updated>2022-12-19T13:28:37Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type collects input from a list of radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:657--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:L_ListR.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:List radio example.zip|List_radio_example.zip]]&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:Answer_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
{{QS:Question theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:display_columns}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{QS:CSS Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
{{QS:Printable survey relevance help}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:array_filter_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:array_filter}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:array_filter_exclude}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:other_numbers_only}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:other_comment_mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
=Timer= &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:656--&amp;gt;&lt;br /&gt;
The following question types support timers:&lt;br /&gt;
* [[Question type - Text display|Text display]] &lt;br /&gt;
* [[Question type - List (Radio)| List (Radio)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:655--&amp;gt;&lt;br /&gt;
The timer attributes work best with surveys using the [[General settings|Question by question]] format. They can also be used in the surveys that use the [[General settings|Group by group]] format. But, running the group by group format can break the mandatory questions, and implicitly, the survey.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{QS:time_limit}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
{{QS:time_limit_action}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_next}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_prev}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
{{QS:time_limit_countdown_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
{{QS:time_limit_timer_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_delay}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_display_time}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Single choice questions]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_Ranking&amp;diff=175455</id>
		<title>Question type - Ranking</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_Ranking&amp;diff=175455"/>
		<updated>2022-12-19T13:27:39Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type allows you to present your survey participants a list of possible answers/options, which they may then rank according to their preferences.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:ranking_example.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:Question_type_ranking.zip|Question type ranking.zip]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{Alert|Enabling the &#039;&#039;&#039;mandatory&#039;&#039;&#039; attribute in a ranking question type forces your respondents to assess all the answer options. If you wish to make your respondents rank a minimum and/or maximum number answer options, use the [[Question type - Ranking#Minimum answers (min_answers)|minimum answers]] and [[Question type - Ranking#Maximum answers (max_answers)|maximum answers]] question attributes to set the lower and upper limits.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
{{QS:Question_theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Answer_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
{{QS:CSS_Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
{{QS:showpopups}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{{QS:samechoiceheight}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{{QS:samelistheight}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:Printable_survey_relevance_help}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:min_answers}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:max_answers}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:max_subquestions}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:array_filter}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:array_filter_exclude}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
{{QS:array_filter_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
{{QS:Choice_header}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{QS:Rank_header}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Mask questions]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Alphasort&amp;diff=175453</id>
		<title>QS:Alphasort</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Alphasort&amp;diff=175453"/>
		<updated>2022-12-19T13:23:18Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Deprecation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sort answers alphabetically (alphasort)=== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
{{Deprecated|5.5.0|[[QS:Answer_order]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
If you use a list of radiobuttons or a dropdown list, you can order this list alphabetically by activating this option.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Available options&#039;&#039;&#039;&lt;br /&gt;
*On&lt;br /&gt;
*Off (default)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
[[Category:Question Settings]][[Category:Question Display Options]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Random_order&amp;diff=175452</id>
		<title>QS:Random order</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Random_order&amp;diff=175452"/>
		<updated>2022-12-19T13:21:59Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Deprecation for Answer Options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Random answer order (random_order)=== &amp;lt;!--T:544--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:545--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:546--&amp;gt;&lt;br /&gt;
{{Alert|title=Deprecated for Answer Options|text=As of 5.5.0, this attribute is not longer used for ordering answer options. Please see [[QS:Answer_order]]}}&lt;br /&gt;
&lt;br /&gt;
This attribute causes LimeSurvey to ignore the existing order of answer options/subquestions, and instead it orders them randomly. This option permits the survey creator to diminish the survey bias. Please note that if a question has subquestions, the order of subquestions will be randomized, not the order of the answer options.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:547--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Available options&#039;&#039;&#039;&lt;br /&gt;
*Yes - Randomize when participant enters survey&lt;br /&gt;
*No (default)&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:550--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:551--&amp;gt;&lt;br /&gt;
See [https://survey-consulting.com/how-to-randomize-items-at-limesurvey/#Randomizing_the_order_of_answersitems this example] (outside link) to better understand how to use different LimeSurvey randomization features. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:549--&amp;gt;&lt;br /&gt;
[[Category:Question Settings]][[Category:Question Display Options]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Answer_order&amp;diff=175451</id>
		<title>QS:Answer order</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Answer_order&amp;diff=175451"/>
		<updated>2022-12-19T13:16:00Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Answer order (answer_order)=== &amp;lt;!--T:544--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:545--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:546--&amp;gt;&lt;br /&gt;
This attribute allows to set the order of answer options. {{NewIn|5.5.0|b=221219}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:547--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Available options&#039;&#039;&#039;&lt;br /&gt;
*Normal (default)&lt;br /&gt;
*Alphabetically&lt;br /&gt;
*Random - Randomize when participant enters survey&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:550--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:551--&amp;gt;&lt;br /&gt;
See [https://survey-consulting.com/how-to-randomize-items-at-limesurvey/#Randomizing_the_order_of_answersitems this example] (outside link) to better understand how to use different LimeSurvey randomization features. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:549--&amp;gt;&lt;br /&gt;
[[Category:Question Settings]][[Category:Question Display Options]]&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample.png&amp;diff=174995</id>
		<title>File:DateFunctions-LocalizeDate Sample.png</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample.png&amp;diff=174995"/>
		<updated>2022-11-23T17:00:19Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Gabrieljenik moved page File:DateFunctions-LocalizeDate Sample.png to File:DateFunctions-LocalizeDate Sample Email Template.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[File:DateFunctions-LocalizeDate Sample Email Template.png]]&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample_Email_Template.png&amp;diff=174994</id>
		<title>File:DateFunctions-LocalizeDate Sample Email Template.png</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample_Email_Template.png&amp;diff=174994"/>
		<updated>2022-11-23T17:00:19Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Gabrieljenik moved page File:DateFunctions-LocalizeDate Sample.png to File:DateFunctions-LocalizeDate Sample Email Template.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Sample usage of localize_date funciton (dateFunctions plugin)&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample_Welcome.png&amp;diff=174993</id>
		<title>File:DateFunctions-LocalizeDate Sample Welcome.png</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample_Welcome.png&amp;diff=174993"/>
		<updated>2022-11-23T16:58:31Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Example usage of Localize Date on Welcome Message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Example usage of Localize Date on Welcome Message&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=DateFunctions&amp;diff=174992</id>
		<title>DateFunctions</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=DateFunctions&amp;diff=174992"/>
		<updated>2022-11-23T16:57:52Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{FeatureStarting|5.X.Y}} &lt;br /&gt;
&lt;br /&gt;
=Usage= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Functions for the ExpressionScript engine to handle date variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* localize_date(date[, language = null]): Formats a date according to the Survey&#039;s date format for the specified language. &lt;br /&gt;
** The date given should follow the following format &amp;quot;Y-m-d H:i:s&amp;quot;, which is for example the one used by the TOKEN:VALIDFROM variable. &lt;br /&gt;
** The language used for localization defaults to current session language. If the current language is not configured in the survey, the survey base language will be used. When using in email templates, please use the token language as parameter as to set the expected language. Example: TOKEN:LANGUAGE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
This plugin uses the [[ExpressionManagerStart]] plugin, and it creates this function. These 2 functions don&#039;t use JavaScript, so they are fully executed by the server. In case the function is used while taking a survey, the function will be executed only when the respondent moves ahead in the survey.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
{{Alert|Before using these functions, the plugin must be activated in [[Plugin_manager#General|Plugin Manager]].}}&lt;br /&gt;
&lt;br /&gt;
=Usage Example on Welcome Message=&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
[[File:DateFunctions-LocalizeDate Sample Welcome.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=Usage Example on Email Template=&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
[[File:DateFunctions-LocalizeDate Sample.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[Category:Plugins]][[Category:Core Plugins]]&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample_Email_Template.png&amp;diff=174991</id>
		<title>File:DateFunctions-LocalizeDate Sample Email Template.png</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:DateFunctions-LocalizeDate_Sample_Email_Template.png&amp;diff=174991"/>
		<updated>2022-11-23T16:51:41Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Gabrieljenik uploaded a new version of File:DateFunctions-LocalizeDate Sample.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Sample usage of localize_date funciton (dateFunctions plugin)&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_Multiple_choice_with_comments&amp;diff=174980</id>
		<title>Question type - Multiple choice with comments</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_Multiple_choice_with_comments&amp;diff=174980"/>
		<updated>2022-11-21T17:52:48Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Add Other Position #7367&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type can collect input of multiple selections through checkboxes, while allowing the user to provide additional comments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:P_multiple_options_with_comment.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:Multiple choice with questions example.zip|Multiple choice with questions example.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
{{QS:Preg_validation}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
{{QS:Choice_column_width}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
{{QS:Text_input_width}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
{{QS:Question_theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Random_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:Other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{QS:CSS_Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
{{QS:Printable_survey_relevance_help}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:min_answers}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:max_answers}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:assessment_value}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:other_numbers_only}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:other_comment_mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
{{QS:array_filter_exclude}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
{{QS:array_filter_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:array_filter}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{{QS:Commented_checkbox}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
{{QS:Remove text or uncheck checkbox}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
{{QS:Exclusive option}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
{{QS:Autocheck exclusive option}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Multiple choice questions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_Multiple_choice&amp;diff=174979</id>
		<title>Question type - Multiple choice</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_Multiple_choice&amp;diff=174979"/>
		<updated>2022-11-21T17:52:14Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Add Other Position #7367&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type can collect input of multiple selections through checkboxes.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:M_multiple_options.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: [[Media:Multiple choice question type example.zip|Multiple choice question type example]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
{{QS:Question_theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:Random_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:Other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:display_columns}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
{{QS:Text_input_width}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
{{QS:CSS_Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
{{QS:Printable_survey_relevance_help}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{{QS:min_answers}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:max_answers}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:array_filter_exclude}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
{{QS:other_numbers_only}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:assessment_value}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:Array_filter_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:array_filter}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
{{QS:Exclusive option}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
{{QS:Autocheck exclusive option}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Multiple choice questions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Dropdown)&amp;diff=174978</id>
		<title>Question type - List (Dropdown)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Dropdown)&amp;diff=174978"/>
		<updated>2022-11-21T17:50:50Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Add Other Position #7367&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type collects input from a dropdown list menu. You can also create subcategories within this list by making use of the &amp;quot;Category separator&amp;quot; attribute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:EM_ListR.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:List dropdown question.zip|List dropdown question.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:Alphasort}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:category_separator}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:Random_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:Other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
{{QS:Question theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{QS:CSS Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
{{QS:dropdown_size}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
{{QS:Printable survey relevance help}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{{QS:dropdown_prefix}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:other_comment_mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
=Timer= &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{QS:time_limit}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
{{QS:time_limit_action}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_next}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_prev}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:time_limit_countdown_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
{{QS:time_limit_timer_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_delay}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_display_time}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Single choice questions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Radio)&amp;diff=174977</id>
		<title>Question type - List (Radio)</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Question_type_-_List_(Radio)&amp;diff=174977"/>
		<updated>2022-11-21T17:49:05Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Add Other Position #7367&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Short description= &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;{{#ifeq:{{{transcludesection|short_description}}}|short_description|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
This question type collects input from a list of radio buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:657--&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:L_ListR.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; [[Media:List radio example.zip|List_radio_example.zip]]&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=General options= &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
{{QS:other}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
{{QS:mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
{{QS:relevance}}&lt;br /&gt;
&lt;br /&gt;
=Display= &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{{QS:Alphasort}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
{{QS:Random_order}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
{{QS:other_replace_text}}&lt;br /&gt;
{{QS:other_Position}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
{{QS:Question theme}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{{QS:display_columns}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
{{QS:Hide_tip}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
{{QS:Hidden}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
{{QS:CSS Class}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
{{QS:Printable survey relevance help}}&lt;br /&gt;
&lt;br /&gt;
=Logic= &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
{{QS:array_filter_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
{{QS:array_filter}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
{{QS:array_filter_exclude}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{{QS:other_numbers_only}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{{QS:other_comment_mandatory}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
{{QS:Random_group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q}} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
{{QS:em_validation_q_tip}}&lt;br /&gt;
&lt;br /&gt;
=Other= &amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
{{QS:Page_break}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
{{QS:scale_export}}&lt;br /&gt;
&lt;br /&gt;
=Statistics= &amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
{{QS:Public_statistics}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
{{QS:Display_chart}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
{{QS:Chart_type}}&lt;br /&gt;
&lt;br /&gt;
=Timer= &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:656--&amp;gt;&lt;br /&gt;
The following question types support timers:&lt;br /&gt;
* [[Question type - Text display|Text display]] &lt;br /&gt;
* [[Question type - List (Radio)| List (Radio)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:655--&amp;gt;&lt;br /&gt;
The timer attributes work best with surveys using the [[General settings|Question by question]] format. They can also be used in the surveys that use the [[General settings|Group by group]] format. But, running the group by group format can break the mandatory questions, and implicitly, the survey.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{{QS:time_limit}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
{{QS:time_limit_action}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_next}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
{{QS:time_limit_disable_prev}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
{{QS:time_limit_countdown_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
{{QS:time_limit_timer_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_delay}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
{{QS:time_limit_message_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_display_time}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_message}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
{{QS:time_limit_warning_style}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
[[Category:Question types]][[Category:Single choice questions]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Other_position&amp;diff=174976</id>
		<title>QS:Other position</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Other_position&amp;diff=174976"/>
		<updated>2022-11-21T17:48:24Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Gabrieljenik moved page QS:Other position to QS:Other Position&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[QS:Other Position]]&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Other_Position&amp;diff=174975</id>
		<title>QS:Other Position</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Other_Position&amp;diff=174975"/>
		<updated>2022-11-21T17:48:24Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: Gabrieljenik moved page QS:Other position to QS:Other Position&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Position for &#039;Other:&#039; option (other_position)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Indicates where the &#039;Other&#039; option should be placed in the answer list, in relation to the answer options.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:help.png]] &#039;&#039;&#039;Note&#039;&#039;&#039;: You can make use of this attribute if you have previously enabled the &amp;quot;other&amp;quot; option located under the general options tab.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Before No Answer: The &#039;Other&#039; option shall be placed in the answer list before the &#039;No Answer&#039; answer option.&lt;br /&gt;
* At End: The &#039;Other&#039; option shall be place at the end of the answer list.&lt;br /&gt;
* After specific answer option: The &#039;Other&#039; option shall be placed in the answer list after a specific answer options which shall be set in the attribute &#039;Answer code for &#039;After specific answer option&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Position_for_&#039;Other-&#039;_option_(other_position).png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Answer_code_for_&#039;After_specific_answer_option&#039;.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Question Settings]][[Category:Question Display Options]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:Answer_code_for_%27After_specific_answer_option%27.png&amp;diff=174974</id>
		<title>File:Answer code for &#039;After specific answer option&#039;.png</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:Answer_code_for_%27After_specific_answer_option%27.png&amp;diff=174974"/>
		<updated>2022-11-21T17:45:40Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=File:Position_for_%27Other-%27_option_(other_position).png&amp;diff=174973</id>
		<title>File:Position for &#039;Other-&#039; option (other position).png</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=File:Position_for_%27Other-%27_option_(other_position).png&amp;diff=174973"/>
		<updated>2022-11-21T17:45:14Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=QS:Other_Position&amp;diff=174972</id>
		<title>QS:Other Position</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=QS:Other_Position&amp;diff=174972"/>
		<updated>2022-11-21T17:44:47Z</updated>

		<summary type="html">&lt;p&gt;Gabrieljenik: /* Position for &amp;#039;Other:&amp;#039; option (other_position) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Position for &#039;Other:&#039; option (other_position)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Indicates where the &#039;Other&#039; option should be placed in the answer list, in relation to the answer options.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;[[File:help.png]] &#039;&#039;&#039;Note&#039;&#039;&#039;: You can make use of this attribute if you have previously enabled the &amp;quot;other&amp;quot; option located under the general options tab.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Before No Answer: The &#039;Other&#039; option shall be placed in the answer list before the &#039;No Answer&#039; answer option.&lt;br /&gt;
* At End: The &#039;Other&#039; option shall be place at the end of the answer list.&lt;br /&gt;
* After specific answer option: The &#039;Other&#039; option shall be placed in the answer list after a specific answer options which shall be set in the attribute &#039;Answer code for &#039;After specific answer option&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Position_for_&#039;Other-&#039;_option_(other_position).png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Answer_code_for_&#039;After_specific_answer_option&#039;.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Question Settings]][[Category:Question Display Options]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabrieljenik</name></author>
	</entry>
</feed>