x

Hlavné kapitoly

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Rýchly sprievodca
  3. Inštalácia - LimeSurvey CE
  4. Ako vytvoriť dobrý prieskum (príručka)
  5. Začíname
  6. Správa LimeSurvey
  7. Prieskumy - úvod
  8. Nastavenia prieskumu
  9. Menu prieskumu
  10. Štruktúra prieskumu
  11. Otázky – úvod
  12. Skupiny otázok - úvod
  13. Prieskumy - správa
  14. Možnosti panela nástrojov prieskumu
  15. Viacjazyčný prieskum
  16. ExpressionScript Engine - Príručka rýchleho štartu
  17. Nezaradené a pokročilé funkcie
  18. Všeobecné časté otázky
  19. Riešenie problémov
  20. Riešenia a obchádzky
  21. Licencia
  22. Záznam zmien verzií
  23. Doplnky
 Actions

Voliteľné nastavenia

From LimeSurvey Manual

Táto stránka mohla byť preložená strojovo a môže obsahovať chyby. Zobraziť anglický originál · Vylepšiť tento preklad
This page is a translated version of the page Optional settings and the translation is 100% complete.

Nasledujúca časť je určená tým z vás, ktorí chcú upraviť konfiguračné nastavenia, ktoré nie je možné zmeniť pomocou GUI (grafického používateľského rozhrania) inštalácie LimeSurvey. Pamätajte, že všetky zmeny v koreňovom adresári LimeSurvey vykonávate na vlastné riziko. Ak sa však stretnete s problémami alebo potrebujete ďalšie usmernenie, pripojte sa na diskusné fóra, kde vám pomôže komunita LimeSurvey.

Úvod

Ak chcete zmeniť konfiguračné nastavenia inštalácie, musíte upraviť voliteľné nastavenia. Nachádzajú sa v súbore /application/config/config-defaults.php, ktorý je umiestnený v koreňovom adresári LimeSurvey. Predvolené nastavenia štandardnej inštalácie nájdete v súbore config-defaults.php. Niektoré z nich je možné prepísať pomocou dialógu globálne nastavenia, ostatné je potrebné upraviť ručne.

  Ak chcete tieto nastavenia zmeniť, nemeňte ich v súbore config-defaults.php, ale skopírujte príslušné nastavenie/riadok do súboru /application/config/config.php do 'config'=>array( ) a zmeňte ho tam. Všetky novo upravené/pridané nastavenia zo súboru config.php prepíšu predvolené hodnoty zo súboru config-defaults.php.


Pri aktualizácii sa menia iba nastavenia v súbore config-defaults.php. Úprava súboru config.php preto zachová vaše vlastné nastavenia.

Ak chcete aktualizovať/pridať nastavenia LimeSurvey v súbore /application/config/config.php, musíte upraviť pole config:

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
    )

Nastavenia Yii

LimeSurvey používa framework Yii, ktorý má vlastné konfiguračné parametre v súboroch application/config/internal.php a application/config/config.php. Niektoré špecifické konfiguračné nastavenia LimeSurvey môžete nastaviť aj prostredníctvom konfigurácie Yii.

Keďže sa pole v súbore config.php zlučuje s celou konfiguráciou, môžete v súbore config.php nahradiť ľubovoľné parametre Yii.

Nastavenia špecifické pre Yii sa zadávajú v poli components:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
Ďalšie informácie o frameworku Yii nájdete na tomto odkaze.

Nastavenia databázy

Nastavenia databázy zapíše do súboru config.php inštalačný súbor pri prvej inštalácii LimeSurvey. Ak je to potrebné, túto časť súboru config.php môžete upraviť. Pamätajte, že to robíte na vlastné riziko! Pozrite si tiež dokumentáciu Yii a nezabudnite, že LimeSurvey podporuje iba tieto typy databáz: mysql, pgsql, dblib, mssql a sqlsrv.

Nastavenia relácie

Niektoré parametre relácie môžete nastaviť v súbore config.php (pozrite si dva príklady nižšie). Potrebnú časť môžete v súbore config.php odkomentovať/pridať. Ďalšie nastavenia nájdete v dokumentácii Yii.

  Ak na tej istej doméne prevádzkujete viac inštancií LimeSurvey, každej nastavte vlastný názov relácie. Nemusíte meniť cestu súboru cookie relácie ani nastavenia súboru cookie CSRF.


Používanie relácií uložených v tabuľke

LimeSurvey môže používať relácie uložené v tabuľke. Zakomentovanú časť nájdete v predvolenom vygenerovanom súbore config.php. Ak chcete používať relácie uložené v tabuľke, odstráňte // pred každým riadkom.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
  Relácie uložené v tabuľke momentálne nie sú podporované na serveri MSSQL.


Ďalšie úpravy relácií

Ak pre svoju inštaláciu LimeSurvey používate SSL ('https'), pridaním nasledujúcich riadkov do súboru config.php zvýšite bezpečnosť relácie:

        // Set the cookie via SSL
        'session' => array (
            'cookieParams' => array(
                    'secure' => true, // use SSL for cookies
                    'httponly' => true // Cookies may not be used by other protocols - experimental
                ),
            ),

Ak chcete pre súbor cookie pevne nastaviť doménu, použite v súbore config.php nasledujúcu syntax:

        // Set the domain for cookie
        'session' => array (
            'cookieParams' => array(
                    'domain' => '.example.org',
                ),
            ),

Každá inštancia LimeSurvey na tej istej doméne potrebuje vlastný názov relácie. Inak vás prihlásenie do jednej inštancie odhlási z druhej. Inštalátor nastaví v súbore config.php náhodný názov relácie. Ak ste súbor config.php skopírovali z inej inštancie alebo pochádza z verzie staršej ako LimeSurvey 4.0, pridajte alebo upravte riadok sessionName v existujúcej sekcii session a pre každú inštanciu použite inú hodnotu:

        // Set the name of the session
        'session' => array (
            'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
            ),

Nastavenia požiadavky

Nastavenia požiadavky sú dôležité, ale predvolené nastavenia sú už optimalizované pre používanie s LimeSurvey. Viac sa o nich dozviete v dokumentácii Yii.

Konfiguráciu nastavení požiadavky LimeSurvey je možné napríklad upraviť nasledujúcim spôsobom (na vlastné riziko):

        // Disable CSRF protection
        'request' => array(
            'enableCsrfValidation'=>false,    
            ),
        // Enforce a certain URL base 
        'request' => array(
            'hostInfo' => 'http://www.example.org/'  
            ),
        // Set the cookie domain name and path for CSRF protection
        'request' => array(
            'csrfCookie' => array( 
                'domain' => '.example.com',
                'path' => '/limesurvey/',
            )
        ),

Ak potrebujete zmeniť iba adresu URL pre e-maily s tokenmi, nastavte publicurl v súbore config.php.


Povolenie používania relácie a validácie CSRF v iFrame

Zapnutie voľby Vkladanie IFrame povolené v globálnych nastaveniach zabezpečenia iba umožní prehliadačom zobrazovať vaše prieskumy v iframe. Aby účastníci mohli prieskum v iframe vyplniť a odoslať, musíte v súbore config.php zmeniť aj nastavenia relácie a súboru cookie CSRF, ako je opísané nižšie. Oba súbory cookie musia byť odoslané s SameSite=None, čo prehliadače akceptujú iba pri platnom pripojení HTTPS.

  Aj pri všetkých týchto nastaveniach môžu prieskumy v iframe v niektorých prehliadačoch alebo pri niektorých nastaveniach prehliadača zlyhať, napríklad v režime súkromného prehliadania alebo pri zablokovaných cookies tretích strán. Tieto nastavenia boli testované vo Firefoxe 81.0.2 až 115, Chromiu 85.0.4183.121 až 119 a Edge 119 s ich predvolenými nastaveniami. LimeSurvey pre toto nastavenie neposkytuje podporu, k dispozícii je iba podpora komunity.


Povolenie spustenia relácie v iframe

Cookie relácie musí byť zabezpečená (vyžaduje platné pripojenie HTTPS) a httponly a samesite musí byť nastavené na None. Kľúče v cookieParams musia byť napísané výlučne malými písmenami.

 		 'session' => array (
			'sessionName'=>'LS-VBXZZORFJZCAKGYI',
			// Uncomment the following lines if you need table-based sessions.
			// Note: Table-based sessions are currently not supported on MSSQL server.
			// 'class' => 'application.core.web.DbHttpSession',
			// 'connectionID' => 'db',
			// 'sessionTableName' => '{{sessions}}',
			'cookieParams' => array(
				'secure' => true,
				'httponly' => true,
				'samesite' => 'None',
			),
		 ),

Povolenie cookie csrf v iframe

Rovnako ako cookie relácie, aj cookie CSRF musí byť zabezpečená a sameSite musí byť nastavené na None. Všimnite si, že tu sa kľúč píše sameSite. Celé pole request pridajte na rovnakú úroveň ako session.

		'request' => array(
			'enableCsrfValidation'=>true,
			'csrfCookie' => array(
				'sameSite' => 'None',
				'secure' => true,
			),
		),

Nastavenia URL

  Ak potrebujete aktualizovať iba URL pre e-maily s tokenmi a ostatné e-maily, nastavte publicurl vo svojom súbore config.php.


Ak chcete zmeniť predvolené nastavenia URL, upravte urlManager:

       // Use short URL
		'urlManager' => array(
			'urlFormat' => 'path',
			'showScriptName' => false,
		),


Môžete tiež pridať .html za ID prieskumu nasledovne:

       // Use short URL
		'urlManager' => array(
			'urlFormat' => 'path',
			'rules' => array (
			    '<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
			 ),
			'showScriptName' => false,
		),

Ďalšie informácie nájdete v dokumentácii Yii.

Nastavenia protokolovania

Yii poskytuje rôzne riešenia na generovanie protokolov. Viac sa o nich dozviete v špeciálnej téme o protokolovaní. LimeSurvey predvolene používa '1' alebo '2', čo umožňuje každému webovému používateľovi zobraziť protokoly. Vlastné nastavenia môžete vytvoriť priamo v Yii.

Rýchle riešenie na zaznamenávanie chýb a upozornení do súborov je napríklad:

return array(
	'components' => array(
		/* Other component part here 'db' for example */
		'log' => array(
			'routes' => array(
				'fileError' => array(
					'class' => 'CFileLogRoute',
					'levels' => 'warning, error',
					'except' => 'exception.CHttpException.404',
				),
			),
		),
		/* Other component part here 'urlManager' for example */
	),
	/* Final part (with 'runtimePath' 'config' for example) */
);
 Hint: Súbor sa predvolene ukladá do limesurvey/tmp/runtime/application.log, ktorý sa nachádza v koreňovom priečinku LimeSurvey.
  Yii používa cestu runtime. Protokoly sú predvolene prístupné cez web. Môžu obsahovať množstvo informácií z vášho servera. Je lepšie použiť adresár, ktorý nie je prístupný cez web. Môžete ho nastaviť v routes alebo aktualizáciou cesty runtime.

.

Cesta runtime

Cesta runtime musí byť adresár čitateľný a zapisovateľný pre „webového používateľa“. Cesta runtime však obsahuje súbory s potenciálne citlivými informáciami, ktoré sa nachádzajú vo verejne dostupnej webovej oblasti. LimeSurvey tieto súbory zhromažďuje v dočasnom adresári (temp) v koreňovom adresári LimeSurvey. Aby ste zabránili prístupu k takýmto dôležitým údajom, môžete cestu runtime nastaviť mimo verejného webového prístupu úpravou príslušných riadkov v súbore /application/config/config.php:

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

Hlavné nastavenia

  • sitename: Pomenuje vašu stránku s prieskumami. Tento názov sa zobrazuje v prehľade zoznamu prieskumov a v hlavičke administrácie. Predvolená hodnota je 'LimeSurvey' a je možné ju prepísať v dialógovom okne globálne nastavenia alebo upraviť v config.php.
  • siteadminemail: Toto je predvolená e-mailová adresa správcu stránky, ktorá sa používa pre systémové správy a možnosti kontaktu. Toto nastavenie sa používa iba ako predvolená hodnota a je možné ho prepísať v dialógovom okne globálne nastavenia.
  • showEmailInError: Použiť predvolený e-mail správcu stránky (siteadminemail) pre odkaz mailto na chybovej stránke. Zakážte, ak sa má zobrazovať iba meno správcu. Predvolene sa používa, aby sa predišlo ďalšiemu spamu na administračný e-mail.
  • siteadminbounce: Toto je e-mailová adresa, na ktorú sa budú odosielať e-maily vrátené ako nedoručiteľné. Toto nastavenie sa používa iba ako predvolená hodnota a je možné ho prepísať v dialógovom okne globálne nastavenia.
  • siteadminname: Skutočné meno správcu stránky. Toto nastavenie sa používa iba ako predvolená hodnota a je možné ho prepísať v dialógovom okne globálne nastavenia).
  • proxy_host_name: Toto je názov hostiteľa vášho proxy servera (je potrebné ho uviesť, ak sa nachádzate za proxy serverom a chcete aktualizovať LimeSurvey pomocou ComfortUpdate).
  • proxy_host_port: Toto je port vášho proxy servera (je potrebné ho uviesť, ak sa nachádzate za proxy serverom a chcete aktualizovať LimeSurvey pomocou ComfortUpdate).

Zabezpečenie

  • maxLoginAttempt: Toto je počet pokusov, ktoré má používateľ na zadanie správneho hesla, kým sa jeho IP adresa zablokuje. Predvolená hodnota je 3 a je možné ju zmeniť v config.php.
  • timeOutTime: Ak používateľ zadá heslo nesprávne <maxLoginAttempt>-krát, bude zablokovaný na <timeOutTime> sekúnd. Predvolená hodnota je 10 minút a je možné ju zmeniť v config.php.
  • maxLoginAttemptParticipants: Toto je počet pokusov, ktoré má respondent na zadanie platného tokenu, kým sa jeho IP adresa zablokuje. Predvolená hodnota je 3 a je možné ju zmeniť v config.php.
  • timeOutParticipants: Ak respondent zadá token nesprávne <maxLoginAttemptParticipants>-krát, bude zablokovaný na <timeOutParticipants> sekúnd. Predvolená hodnota je 10 minút a je možné ju zmeniť v config.php.
  • surveyPreview_require_Auth: Predvolene nastavené na true. Ak nastavíte 'false', ktokoľvek môže otestovať váš prieskum pomocou URL prieskumu bez prihlásenia do administračného panela a bez nutnosti prieskum najprv aktivovať. Toto nastavenie je predvolená hodnota a je možné ju prepísať v dialógovom okne globálne nastavenia alebo upraviť v config.php.
  • usercontrolSameGroupPolicy: Predvolene nastavené na true. Predvolene budú môcť používatelia bez administrátorských práv definovaní v rozhraní správy LimeSurvey vidieť iba používateľov, ktorých vytvorili, alebo používateľov patriacich aspoň do jednej rovnakej skupiny. Predvolenú hodnotu je možné prepísať v dialógovom okne globálne nastavenia alebo upraviť v config.php.
  • demoMode: Ak je táto možnosť v config.php nastavená na 'true', LimeSurvey prejde do demo režimu. Demo režim mení nasledujúce veci:
    • Zakazuje zmenu podrobností a hesla administrátorského používateľa;
    • Zakazuje nahrávanie súborov v editore šablón;
    • Zakazuje odosielanie e-mailových pozvánok a pripomienok;
    • Zakazuje vytvorenie výpisu databázy;
    • Zakazuje možnosť meniť nasledujúce globálne nastavenia: názov stránky, predvolený jazyk, predvolený režim editora HTML, filter XSS.
  • forcedsuperadmin: Pole ID používateľov so všetkými právami v celom LimeSurvey. Toto nastavenie je možné aktualizovať iba v súbore config.php. Práva týchto používateľov nie je možné upraviť v globálnych oprávneniach používateľa ani iným vynúteným superadministrátorom. Predvolene je používateľom s týmito právami používateľ s ID: 1, teda prvý používateľ vytvorený hneď po inštalácii.
  • force_ssl: Vynúti beh LimeSurvey cez HTTPS alebo HTTPS zablokuje. Pozrite si Vynútiť HTTPS v administračnom rozhraní globálnych nastavení.
  • ssl_emergency_override: Toto nastavenie vynúti vypnutie SSL. Ak ste v globálnych nastaveniach zapli HTTPS/SSL, ale váš server nemá HTTPS povolené, jediným spôsobom, ako ho vypnúť, je zmena hodnoty priamo v databáze. Toto nastavenie vám umožní vynútiť vypnutie HTTPS, kým zmeníte globálne nastavenia pre Force Secure. Malo by byť vždy false, okrem núdzových prípadov, keď ho zmeníte na true, kým problém nevyriešite. Toto nastavenie je možné nastaviť iba v súbore config.php.
  • ssl_disable_alert: Vypne upozornenie pre superadministrátora o nevynútenom SSL, ak ho naozaj nemôžete alebo nechcete vynútiť. Toto nastavenie je možné nastaviť iba v súbore config.php.
  • allow_unserialize_attributedescriptions: Povolí deserializáciu (pomocou funkcie PHP unserialize) atribútov tokenov pri importe alebo čítaní objektu prieskumu. Údaje atribútov tokenov sa ukladajú ako JSON. Ak importujete súbor prieskumu zo veľmi starej verzie LimeSurvey a potrebujete získať jeho atribúty tokenov, musíte toto nastavenie povoliť. Upozornenie: Deserializácia môže viesť k načítaniu a spusteniu kódu v dôsledku vytvárania inštancií objektov a automatického načítavania a zlomyseľný používateľ to môže zneužiť. Toto nastavenie je možné nastaviť iba v súbore config.php.
  • allow_unserialize_attachments: Povolí deserializáciu (pomocou funkcie PHP unserialize) atribútov príloh pri importe prieskumu. Vo verzii LimeSurvey 6.16.17 sa atribút príloh zmenil zo serialize na json_encode. Ak potrebujete zachovať prílohy pri importe starého súboru LSS, musíte to povoliť. Upozornenie: Deserializácia môže viesť k načítaniu a spusteniu kódu v dôsledku vytvárania inštancií objektov a automatického načítavania a zlomyseľný používateľ to môže zneužiť. Toto nastavenie je možné nastaviť iba v súbore config.php.
  • twig_getConfig_extraallowlist: Umožňuje povoliť konkrétne prvky pre funkciu getConfig v twig. LimeSurvey už povoľuje väčšinu potrebných a používaných nastavení, ale môžete potrebovať viac. Ak chcete povoliť 'securesetting' a 'anothersetting', nastavte túto hodnotu na ['securesetting','anothersetting'] takto: 'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Toto nastavenie je možné nastaviť iba v súbore config.php.

Ochrana proti skriptovaniu medzi stránkami (XSS)

LimeSurvey nepovoľuje žiadne používateľské skripty na administračnej stránke. Ak nájdete spôsob, ako ľubovoľný používateľ môže na administračnú stránku pridať skript XSS, prečítajte si našu bezpečnostnú politiku.

Skripty na verejných stránkach sa spravujú nastaveniami filtra XSS.

  • filterxsshtml: Toto nastavenie zapína filtrovanie podozrivých HTML značiek v prieskumoch, skupinách, otázkach a textoch odpovedí v administračnom rozhraní. Nechajte ho na 'false' iba vtedy, ak absolútne dôverujete používateľom, ktorých ste vytvorili na správu LimeSurvey, a chcete im umožniť používať Javascript, Flash filmy atď. HTML superadministrátorov sa nikdy nefiltruje. Predvolenú hodnotu je možné prepísať v dialógovom okne globálne nastavenia.
  • filterxsshtml_forcedall: Vynúti filterxsshtml na true pre všetkých používateľov a zakáže zmeny v administračnom rozhraní. Zapne filtrovanie podozrivých HTML značiek aj pre superadministrátora.
  • filterxsshtml_allowforcedsuperadmin: Používa sa iba vtedy, ak je filterxsshtml_forcedall true. Umožňuje pridávať ľubovoľný skript a HTML používateľovi forcedsuperadmin (predvolene administrátorský používateľ č. 1).
  • disablescriptwithxss: Umožňuje aktualizáciu skriptu v otázke: predvolene true, teda platia pravidlá XSS; nastavte na false, ak to chcete povoliť všetkým používateľom. Predvolenú hodnotu je možné prepísať v dialógovom okne globálne nastavenia.
  • filterxsshtml_enablescript: Používa sa iba vtedy, ak je filterxsshtml_forcedall true. Povolí skript otázky pre konkrétneho používateľa: gui: povolí zmenu nastavenia cez rozhranie; superadmin: iba superadministrátor; forcedsuperadmin: iba vynútený superadministrátor; predvolene: žiadny používateľ a zmena cez rozhranie nie je povolená

Povolené nahrávanie súborov

  • allowedthemeimageformats : Typy obrazových súborov, ktoré je možné nahrať v sekcii motívov. Predvolene sú súbory SVG zakázané z dôvodu možného útoku XSS.
  • allowedthemeuploads : Ďalšie typy súborov, ktoré je možné nahrať v sekcii motívov (súbor zip)
  • allowedresourcesuploads : Typy súborov, ktoré je možné nahrať v sekciách zdrojov a pomocou editora HTML
  • allowedpluginuploads : Typ súboru povolený pri nahrávaní súboru zip doplnku.

Stačí zadať reťazec prípon oddelených čiarkou. Napríklad:

'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',

Upozornenie: Pri povoľovaní nahrávania súborov vždy buďte opatrní. Dá sa očakávať škodlivá činnosť.

Doplnky

  • usePluginWhitelist : Ak je nastavené na true, doplnky, ktoré nie sú v zozname povolených (pozri 'pluginWhitelist'), nie je možné nainštalovať ani načítať. Tým sa môžu zakázať už nainštalované doplnky.
  • pluginWhitelist : Zoznam názvov doplnkov, ktoré je možné nainštalovať a načítať, keď je 'usePluginWhitelist' nastavené na true. Základné doplnky sú v zozname povolených implicitne.
  • corePluginBlacklist : Zoznam názvov základných doplnkov, ktoré sú zakázané, keď je 'usePluginWhitelist' nastavené na true.
  • disablePluginUpload : Ak je toto nastavenie true, funkcia „Plugin Upload“ je zakázaná.

Kontrola hostiteľa

  • allowedHosts : Aby ste predišli útoku Host Header Injection, môžete nastaviť povolených hostiteľov pre všetky akcie. Ak používate rôznych hostiteľov pre verejnú stránku a administračnú stránku, musíte nastaviť oboch ako povolených hostiteľov.
    'config'=>array(
            ....
,		// Update default LimeSurvey config here
		'allowedHosts' => [
			'survey.example.org',
			'proxy.survey.example.com',
			'example.limesurvey.org',
		],
    ),

Zdroje

  • iSessionExpirationTime: Určuje čas v sekundách, po ktorom vyprší relácia prieskumu. Platí iba vtedy, ak používate relácie v databáze. Ak relácie v databáze používate, zmeňte parametre v config.php alebo prepíšte predvolenú hodnotu v dialógu globálne nastavenia.
  • memory_limit: Určuje, k akému množstvu pamäte môže LimeSurvey pristupovať, v megabajtoch. Predvolená hodnota je '256'. Ak sa vyskytnú chyby vypršania časového limitu alebo problémy pri generovaní štatistík či exportovaní súborov, zvýšte tento limit na '512' alebo viac. Ak má váš webový server v php.ini nastavený vyšší limit, toto nastavenie sa ignoruje.
Pamätajte, že takéto lokálne nastavenia môžu byť vždy prepísané zmenami vykonanými v dialógu globálnych nastavení.

Na zvýšenie limitu pamäte na 128M môžete skúsiť aj pridať:

  • memory_limit = 128M do hlavného súboru php.ini vášho servera (odporúčané, ak k nemu máte prístup)
  • memory_limit = 128M do súboru php.ini v koreňovom adresári LimeSurvey
  • php_value memory_limit 128M do súboru .htaccess v koreňovom adresári LimeSurvey
  • max_execution_time: Nastaví počet sekúnd, počas ktorých sa môže skript vykonávať. Ak sa tento limit dosiahne, skript vráti kritickú chybu. Aby bolo možné exportovať rozsiahle dáta prieskumu a štatistiky, LimeSurvey sa štandardne pokúša nastaviť hodnotu na 1200 sekúnd. Podľa potreby môžete nastaviť dlhší alebo kratší čas. Dostupné iba cez konfiguračný súbor PHP.

Vzhľad

  • repeatheadings: Pri type otázky Pole máte často veľa čiastkových otázok, ktoré po zobrazení na obrazovke zaberú viac než jednu stranu. Toto nastavenie vám umožňuje určiť, koľko čiastkových otázok sa zobrazí pred opakovaním informácií v hlavičke otázky. Vhodná hodnota je okolo 15. Ak nechcete, aby sa hlavičky opakovali vôbec, nastavte hodnotu 0. Toto nastavenie je prepísané v dialógu globálne nastavenia.
  • minrepeatheadings: Minimálny počet zostávajúcich čiastkových otázok potrebný na opakovanie hlavičiek v otázkach typu Pole. Predvolená hodnota je 3 a dá sa upraviť v config.php.
  • defaulttheme: Toto nastavenie určuje predvolený motív používaný pre „verejný zoznam“ prieskumov. Toto nastavenie je možné prepísať v dialógu globálne nastavenia alebo upraviť v config.php.
  • defaulthtmleditormode: Nastaví predvolený režim integrovaného HTML editora. Toto nastavenie je možné prepísať v dialógu globálne nastavenia alebo upraviť v config.php. Platné hodnoty sú:
    • 'inline' - Vloženie HTML editora priamo namiesto polí. Pomalé, ale pohodlné a používateľsky prívetivé;
    • 'popup' - Pridá ikonu, ktorá v prípade potreby spustí HTML editor vo vyskakovacom okne. Rýchlejšie, ale HTML kód sa zobrazuje vo formulári;
    • 'none'- Bez HTML editora;
  • column_style: Určuje, ako sa zobrazujú stĺpce pri odpovediach prieskumu pri použití display_columns. Dá sa upraviť v súbore config.php. Platné hodnoty sú:
    • 'css' - používa jednu z rôznych metód CSS na vytvorenie stĺpcov (podrobnosti nájdete v štýlovom súbore šablóny);
    • 'ul' - stĺpce sa zobrazujú ako viacero plávajúcich neusporiadaných zoznamov (predvolené);
    • 'table' - používa konvenčné rozloženie založené na tabuľkách;
    • NULL - vypne používanie stĺpcov.

Jazyk a čas

  • defaultlang: Mala by byť nastavená na predvolený jazyk používaný vo vašich administračných skriptoch a zároveň je to predvolené nastavenie jazyka vo verejnom zozname prieskumov. Toto nastavenie je možné prepísať v dialógu globálne nastavenia alebo upraviť v config.php.
  • timeadjust: Ak je váš webový server v inom časovom pásme než miesto, kde budú vaše prieskumy sídliť, zadajte sem rozdiel medzi svojím serverom a domácim časovým pásmom. Napríklad, žijem v Austrálii, ale používam americký webový server. Webový server zaostáva za mojím miestnym časovým pásmom o 14 hodín. Moje nastavenie je teda „14“. Inými slovami, pripočíta 14 hodín k času webového servera. Toto nastavenie je obzvlášť dôležité, keď prieskumy ukladajú časovú pečiatku odpovedí. Toto nastavenie je možné prepísať v dialógu globálne nastavenia alebo upraviť v config.php.

Správanie prieskumu

  • deletenonvalues: Túto funkciu používajte opatrne. Štandardne (hodnota 1) sa irelevantné otázky v databáze nastavia na NULL. Tým sa zaručí, že údaje vo vašej databáze sú vnútorne konzistentné. Existujú však zriedkavé prípady, keď môžete chcieť irelevantné hodnoty zachovať, a vtedy môžete nastaviť hodnotu 0. Napríklad sa opýtate muža na jeho pohlavie, on omylom uvedie „žena“ a potom odpovie na niektoré otázky určené pre ženy (otázky podmienené tým, že ide o ženu, a teda relevantné iba pre ženy). Potom si uvedomí svoju chybu, vráti sa späť, nastaví pohlavie na „muž“ a pokračuje v prieskume. Teraz sú otázky určené pre ženy irelevantné. Ak je $deletenonvalues==1, tieto irelevantné hodnoty sa v databáze vymažú (nastavia na NULL). Ak je $deletenonvalues==0, jeho chybné odpovede sa nevymažú, takže budú stále prítomné v databáze, keď ju budete analyzovať.
  • shownoanswer: Keď otázka typu prepínač/výber, ktorá obsahuje upraviteľné odpovede (t. j. otázky typu Zoznam, Pole), nie je povinná a 'shownoanswer' je nastavené na 1, zobrazí sa dodatočná položka „Bez odpovede“, aby respondenti mohli zvoliť, že na otázku neodpovedia. Niektorí ľudia preferujú, aby táto možnosť nebola dostupná. Toto nastavenie je možné prepísať v dialógu globálne nastavenia alebo upraviť v config.php. Platné hodnoty sú:
    • '0': Nie;
    • '1': Áno;
    • '2': Správca prieskumu si môže vybrať.
  • printanswershonorsconditions: Toto nastavenie určuje, či funkcia printanswers zobrazí položky z otázok, ktoré boli skryté vetvením podľa podmienok (predvolené: 1 = skryť odpovede z otázok skrytých podmienkami).
  • showpopups: Zobrazí vyskakovacie správy, ak povinné alebo podmienené otázky neboli správne zodpovedané:
    • '2' = určené možnosťou motívu (predvolené)
    • '1'= zobraziť vyskakovaciu správu;
    • '0'= namiesto toho zobraziť správu na strane;
    • '-1'= správu vôbec nezobrazovať (v tomto prípade budú používatelia stále vidieť tipy k jednotlivým otázkam, ktoré naznačujú, na ktoré otázky je potrebné odpovedať).

Správanie číselného typu otázky

  • bFixNumAuto: Číselné polia je možné automaticky filtrovať tak, aby sa odstránili všetky nečíselné hodnoty. Štandardne je to zapnuté, môžete to vypnúť globálne. Toto nastavenie súvisí s možnosťou Automaticky opraviť číselnú hodnotu v možnostiach hlavnej témy. Bolo zapnuté pre Áno, vypnuté pre Na vyjadrenie a Nie.
  • bNumRealValue: Číselné polia použité v správcovi výrazov môžu byť opravené alebo nie. Štandardne sú opravené. Ak je NUMERIC číselná otázka: vypnuté alebo 0 : {NUMERIC} so zlými znakmi vráti '', zapnuté alebo 1 : {NUMERIC} vráti všetky zadané znaky. Toto nastavenie súvisí s možnosťou Automaticky opraviť číselnú hodnotu v možnostiach hlavnej témy. Bolo zapnuté pre Áno a Na vyjadrenie a vypnuté pre Nie.

Vývoj a ladenie

  • debug: Týmto nastavením nastavíte hlásenie chýb PHP na E_ALL. To znamená, že sa zobrazí každé drobné upozornenie, varovanie alebo chyba súvisiaca so skriptom. Toto nastavenie by sa malo prepnúť na '1' iba vtedy, ak sa z akéhokoľvek dôvodu pokúšate ladiť aplikáciu. Ak ste vývojár, prepnite ho na '2'. Nenastavujte ho na '1' ani '2' v produkcii, pretože môže spôsobiť odhalenie ciest. Predvolená hodnota je '0' a dá sa upraviť v config.php.
  • debugsql: Aktivujte toto nastavenie, ak chcete v spodnej časti každej strany zobraziť všetky dotazy SQL vykonané skriptom. Veľmi užitočné pri optimalizácii počtu dotazov. Na aktiváciu zmeňte predvolenú hodnotu na '1' v súbore config.php.
  • use_asset_manager: Štandardne režim ladenia vypína správcu zdrojov (asset manager). Môžete povoliť jeho používanie aj pri zapnutom režime ladenia.

Ak sa v aplikácii vyskytne chyba, dôrazne odporúčame aktivovať nastavenie ladenia, aby ste získali podrobnejšiu chybu, ktorú môžete odoslať spolu s hlásením o chybe:

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

Ak pracujete na doplnku a potrebujete rýchlo vypísať premenné na obrazovku, môžete použiť funkciu traceVar. Ak je nastavené ladenie, táto funkcia používa CWebLogRoute na zobrazenie na HTML stránke. Použitie: traceVar($MyVariable)

Nastavenia e-mailu

Všetky nižšie uvedené nastavenia je možné prepísať v dialógu globálne nastavenia.

  • 'emailmethod: Určuje, ako sa odosielajú e-mailové správy. K dispozícii sú tieto možnosti:
    • 'mail:' používa interný odosielač PHP;
    • 'sendmail:' používa odosielač sendmail;
    • 'smtp:' používa preposielanie cez SMTP. Toto nastavenie použite, keď spúšťate LimeSurvey na hostiteľovi, ktorý nie je váš poštový server.
  • 'emailsmtphost: Ak ako $emailmethod používate 'smtp', musíte sem zadať váš server SMTP. Ak používate Google mail, možno budete musieť pridať číslo portu, napríklad $emailsmtphost = 'smtp.gmail.com:465'.
  • emailsmtpuser: Ak váš server SMTP vyžaduje overenie, nastavte sem svoje používateľské meno, inak musí byť prázdne.
  • emailsmtppassword: Ak váš server SMTP vyžaduje overenie, nastavte sem svoje heslo, inak musí byť prázdne.
  • emailsmtpssl: Nastavte na 'ssl' alebo 'tls', ak chcete pre pripojenie SMTP použiť SSL/TLS.
  • maxemails: Pri odosielaní pozvánok alebo pripomienok respondentom ankety sa toto nastavenie používa na určenie, koľko e-mailov sa môže odoslať v jednej dávke. Rôzne webové servery majú rôzne e-mailové kapacity a ak váš skript odosiela dávku e-mailov príliš dlho, skript môže vypršať a spôsobiť chyby. Väčšina webových serverov dokáže odoslať 100 e-mailov naraz v rámci predvoleného 30-sekundového časového limitu pre skript PHP. Ak pri odosielaní veľkého počtu e-mailov dostávate chyby vypršania skriptu, znížte číslo v tomto nastavení. Kliknutie na tlačidlo „Pošli emailovú pozvánku“ na paneli nástrojov správy tokenov (nie tlačidlo umiestnené vpravo od každého tokenu) odošle <maxemails> pozvánok, potom zobrazí zoznam adries príjemcov a upozornenie, že čaká viac e-mailov, než sa dalo odoslať v jednej dávke. Pokračujte v odosielaní e-mailov kliknutím nižšie. Ešte zostáva odoslať ### e-mailov. a poskytne tlačidlo „pokračovať“ na spracovanie ďalšej dávky. T. j. používateľ určuje, kedy sa odošle ďalšia dávka po odoslaní každej dávky. Nie je potrebné čakať s aktívnou touto obrazovkou. Správca sa môže odhlásiť a vrátiť sa neskôr, aby odoslal ďalšiu dávku pozvánok.

Štatistiky a prehliadanie odpovedí

  • filterout_incomplete_answers: Určuje predvolené správanie filtrovania nekompletných odpovedí pri prehliadaní alebo analýze odpovedí. Diskusiu o nekompletných odpovediach nájdete na našej wiki stránke prehliadanie výsledkov prieskumu. Keďže tieto záznamy môžu skresliť štatistiky, v niekoľkých formulároch grafického rozhrania je k dispozícii možnosť tento filter zapnúť alebo vypnúť. Parameter je možné upraviť v súbore config.php. K dispozícii sú tieto možnosti:
    • 'all': Umožňuje zobraziť kompletné aj nekompletné odpovede;
    • 'complete': Zobrazí iba kompletné odpovede;
    • 'incomplete': Zobrazí iba nekompletné odpovede.
  • strip_query_from_referer_url: Toto nastavenie určuje, či sa v odkazujúcej www stránke uloží parameter, alebo nie. Predvolená hodnota je 'false' (v takom prípade odkazujúca www stránka uloží všetky parametre). Alternatívne je možné nastaviť hodnotu 'true' a časť s parametrami sa z adresy odkazujúcej www stránky odstráni.
  • showaggregateddata: Po aktivácii sa zobrazia dodatočné štatistické hodnoty, ako je aritmetický priemer a štandardná odchylka. Údaje sú navyše agregované, aby ste získali rýchlejší prehľad. Napríklad výsledky škály 1+2 a 4+5 sa sčítajú, aby vzniklo všeobecné poradie ako "dobré" (1/2), "priemerné" (3) a "zlé" (4/5). Týka sa to iba typov otázok "A" (pole s 5 možnosťami) a "5" (5 možností).
  • Nastavenia exportu PDF: Táto funkcia aktivuje export PDF pre tlačiteľné prieskumy a Vytlačiť odpovede. Funkcia exportu PDF je úplne experimentálna a výstup je ďaleko od dokonalosti. Bohužiaľ, momentálne nie je možné poskytnúť podporu – ak chcete pomôcť s opravou, kontaktujte nás.
    • 'pdfdefaultfont': Predstavuje predvolené písmo, ktoré použije funkcia exportu PDF. Predvolená hodnota je 'auto'. Ak ho chcete zmeniť, nastavte ho na jedno zo základných písiem PDF.
    • 'alternatepdffontfile': Je to pole s kľúčmi jazykov a im zodpovedajúcimi písmami. Predvolené písmo pre každý jazyk je možné nahradiť v súbore config.php;
    • 'pdffontsize': Určuje veľkosť písma pre bežné texty; pre názov prieskumu je to <pdffontsize>+4, zatiaľ čo pre názov skupiny je to <pdffontsize>+2. Je možné ju upraviť v súbore config.php alebo v dialógu globálnych nastavení.
  • Nastavenie grafu
    • 'chartfontfile': Nastavuje názov súboru písma, ktoré sa používa na vytváranie štatistických grafov. Súbor musí byť umiestnený v adresári fonts v koreňovom priečinku LimeSurvey. Je možné ho upraviť v súbore config.php;
    • 'alternatechartfontfile': Je to pole s kľúčmi jazykov a im zodpovedajúcimi písmami. Je možné ho upraviť v súbore config.php.
  • showsgqacode: Toto nastavenie sa používa pri funkcii tlačiteľného prieskumu a predvolene je 'false. Ak nastavíte showsgqacode = 'true';, zobrazia sa ID každej otázky – a prípadne odpovede. Tieto ID zodpovedajú hlavičkám stĺpcov v tabuľke Lime_survey_12345, ktorá obsahuje údaje odpovedí pre daný prieskum. Tieto ID je možné použiť ako kódovú knihu pre manuálne databázové dotazy.

Nastavenia LDAP

Keďže ide o rozsiahlu tému, presunuli sme nastavenia LDAP na inú stránku.

Autentifikácia

Autentifikáciu zabezpečujú rozšírenia. Nižšie uvedené nastavenia používa rozšírenie Webserver authentication, pozrite Autentifikačné rozšírenia.

Delegovanie autentifikácie webovému serveru

Správcovia systému môžu chcieť, aby sa ich správcovia prieskumov autentifikovali voči centrálnemu autentifikačnému systému (Active Directory, openLdap, Radius, ...) namiesto použitia internej databázy LimeSurvey. Jednoduchým spôsobom je nastaviť softvér webového servera tak, aby používal tento externý autentifikačný systém, a potom nechať LimeSurvey dôverovať identite používateľa, ktorú oznámi webový server. Ak chcete túto funkciu povoliť, musíte:

  • aktivovať rozšírenie Webserver v časti Konfigurácia > Rozšírenia a v nastaveniach rozšírenia nastaviť kľúč servera, ktorý obsahuje používateľské meno (predvolene: REMOTE_USER);
  • povoliť autentifikáciu na strane webového servera.

Upozorňujeme, že:

  • LimeSurvey potom obíde vlastný proces autentifikácie (použije prihlasovacie meno oznámené webovým serverom bez vyžiadania hesla);
  • toto môže nahradiť iba autentifikačný systém grafického rozhrania LimeSurvey, nie systém pozvánok do prieskumu (rozhranie pre respondentov).

Delegovanie autentifikácie bez automatického importu používateľov

Upozorňujeme, že delegovanie autentifikácie predvolene neobchádza autorizačný systém LimeSurvey – to znamená, že aj keď v LimeSurvey nemusíte spravovať heslá, stále musíte definovať používateľov v databáze LimeSurvey a prideliť im správnu sadu práv, aby mali prístup do administračného panela.

Používateľ získa prístup do LimeSurvey vtedy a len vtedy, ak:

  • bol autentifikovaný na webovom serveri;
  • jeho prihlasovacie meno je definované ako používateľ v databáze používateľov LimeSurvey (používateľ potom získa oprávnenia používateľa definovaného v databáze používateľov LimeSurvey);
  • má globálne povolenie Použite autentifikáciu webového servera.

Delegovanie autentifikácie s automatickým importom používateľov

Pri správe rozsiahlej databázy používateľov je niekedy jednoduchšie automaticky importovať používateľov do databázy LimeSurvey:

  • auth_webserver_autocreate_user: Ak je nastavené na 'true', LimeSurvey sa pokúsi automaticky importovať používateľov autentifikovaných webovým serverom, ktorí ešte nie sú v jeho databáze používateľov.
  • auth_webserver_autocreate_profile: Pole popisujúce predvolený profil, ktorý sa pridelí používateľovi: celé (fiktívne) meno, e-mail a jazyk.
  • auth_webserver_autocreate_permissions: Pole s globálnymi povoleniami, ktoré sa pridelia používateľovi.

Ak chcete prispôsobiť profil používateľa tak, aby zodpovedal prihlásenému používateľovi, budete musieť v súbore config.php vytvoriť jednoduchú funkciu s názvom hook_get_auth_webserver_profile – pomocou tejto funkcie môžete z centrálnej databázy používateľských účtov (napríklad z adresára LDAP) získať skutočné celé meno, e-mail a jazyk konkrétneho používateľa.

Funkcia hook_get_auth_webserver_profile prijíma ako jediný argument prihlasovacie meno používateľa a môže vrátiť:

  • False alebo prázdne pole – v tomto prípade je používateľovi odmietnutý prístup do LimeSurvey;
  • pole obsahujúce rovnaké položky ako auth_webserver_autocreate_profile.
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
    return array(
        'full_name' => $user_name_from_backend,
        'email' => $user_email_from_backend,
        'lang' => $user_lang_from_backend,
    );
}

// If user should be denied access, return an empty array
// return array();
  Voliteľná funkcia 'hook_get_auth_webserver_profile' je určená iba pre pokročilých používateľov! Ďalšie podrobnosti nájdete v komentároch v súbore config-defaults.php.


Mapovanie používateľských mien

Ak majú niektorí používatelia externé používateľské meno odlišné od ich používateľského mena v LimeSurvey, môže byť užitočné použiť mapovanie používateľských mien. V LimeSurvey sa to robí pomocou parametra auth_webserver_user_map. Predstavte si napríklad, že vo svojej externej autentifikačnej databáze nemáte definované používateľské meno 'admin'. Aby ste sa mohli prihlásiť do LimeSurvey ako admin, budete musieť namapovať svoje externé používateľské meno (nazvime ho 'myname') na prihlasovacie meno admin v LimeSurvey. Zodpovedajúce nastavenie je:

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

Po úspešnej autentifikácii pomocou prihlasovacieho mena 'myname' a hesla webového servera budete mať priamo oprávnenie používať LimeSurvey ako používateľ 'admin'.

Toto má vážne bezpečnostné dôsledky, preto to používajte opatrne. Súbor config.php tiež chráňte pred zápisom zo strany webového servera.

Použitie jednorazových hesiel

Používateľ môže otvoriť prihlasovaciu stránku LimeSurvey na adrese default.com/limesurvey/admin a zadať používateľské meno a jednorazové heslo, ktoré externá aplikácia predtým zapísala do tabuľky users (stĺpec one_time_pw).

Aby bolo možné používať jednorazové heslá, musí byť toto nastavenie zapnuté v súbore config.php (predvolene = false).

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

Ďalšie informácie nájdete v sekcii „Správa používateľov“.


Nastavenia šifrovania

  Pozor : Po nastavení by sa šifrovacie kľúče nikdy nemali meniť, inak môžu byť všetky šifrované údaje stratené!


Pri aktualizácii alebo inštalácii boli tieto parametre vygenerované systémom LimeSurvey a nastavené v súbore application/config/security.php. Tieto nastavenia môžete presunúť do súboru config.php, ak chcete, alebo ich nechať v security.php.

Podrobnosti o tejto funkcii nájdete v časti šifrovanie údajov.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey
  • encryptionnonce
  • encryptionsecretboxkey

Pokročilé nastavenia URL

  • publicurl: Toto nastavenie by malo obsahovať adresu URL umiestnenia vašich „verejných skriptov“. Verejné skripty sú tie, ktoré sa nachádzajú v priečinku „limesurvey“ (alebo v priečinku, ktorý ste pomenovali inak a v ktorom sú uložené všetky ostatné skripty a priečinky). Toto nastavenie je dostupné v súbore config.php a používa sa vtedy, keď LimeSurvey potrebuje absolútnu adresu URL (napríklad pri odosielaní e-mailov s tokenmi).
  • tempurl: Toto nastavenie by malo obsahovať adresu URL umiestnenia vášho adresára „/limesurvey/tmp“ - alebo adresára, ktorý chcete, aby LimeSurvey používal na poskytovanie dočasných súborov.
  • uploadurl: Toto nastavenie by malo obsahovať adresu URL umiestnenia vášho adresára „/limesurvey/upload“ - alebo adresára, ktorý chcete, aby LimeSurvey používal na poskytovanie nahraných súborov. Vďaka tomu môžete nahrané súbory sprístupniť na inej doméne.

Rozšírené nastavenia ciest

  • homedir: Toto nastavenie by malo obsahovať fyzické umiestnenie vašich administračných skriptov na disku - napríklad „/home/usr/htdocs/limesurvey/admin“. Na koniec tohto záznamu nepridávajte lomku. Predvolené nastavenie v súbore config.php sa pokúša zistiť predvolenú koreňovú cestu všetkých vašich dokumentov pomocou premennej PHP {$_SERVER['DOCUMENT_ROOT']}. Vo väčšine prípadov to môžete ponechať a upraviť iba zvyšok tohto reťazca tak, aby zodpovedal názvu adresára, do ktorého ste umiestnili skripty LimeSurvey.
  • publicdir: Toto nastavenie by malo obsahovať fyzické umiestnenie vašich „verejných skriptov“ na disku.
  • tempdir: Toto nastavenie by malo obsahovať fyzické umiestnenie vášho adresára /limesurvey/tmp na disku, aby skript mohol čítať a zapisovať súbory.
  • uploaddir: Toto nastavenie by malo obsahovať fyzické umiestnenie vášho adresára /limesurvey/upload na disku, aby skript mohol čítať a zapisovať súbory.
  • sCKEditorURL: adresa URL skriptu CKEditor.

Ďalšie rozšírené nastavenia

Nahrávanie súborov

  • magic_database: Umožňuje použiť inú databázu MIME pre finfo_open. Dá sa upraviť iba v súbore config.php. Príklad: /usr/share/misc/magic.mgc pre systémy Linux založené na Red Hat.
  • magic_file: Umožňuje použiť iný súbor na získanie poľa prípon podľa typu MIME než súbor, ktorý je súčasťou inštalácie. Musí to byť súbor PHP, ktorý vracia pole. Dá sa upraviť iba v súbore config.php.

Aktualizácia

  • updatable: Toto nastavenie sa nachádza v súbore version.php. Môže mať hodnotu true alebo false. Ak ho nastavíte na true: keď sa prihlási používateľ so superadministrátorskými právami, LimeSurvey skontroluje, či je dostupná aktualizácia, a zobrazí upozornenie. Ak je nastavené na false: kontrola sa nevykonáva a nemôžete použiť Pohodlnú aktualizáciu (ComfortUpdate).

Tokeny

  • allowedcharacters_pattern_token : Tieto nastavenia umožňujú určiť regulárny výraz (regexp) pri filtrovaní tokenov.