Actions

Optional settings/bg: Difference between revisions

From LimeSurvey Manual

(Created page with "*''''max_execution_time:'''' Задайте броя секунди, в които е разрешено да се изпълнява скрипт. Ако това се дос...")
(Created page with "=Appearance= *''''dropdownthreshold'''{{ObsoleteIn|2.50}}: Когато "R" е избрано за <code>$dropdowns</code> , администраторът има право...")
Line 230: Line 230:


=Appearance=
=Appearance=
*'''dropdownthreshold'''{{ObsoleteIn|2.50}}: When "R" is selected for <code>$dropdowns</code>, the administrator is allowed to set a maximum number of options that will be displayed as radio buttons, before converting back to a dropdown list. If there is a question that has a large number of options, displaying all of them at once as radio buttons can look unwieldy, and can become counter-intuitive to users. Setting this to a maximum of, say 25 (which is the default) means that large lists are easier to be used by the administrators for the survey participant.
*''''dropdownthreshold'''{{ObsoleteIn|2.50}}: Когато "R" е избрано за <code>$dropdowns</code> , администраторът има право да зададе максимален брой опции, които ще се показват като радио бутони , преди да конвертирате обратно в падащ списък. Ако има въпрос, който има голям брой опции, показването на всички наведнъж като радио бутони може да изглежда тромаво и може да стане контраинтуитивно за потребителите. Задаването на това на максимум, да речем, 25 (което е по подразбиране) означава, че големите списъци са по-лесни за използване от администраторите за участника в проучването.
*'''repeatheadings:''' With the Array question type, you'll often have a lot of subquestions, which - when displayed on screen - take up more than one page. This setting lets you decide how many subquestions should be displayed before repeating the header information for the question. A good setting for this is around 15. If you don't want the headings to repeat at all, set this to 0. This setting is overridden in the [[Global settings|global settings]] dialog {{NewIn|2.05}}.
*''''repeatheadings:'''' С типа въпрос Array, често ще имате много подвъпроси, които - когато се показват на екрана - заемат повече от една страница. Тази настройка ви позволява да решите колко подвъпроси да бъдат показани, преди да повторите информацията в заглавието на въпроса. Добра настройка за това е около 15. Ако изобщо не искате заглавията да се повтарят, задайте това на 0. Тази настройка се отменя в диалоговия прозорец [[Глобални настройки|глобални настройки]] {{NewIn|2.05}} .
*'''minrepeatheadings:''' The minimum number of remaining subquestions that are required before repeating the headings in Array questions. The default value is 3 and it can be edited in config.php.  
*''''minrepeatheadings:''' Минималният брой оставащи подвъпроси, които са необходими, преди да се повторят заглавията във въпросите за масива. Стойността по подразбиране е 3 и може да се редактира в config.php.  
*'''defaulttemplate:''' This setting specifies the default theme used for the 'public list' of surveys. This setting can be overridden in the [[Global settings|global settings]] dialog or edited in config.php.
*'''defaulttemplate:''' Тази настройка определя темата по подразбиране, използвана за 'публичния списък' с анкети. Тази настройка може да бъде заменена в [[Глобални настройки|глобални настройки]] или редактирана в config.php.
*'''defaulthtmleditormode:''' Sets the default mode for the integrated HTML editor. This setting can be overridden in the [[Global settings|global settings]] dialog or edited in config.php. The valid settings are:
*''''defaulthtmleditormode:'''' Задава режима по подразбиране за интегрирания HTML редактор. Тази настройка може да бъде заменена в диалоговия прозорец [[Глобални настройки|глобални настройки]] или редактирана в config.php. Валидните настройки са:
** 'inline' - Inline replacement of fields by an HTML editor. Slow but convenient and user friendly;
** 'inline' - Вградена замяна на полета от HTML редактор. Бавен, но удобен и лесен за използване;
** 'popup' - Adds an icon that runs the HTML editor in a popup if needed. Faster, but HTML code is displayed in the form;
** „изскачащ прозорец“ – Добавя икона, която стартира HTML редактора в изскачащ прозорец, ако е необходимо. По-бързо, но HTML кодът се показва във формуляра;
** 'none'- No HTML editor;
** 'няма'- Няма HTML редактор;
*'''column_style:''' Defines how columns are rendered for survey answers when using [[QS:Display_columns|display_columns]]. It can be edited in the config.php file. The valid settings are:  
*''''column_style:'''' Определя как се изобразяват колоните за отговорите на анкетата, когато се използва [[QS: Показване на_колони|показване_колони]]. Може да се редактира във файла config.php. Валидните настройки са:  
** 'css' - it uses one of the various CSS methods to create columns (see the template style sheet for details);
** 'css' - използва един от различните CSS методи за създаване на колони (вижте таблицата със стилове на шаблона за подробности);
** 'ul' - the columns are rendered as multiple floated unordered lists (default);
** 'ul' - колоните се изобразяват като множество плаващи неподредени списъци (по подразбиране);
** 'table' - it uses conventional-tables-based layout;
** 'table' - използва оформление, базирано на конвенционални таблици;
** NULL - it disables the use of columns.
** NULL - забранява използването на колони.


=Language & time=
=Language & time=

Revision as of 07:54, 27 November 2023

Следващият раздел е адресиран до онези от вас, които биха искали да редактират тези настройки на конфигурацията, които не могат да бъдат променени с помощта на GUI (графичен потребителски интерфейс) на инсталацията на LimeSurvey. Моля, имайте предвид, че всички промени от основната директория на LimeSurvey се извършват на ваш собствен риск. Независимо от това, в случай, че изпитвате проблеми/имате нужда от допълнителни насоки, присъединете се към дискусионните форуми или IRC канал за помощ от общността на LimeSurvey.

Въведение

За да промените конфигурационните настройки на инсталацията, трябва да редактирате незадължителните настройки. Те могат да бъдат намерени в /application/config/config-defaults.php, който се намира в основната директория на LimeSurvey. Настройките по подразбиране на стандартната инсталация могат да бъдат намерени в config-defaults.php. Някои от тях могат да бъдат отменени чрез диалога глобални настройки, докато другите ще трябва да бъдат редактирани ръчно.

  Ако искате да промените тези настройки, моля, не ги променяйте в config-defaults.php, а копирайте конкретната настройка/ред в /application/config/config.php'' в 'config'=>array( ) и го смени там. Всички новопроменени/въведени настройки от файла config.php ще заменят стойностите по подразбиране от config-defaults.php.


Когато се извърши надграждане, се променят само настройките на config-defaults.php. Следователно редактирането на файла config.php ще запази вашите персонализирани настройки.

За да актуализирате/добавите настройките на LimeSurvey в /application/config/config.php', трябва да актуализирате конфигурационния масив:

 !Н! 'config'=>array(
 'debug'=>0,
 'debugsql'=>0,
 'LimeSurveySetting'=>'Нова стойност', // Актуализиране на конфигурацията на LimeSurvey по подразбиране тук
 )!Н!

Yii настройки

LimeSurvey използва рамката Yii, която има свои собствени конфигурационни параметри във файла application/config/internal.php' и application/config/'config.php'. Можете също да получите достъп до някои специфични конфигурационни настройки на LimeSurvey чрез конфигурацията на Yii.

Тъй като масивът config.php е обединен с цялата конфигурация, можете да замените всички Yii параметри във файла config.php.

Специфичните настройки на Yii са зададени в масива на компонентите:

 !Н! 'components' => array(
 'db' => array(
 ....
 ),
 'Специфични настройки'=>array(
 ....
 ),
 ),

Template:Забележка

Настройки на базата данни

Настройките на базата данни се записват в config.php от инсталационния файл, когато инсталирате LimeSurvey за първи път. Ако е необходимо, можете да актуализирате тази част от файла config.php. Моля, не забравяйте, че правите това на свой собствен риск!

Вижте също Yii документация и моля не забравяйте, че LimeSurvey поддържа само следните типове бази данни: mysql, pgsql, dblib, mssql и sqlsrv.

Настройки на сесията

Можете да зададете някои параметри на сесията в config.php (проверете двата примера отдолу). Можете да разкоментирате/добавите необходимата част в config.php. Вижте Yii документация за други настройки.

  Ако трябва да актуализирате настройките на сесията, за да имате множество екземпляри на LimeSurvey, работещи на един и същи сървър, проверете дали не трябва да актуализирате настройките на заявката за crsf бисквитка.


Използвайте сесии, базирани на таблици

LimeSurvey може да използва сесии, базирани на таблици, намирате коментирана част в генерирания файл по подразбиране config.php. За да използвате сесия, базирана на таблици, премахнете // преди всеки ред.

'session' => масив (
 'class' => 'application.core.web.DbHttpSession',
 'connectionID' => 'db',
 'sessionTableName' => '{{sessions} }',
 ),

Template:Предупреждение

Актуализация на други сесии

Ако използвате SSL ('https') за вашата инсталация на LimeSurvey, добавянето на следните редове към вашия config.php ще увеличи сигурността на сесията:

 // Задайте бисквитката чрез SSL
 'session' => array (
 'cookieParams' => array(
 'secure' => true, // използва SSL за бисквитки
 'httponly' => true // Бисквитките не могат да се използват от други протоколи - експериментални
 ),
 ),

Ако искате да коригирате домейна за бисквитка, използвайте следния синтаксис в config.php:

 // Задайте домейна за cookie
 'session' => array (
 'cookieParams' => array(
 'domain' => '.example.org',
 ),
 ),

Ако имате множество инсталации на един и същ сървър, може да бъде по-бързо и лесно да зададете различно име на сесия за всеки екземпляр на LimeSurvey. Това може да е необходимо за IE11 при някои условия (вижте проблем 12083)

 // Задайте името на сесията
 'session' => масив (
 'sessionName' => "LimeSurveyN1",
 ),

Настройки на заявката

Настройките на заявката са важни, но настройките по подразбиране вече са оптимизирани за използване на LimeSurvey. За да прочетете повече за тях, вижте Yii документация.

Например, конфигурацията на настройките на заявката на LimeSurvey може да бъде променена по следния начин (на ваш собствен риск) :

 // Деактивирайте CSRF защитата
 'request' => array(
 'enableCsrfValidation'=>false, 
 ),
 // Налагане на определена URL база 
 'request' => array(
 'hostInfo' => 'http://www.example.org/' 
 ),
 // Задайте името на домейна на бисквитката и пътя за CSRF защита, пътят се използва, ако имате различен екземпляр на същия домейн
 'request' => array(
 'csrfCookie' => array( 
 'domain' => '.example.com',
 'path' => '/limesurvey/',
 ) 
 ),

Ако трябва да актуализирате само URL адреса за токен имейли, задайте publicurl във вашия файл config.php.


Разрешете използването на анкети във вградена рамка

След разрешаване на вграждане на Iframe 100% надеждно решение може да бъде гарантирано само ако сайтът за рамкиране използва същия основен домейн. Ако използвате LimeSurvey Cloud, това може да се постигне чрез нужда от псевдоним на домейн

URL настройки

  Ако трябва да актуализирате само URL адреса за токена и други имейли, задайте publicurl във вашия файл config.php.


За да промените настройките на URL по подразбиране, актуализирайте urlManager:

 // Използвайте кратък URL
 'urlManager' => array(
 'urlFormat' => 'path',
 'showScriptName' => false,
 ),


Можете също така да добавите .html след идентификатора на анкетата по следния начин:

 // Използвайте кратък URL
 'urlManager' => array(
 'urlFormat' => 'path',
 'rules' => array (
 '<sid:\d+> ' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
 ),
'showScriptName' => false,
 ),

За повече информация проверете Yii документация.

Настройки за регистриране

Yii предоставя различни решения за генериране на регистрационни файлове. За да научите повече за тях, проверете специална тема за регистриране. LimeSurvey използва '1' или '2' по подразбиране, което позволява на всеки уеб потребител да види регистрационните файлове. Можете да създадете свои собствени настройки, като използвате директно Yii.

Например, бързо решение за регистриране на грешки и предупреждения във файлове е:

 
return array(
 'components' => array(
 /* Друг компонент тук 'db' например */
 'log' => array(
 'routes' => array(
 'fileError' => array(
 'class' => 'CFileLogRoute',
 'levels' => 'предупреждение, грешка',
 'except' => 'exception.CHttpException .404',
 ),
 ),
 ),
 /* Друг компонент тук 'urlManager' например */
 ),
 /* Финална част (с ' runtimePath' 'config' например) */
);
 Hint: Файлът се записва по подразбиране в <code>limesurvey/tmp/runtime/application.log</code> , който се намира в основната папка на LimeSurvey.
  Yii използва път за изпълнение. По подразбиране регистрационните файлове са достъпни в мрежата. Те могат да съдържат много информация от вашия сървър. По-добре е да използвате директория, която не може да бъде достъпна през мрежата. Можете да го зададете в маршрути или като актуализирате Runtime path.

.

Път на изпълнение

Пътят по време на изпълнение трябва да бъде четлива и записвана директория за „уеб потребителя“. Пътят по време на изпълнение обаче съдържа файлове с потенциална информация за сигурност, които се намират в зоната за публичен уеб достъп. LimeSurvey събира тези файлове във временната директория на основната директория на LimeSurvey. За да елиминирате достъпа до такива важни данни, можете да зададете пътя на изпълнение извън публичния уеб достъп, като редактирате съответните редове във файла /application/config/config.php:

return array(
 'components' => array(
 []
 'runtimePath'=>'/var/limesurvey/runtime/',
 'config'=>array( 
 []
 )
 )
)

Общи настройки

  • 'sitename: Дава име на вашия сайт за проучване. Това име ще се появи в прегледа на списъка с анкети и в административния колонтитул. Стойността по подразбиране е „LimeSurvey“ и може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
  • 'siteadminemail:' Това е имейл адресът по подразбиране на администратора на сайта и се използва за системни съобщения и опции за контакт. Тази настройка се използва само като стойност по подразбиране и може да бъде заменена в диалоговия прозорец глобални настройки.
  • 'siteadminbounce:' Това е имейл адресът, на който ще се изпращат върнатите имейли. Тази настройка се използва само като стойност по подразбиране и може да бъде заменена от диалоговия прозорец глобални настройки.
  • siteadminname:'' Истинското име на администратора на сайта. Тази настройка се използва само като стойност по подразбиране и може да бъде заменена в диалоговия прозорец глобални настройки.
  • 'proxy_host_name:' Това е името на хоста на вашия прокси сървър (има да бъде споменат, ако сте зад прокси и искате да актуализирате LimeSurvey с помощта на ComfortUpdate).
  • 'proxy_host_port:' Това е портът на вашия прокси сървър (трябва да бъде споменати, ако сте зад прокси и искате да актуализирате LimeSurvey с помощта на ComfortUpdate).

Сигурност

  • maxLoginAttempt: Това е броят опити, които потребителят трябва да въведе правилната парола, преди той или тя да блокира/заключи своя IP адрес. Стойността по подразбиране е 3 и може да бъде променена от config.php.
  • timeOutTime: Ако потребителят въведе неправилна парола за<maxLoginAttempt> , тя или той се заключва за<timeOutTime> секунди. Стойността по подразбиране е 10 минути и може да бъде променена от config.php.
  • maxLoginAttemptParticipants: Това е броят опити, които участникът трябва да въведе валиден токен, преди той или тя да получи своя IP адресът е блокиран/заключен. Стойността по подразбиране е 3 и може да бъде променена от config.php.
  • timeOutParticipants: Ако участникът въведе токена неправилно за<maxLoginAttemptParticipants> , тя или той се заключва за<timeOutParticipants> секунди. Стойността по подразбиране е 10 минути и може да бъде променена от config.php.
  • surveyPreview_require_Auth: Задайте true по подразбиране. Ако зададете това на 'false', всяко лице може да тества вашата анкета, като използва URL адреса на анкетата, без да влиза в административния панел и без да е необходимо първо да активира анкетата. Тази настройка е стойност по подразбиране и може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
  • usercontrolSameGroupPolicy: Зададена на true по подразбиране. По подразбиране потребители, които не са администратори, дефинирани в интерфейса за управление на LimeSurvey, ще могат да виждат само създадени от тях потребители или потребители, които принадлежат към поне една и съща група. Стойността по подразбиране може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
  • filterxsshtml:'' Тази настройка позволява филтрирането на подозрителни html тагове, намиращи се в анкети, групи и текстове за въпроси и отговори в административния интерфейс. Оставете това на 'false' само ако имате абсолютно доверие на потребителите, които сте създали за администриране на LimeSurvey и ако искате да позволите на тези потребители да могат да използват Javascript, Flash филми и т.н. Супер администраторите никога не филтрират HTML . Стойността по подразбиране може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php.
  • 'demoMode:' Ако тази опция е зададена на 'true' в config.php , тогава LimeSurvey ще премине в демо режим. Демонстрационният режим променя следните неща:
    • Деактивира данните на администраторския потребител и промяната на паролата;
    • Деактивира качването на файлове в редактора на шаблони;
    • Деактивира изпращането на имейл покани и напомняния;!N !** Деактивира създаването на дъмп на база данни;
    • Деактивира възможността за промяна на следните глобални настройки: име на сайта, език по подразбиране, режим на HTML редактор по подразбиране, XSS филтър.
  • ''forcedsuperadmin:' Масив от потребителски идентификатор с всички права върху всички LimeSurvey. Тези настройки могат да се актуализират само във файла config.php. Правата на този потребител не могат да се редактират в глобални разрешения за потребител дори от друг принуден супер администратор. По подразбиране: потребител с тези права е потребител с id: 1. Първият потребител, създаден точно след инсталацията.
  • force_ssl:' принуждава LimeSurvey да работи през HTTPS или да блокира HTTPS. Вижте Force HTTPS в GUI за администриране на глобални настройки.
  • ssl_emergency_override:' Тази настройка принудително изключва SSL. Ако сте включили HTTPS/SSL в глобалните настройки, но вашият сървър не е активирал HTTPS, единственият начин да го изключите е като промените директно стойност в базата данни. Това ви позволява принудително да изключите HTTPS, докато променяте глобалните настройки за Force Secure. Това винаги трябва да е false, освен в спешни случаи, когато го промените на true, докато не отстраните проблема. Тази настройка може да бъде зададена само чрез файла config.php.
  • ssl_disable_alert:' Деактивирайте известието за супер-администратор за непринуден SSL, ако наистина не можете или не искате да принудите ssl. Тази настройка може да бъде зададена само чрез файла config.php.

Ресурси

  • 'sessionlifetime: Определя времето в секунди, след което изтича сесията на анкетата. Прилага се само ако използвате сесии на база данни. Ако все пак използвате сесии на база данни, променете параметъра в config.php или заменете стойността по подразбиране от глобални настройки диалоговия прозорец.
  • memorylimit:'' Това определя колко памет LimeSurvey може да има достъп. „128 MB“ е препоръчителният минимум (MB=мегабайт). Ако получавате грешки при изчакване или имате проблеми с генерирането на статистика или експортирането на файлове, увеличете това ограничение до „256 MB“ или по-високо. Ако вашият уеб сървър е задал по-висок лимит в config.php, тази настройка ще бъде игнорирана.
Моля, имайте предвид, че такива локални настройки винаги могат да бъдат отменени от промените, направени в диалога за глобални настройки'.

За да увеличите лимита на паметта до 128M, можете също да опитате да добавите:

  • memory_limit = 128M към главния php.ini файл на вашия сървър (препоръчва се, ако имате достъп)
  • memory_limit = 128M към php.ini файл в коренът на LimeSurvey
  • php_value memory_limit 128M във файл .htaccess в корена на LimeSurvey
  • 'max_execution_time:' Задайте броя секунди, в които е разрешено да се изпълнява скрипт. Ако това се достигне, скриптът връща фатална грешка. За да му бъде позволено да експортира данни и статистика от големи проучвания, LimeSurvey се опитва да го зададе по подразбиране на 1200 секунди. Можете да зададете по-голямо или по-ниско време, ако е необходимо. Достъпно само чрез php конфигурационен файл.

Appearance

  • 'dropdownthreshold (Obsolete since 2.50): Когато "R" е избрано за $dropdowns , администраторът има право да зададе максимален брой опции, които ще се показват като радио бутони , преди да конвертирате обратно в падащ списък. Ако има въпрос, който има голям брой опции, показването на всички наведнъж като радио бутони може да изглежда тромаво и може да стане контраинтуитивно за потребителите. Задаването на това на максимум, да речем, 25 (което е по подразбиране) означава, че големите списъци са по-лесни за използване от администраторите за участника в проучването.
  • 'repeatheadings:' С типа въпрос Array, често ще имате много подвъпроси, които - когато се показват на екрана - заемат повече от една страница. Тази настройка ви позволява да решите колко подвъпроси да бъдат показани, преди да повторите информацията в заглавието на въпроса. Добра настройка за това е около 15. Ако изобщо не искате заглавията да се повтарят, задайте това на 0. Тази настройка се отменя в диалоговия прозорец глобални настройки (New in 2.05 ) .
  • 'minrepeatheadings: Минималният брой оставащи подвъпроси, които са необходими, преди да се повторят заглавията във въпросите за масива. Стойността по подразбиране е 3 и може да се редактира в config.php.
  • defaulttemplate: Тази настройка определя темата по подразбиране, използвана за 'публичния списък' с анкети. Тази настройка може да бъде заменена в глобални настройки или редактирана в config.php.
  • 'defaulthtmleditormode:' Задава режима по подразбиране за интегрирания HTML редактор. Тази настройка може да бъде заменена в диалоговия прозорец глобални настройки или редактирана в config.php. Валидните настройки са:
    • 'inline' - Вградена замяна на полета от HTML редактор. Бавен, но удобен и лесен за използване;
    • „изскачащ прозорец“ – Добавя икона, която стартира HTML редактора в изскачащ прозорец, ако е необходимо. По-бързо, но HTML кодът се показва във формуляра;
    • 'няма'- Няма HTML редактор;
  • 'column_style:' Определя как се изобразяват колоните за отговорите на анкетата, когато се използва показване_колони. Може да се редактира във файла config.php. Валидните настройки са:
    • 'css' - използва един от различните CSS методи за създаване на колони (вижте таблицата със стилове на шаблона за подробности);
    • 'ul' - колоните се изобразяват като множество плаващи неподредени списъци (по подразбиране);
    • 'table' - използва оформление, базирано на конвенционални таблици;
    • NULL - забранява използването на колони.

Language & time

  • defaultlang: This should be set to the default language to be used in your administration scripts, and also the default setting for language in the public survey list. This setting can be overridden in the global settings dialog or edited in config.php.
  • timeadjust: If your web server is in a different time zone to the location where your surveys will be based, put the difference between your server and your home time zone here. For example, I live in Australia, but I use a US web server. The web server is 14 hours behind my local time zone. So my setting here is "14". In other words, it adds 14 hours to the web servers time. This setting is particularly important when surveys timestamp the responses. This setting can be overridden in the global settings dialog or edited in config.php.

Survey behavior

  • deletenonvalues: Use this feature with caution. By default (a value of 1), irrelevant questions are NULLed in the database. This ensures that the data in your database is internally consistent. However, there are rare cases where you might want to hold onto irrelevant values, in which case you can set the value to 0. For example, you ask a male person his gender, and he accidentally says 'female' and then answers some female-specific questions (questions that are conditioned on being female, so are only relevant for women). Then, he realizes his mistake, backs up, sets the gender to 'male', and continues with the survey.  Now, the female-specific questions are irrelevant. If $deletenonvalues==1, those irrelevant values will be cleared (NULLed) in the database. If $deletenonvalues==0, his erroneous answers will not be deleted, so they will still be present in the database when you analyze it.
  • shownoanswer: When a radio button/select type question that contains editable answers (i.e.: List, Array questions) is not mandatory and 'shownoanswer' is set to 1, an additional 'No answer' entry is shown - so that participants may choose to not answer the question. Some people prefer this not to be available. This setting can be overridden from the global settings dialog or edited in config.php. Valid values are:
    • '0': No;
    • '1': Yes;
    • '2': The Survey admin can choose.
  • printanswershonorsconditions: This setting determines if the printanswers feature will display entries from questions that were hidden by conditions-branching (Default: 1 = hide answers from questions hidden by conditions).
  • hide_groupdescr_allinone: This setting is relevant for all-in-one surveys using conditions . When this is set to 'true', the group name and description is hidden if all questions in the group are hidden. The default value is 'true' - hides group name and description when all questions in the group are hidden by conditions. It can be edited in config.php.
  • showpopups:  Show popup messages if mandatory or conditional questions have not been answered correctly:
    • '2' = defined by Theme option (default)
    • '1'= show popup message;
    • '0'= show message on page instead;
    • '-1'= do not show the message at all (in this case, users will still see the question-specific tips indicating which questions must be answered).

Numerical question type behavior

  • bFixNumAuto: Numeric fields can be automatically filtered to remove all non numeric values. By default this is enable, you can disable it globally. This settings is related to Fix automatically numeric value in core theme options. It was enable for Yes, disable for Only for expression and No.
  • bNumRealValue: Numeric fields used in expression manager can be fixed or not. It's fixed by default. If NUMERIC is a numerical question : disable or 0 : {NUMERIC} with bad caracters send '', enable or 1 : {NUMERIC} send all character entered. This settings is related to Fix automatically numeric value in core theme options. It was enable for Yes and Only for expression and disable for No.

Development and debugging

  • debug: With this setting, you set the PHP error reporting to E_ALL. This means that every little notice, warning or error related to the script is shown. This setting should be only switched to '1' if you are trying to debug the application for any reason. If you are a developer, switch it to '2'. Don't switch it to '1' or '2' in production since it might cause path disclosure. The default value is '0' and it can be edited in config.php.
  • debugsql: Activate this setting if you want to display all SQL queries executed for the script on the bottom of each page. Very useful for the optimization of the the number of queries. In order to activate it, change the default value to '1' from the config.php file.
  • use_asset_manager: By default : debug mode disable asset manager, you can allow you to use asse manager with debug mode enable.

In the case in which you experience an error in the application, we strongly recommend to activate the debug setting in order to get a more detailed error that you can submit with the bug report:

    'config'=>array(
        'debug'=>2,
        'debugsql'=>0,
    )

If you work on plugin and need a quick way to dump variables on screen : you can use traceVar function. If debug is set : this function use CWebLogRoute to be shown on HTML page. Usage traceVar($MyVariable)

Email settings

All the settings from below can be overridden in the global settings dialog.

  • 'emailmethod: This determines how email messages are being sent. The following options are available:
    • 'mail:' it uses internal PHP mailer;
    • 'sendmail:' it uses sendmail mailer;
    • 'smtp:' it uses SMTP relaying. Use this setting when you are running LimeSurvey on a host that is not your mail server.
  • 'emailsmtphost: If you use 'smtp' as $emailmethod, then you have to put your SMTP-server here. If you are using Google mail you might have to add the port number like $emailsmtphost = 'smtp.gmail.com:465'.
  • emailsmtpuser: If your SMTP-server needs authentication then set this to your user name, otherwise it must be blank.
  • emailsmtppassword: If your SMTP-server needs authentication then set this to your password, otherwise it must be blank.
  • emailsmtpssl: Set this to 'ssl' or 'tls' to use SSL/TLS for SMTP connection.
  • maxemails: When sending invitations or reminders to survey participants, this setting is used to determine how many emails can be sent in one bunch. Different web servers have different email capacities and if your script takes too long to send a bunch of emails, the script could time out and cause errors. Most web servers can send 100 emails at a time within the default 30 second time limit for a PHP script. If you get script timeout errors when sending large numbers of emails, reduce the number in this setting. Clicking the 'send email invitation' button from the token control toolbar (not the button situated on the right of each token) sends the <maxemails> number of invitations, then it displays a list of the addresses of the recipients and a warning that there are more emails pending than could be sent in one batch. Continue sending emails by clicking below. There are ### emails still to be sent. and provides a "continue button" to proceed with the next batch. I.e., the user determines when to send the next batch after each batch gets emailed. It is not necessary to wait with this screen active. The admin could log out and come back at a later time to send the next batch of invites.

Statistics and response browsing

  • filterout_incomplete_answers: Control the default behavior of filtering incomplete answers when browsing or analyzing responses. For a discussion on incomplete responses see our browsing survey results wiki. Since these records can corrupt the statistics, an option is given to switch this filter on or off in several GUI forms. The parameter can be edited in the config.php. The following options are available:
    • 'show': Allows you to visualize both complete and incomplete answers;
    • 'filter': It shows only complete answers;
    • 'incomplete': Show only incomplete answers.
  • strip_query_from_referer_url: This setting determines if the referrer URL saves the parameter or not. The default value is 'false' (in this case, the referrer URL saves all parameters). Alternatively, this value can be set to 'true' and the parameter part of the referrer URL will be removed.
  • showaggregateddata: when activated, additional statistical values such as the arithmetic mean and standard deviation are shown. Furthermore, the data is aggregated to get a faster overview. For example, results of scale 1+2 and 4+5 are added to have a general ranking like "good" (1/2), "average" (3) and "bad" (4/5). This only affects question types "A" (5 point array) and "5" (5 point choice).
  • PDF Export Settings: This feature activates PDF export for printable surveys and Print Answers. The PDF export function is totally experimental and the output is far from being perfect. Unfortunately, no support can be given at the moment - if you want to help to fix it, please get in touch with us.
    • 'usepdfexport': Set '0' to disable and '1' to enable;
    • 'pdfdefaultfont': It represents the default font that will be used by the pdf export function. The default value is 'auto'. To change it, you have to set it to one of the PDF core fonts.
    • 'alternatepdffontfile': It's an array with language keys and their corresponding font. The default font for each language can be replaced in the config.php file;
    • 'pdffontsize': it shows the font size for normal texts; For the title of the survey, it is <pdffontsize>+4, while for the group title is <pdffontsize>+2. It can be edited in the config.php file or from the [Global settings|global settings]] dialog;
    • 'notsupportlanguages': it includes a list with the languages for which no PDF font was found. The list includes Amharic ('am'), Sinhala ('si'), and Thai ('th'), and it can be found in the config-defaults.php file;
    • 'pdforientation': Set 'L' for Landscape or 'P' for portrait format. It can be edited from the config.php file.
  • Graph setting
    • 'chartfontfile': Sets the font file name that is used to create the statistical charts. The file has to be located in the fonts directory, located in the LimeSurvey root folder. It can be edited in the config.php file;
    • 'alternatechartfontfile': It's an array with language keys and their corresponding font. It can be edited in the config.php file.
  • showsgqacode: This setting is used at the printable survey feature and defaults to 'false. If you set showsgqacode = 'true';, the IDs of each question - and answer if applicable - will be shown. These IDs match the column heading at the Lime_survey_12345 table, which holds the answer data for a certain survey. These IDs can be used for a code book for manual database queries.

LDAP settings

As this is an extensive topic we have moved LDAP settings to another page.

Authentication

Starting with LimeSurvey 2.05, authentication will be handled by plugins. As a result, the information below might be outdated. See the plugins wiki for most up to date information.

Authentication delegation to the webserver

System administrators may want to have their survey administrators authenticated against a central authentication system (Active Directory, openLdap, Radius, ...) rather than using the internal LimeSurvey database. An easy way to do this is to setup your web server software to use this external authentication system, and then ask LimeSurvey to trust the user identity reported by the web server. In order to enable this feature, you have to:

  • set auth_webserver to 'true' in config.php;
  • enable authentication from the web server side.

Please note that:

  • LimeSurvey will then bypass its own authentication process (by using the login name reported by the web server without asking for a password);
  • this can only replace the LimeSurvey GUI authentication system, not the survey invitation system (participant interface).

Authentication delegation with no automatic user import

Please note that Authentication Delegation doesn't bypass the LimeSurvey authorization system by default - meaning that, even if you don't have to manage passwords in LimeSurvey, you still need to define the users in the LimeSurvey database and assign them the correct set of rights in order to let them access the administration panel.

A user is then granted access to LimeSurvey if and only if:

  • he has been authenticated to the web server;
  • his login name is defined as a user in the LimeSurvey user database (the user is then granted the privileges of the user defined in the LimeSurvey user database).

Authentication delegation with automatic user import

When managing a huge user database, it is sometimes easier to auto-import users in the LimeSurvey database:

  • auth_webserver_autocreate_user: If set to 'true', LimeSurvey will try to auto-import users authenticated by the web server but not already in its users DB.
  • auth_webserver_autocreate_profile: An array describing the default profile that will be assigned to the user, including the full (fake) name, email, and privileges.

If you want to customize the user profile so that it matches the logged-in user, you'll have to develop a simple function called hook_get_autouserprofile - with this function you can retrieve from a central user account database (for instance, from a LDAP directory) the true full name, names, and email of a particular user. You can even customize his privileges on the system based on the groups he is allocated in the external database.

The hook_get_auth_webserver_profile function takes the user login name as the only argument and can return:

  • False or an empty array - in this case the user is denied access to LimeSurvey;
  • an array containing all common userprofile entries as described in the $WebserverAuth_autouserprofile
function hook_get_auth_webserver_profile($user_name)
{
     // Retrieve user's data from your database backend (for instance LDAP) here
     ... get $user_name_from_backend
     ... get $user_email_from_backend
     ... get $user_lang_from_backend
     ... from groups defined in your backend set $user_admin_status_frombackend_0_or_1
     return Array(
                     'full_name' => "$user_name_from_backend",
                     'email' => "$user_email_from_backend",
                     'lang' => '$user_lang_from_backend',
                     'htmleditormode' => 'inline',
                     'templatelist' => 'default,basic,MyOrgTemplate',
                     'create_survey' => 1,
                     'create_user' => 0,
                     'delete_user' => 0,
                     'superadmin' => $user_admin_status_frombackend_0_or_1,
                     'configurator' =>0,
                     'manage_template' => 0,
                     'manage_label' => 0);
}

     // If user should be denied access, return an empty array

     // return Array();
  The optionnal 'hook_get_auth_webserver_profile' function is for advanced user usage only! For further details, please read the comments from the config-defaults.php file.


User name mapping

In the case in which some users have an external user name that is different from their LimeSurvey user name, you may find useful to use a user name mapping. This is done in LimeSurvey by using the auth_webserver_user_map parameter. For instance, imagine you don't have an 'admin' user name defined in your external authentication database. Then, in order to login to LimeSurvey as admin, you'll have to map your external user name (let's call it 'myname') to the admin login name in LimeSurvey. The corresponding setup is:

'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)

After a successful authentication with the 'myname' login and web server password, you'll be directly authorized to use LimeSurvey as the 'admin' user.

This has serious security implications, so use it with care. Also, protect your config.php from write access by the web server.

Use one-time passwords

A user can open the LimeSurvey login page at default.com/limesurvey/admin and type the username and the one-time password which was previously written into the users table (column one_time_pw) by an external application.

This setting has to be turned on config.php file to enable the usage of one-time passwords (default = false).

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'use_one_time_passwords'=>true,
    )

More information can be found in the "Manage Users" section.


Encryption settings (New in 4.0.0 )

  Attention : Once set, encryption keys should never be changed, otherwise all encrypted data could be lost !


When update or install, this parameters was generated by LimeSurvey and set in application/config/security.php file. You can move this settings in config.php if you want or leave in security.php.

See data encryption for detail on this feature.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey

Advanced url settings

  • publicurl: This should be set to the URL location of your 'public scripts'. The public scripts are those located in the "limesurvey" folder (or whatever name you gave to the directory that all the other scripts and directories are kept in). This settings is available in config.php and it is used when LimeSurvey need an absolute url (for example when token emails are sent).
  • homeurl: This should be set to the URL location of your administration scripts. These are located in the /limesurvey/admin folder. This should be set to the WEB URL location - for example, http://www.example.com/limesurvey/html/admin. Don't add a trailing slash to this entry. The default setting in config.php attempts to detect the name of your server automatically using a php variable setting - {$_SERVER['SERVER_NAME']}. In most cases, you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.
  • tempurl: This should be set to the URL location of your "/limesurvey/tmp" directory - or to a directory in which you would like LimeSurvey to use to serve temporary files.
  • uploadurl: This should be set to the URL location of your "/limesurvey/upload" directory - or to a directory in which you would like LimeSurvey to use to serve uploaded files. This allow you to set uploaded files on another url domain.

Advanced path settings

  • homedir: This should be set to the physical disk location of your administration scripts - for example "/home/usr/htdocs/limesurvey/admin". Don't add a trailing slash to this entry. The default setting in config.php attempts to detect the default root path of all your documents using the php variable setting {$_SERVER['DOCUMENT_ROOT']}. In most cases you can leave this and just modify the remainder of this string to match the directory name you have put the LimeSurvey scripts in.
  • publicdir: This should be set to the physical disk location of your 'public scripts'.
  • tempdir: This should be set to the physical disk location of your /limesurvey/tmp directory so that the script can read and write files.
  • uploaddir: This should be set to the physical disk location of your /limesurvey/upload directory so that the script can read and write files.
  • sCKEditorURL: url of the fckeditor script.
  • fckeditexpandtoolbar: defines if the fckeditor toolbar should be opened by default.
  • pdfexportdir: This is the directory with the tcpdf.php extensiontcpdf.php.
  • pdffonts: This is the directory for the TCPDF fonts.

Other advanced settings

Upload files

  • allowedthemeuploads: File types allowed to be uploaded in theme editor
  • allowedresourcesuploads: File types allowed to be uploaded in the resources sections, and with the HTML Editor
  • allowedfileuploads (New in 4.0.0 ) Global restriction on file type to be uploaded
  • magic_database: (New in 3.17.17 ) Allow to use a different MIME database for finfo_open. Can be updated only in config.php file. Example : /usr/share/misc/magic.mgc for redhat based linux.
  • magic_file: (New in 3.17.17 ) Allow to use a different file to get the array of extension by mime type than the included one. Must be a PHP file return an array. Can be updated only in config.php file.

Update

  • updatable: This setting is in version.php. Can be true or false. If you set to true : when an super admin user log in : LimeSurvey checks if an update is available and show you a warning. If set to false : no check is done and you can't use ComfortUpdate.