Mga opsyonal na setting
From LimeSurvey Manual
Ang sumusunod na seksyon ay para sa mga nais mag-edit ng mga setting ng configuration na hindi maaaring baguhin gamit ang GUI (Graphical User Interface) ng pag-install ng LimeSurvey. Pakatandaan na ang lahat ng pagbabago sa LimeSurvey root directory ay ginagawa sa sarili ninyong panganib. Gayunpaman, kung nakararanas kayo ng mga problema o kailangan ninyo ng karagdagang gabay, sumali sa discussion forums para humingi ng tulong mula sa komunidad ng LimeSurvey.
Panimula
Upang baguhin ang mga setting ng configuration ng pag-install, kailangan ninyong i-edit ang mga opsyonal na setting. Makikita ang mga ito sa /application/config/config-defaults.php, na matatagpuan sa LimeSurvey root directory. Makikita sa config-defaults.php ang mga default na setting ng karaniwang pag-install. Ang ilan sa mga ito ay maaaring i-override gamit ang dialog ng mga pangkalahatang setting, habang ang iba naman ay kailangang manu-manong i-edit.
Kapag may naganap na upgrade, ang mga setting lamang sa config-defaults.php ang nababago. Kaya, ang pag-edit ng config.php file ay magpapanatili ng inyong mga customized na setting.
Upang i-update/magdagdag ng mga setting ng LimeSurvey sa /application/config/config.php, kailangan ninyong i-update ang config array:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
)
Mga setting ng Yii
Gumagamit ang LimeSurvey ng Yii framework, na may sarili nitong mga parameter ng configuration sa application/config/internal.php at application/config/config.php file. Maaari rin ninyong ma-access ang ilang partikular na setting ng configuration ng LimeSurvey sa pamamagitan ng configuration ng Yii.
Dahil pinagsasama ang config.php array sa buong config, maaari ninyong palitan ang anumang Yii param sa config.php file.
Ang mga setting na partikular sa Yii ay itinatakda sa components array:
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
Mga setting ng database
Ang mga setting ng database ay isinusulat sa config.php ng installer file kapag unang beses ninyong ini-install ang LimeSurvey. Kung kinakailangan, maaari ninyong i-update ang bahaging ito ng config.php file. Pakatandaan na ginagawa ninyo ito sa sarili ninyong panganib! Tingnan din ang Yii documentation at pakatandaan na sinusuportahan lamang ng LimeSurvey ang mga sumusunod na uri ng database: mysql, pgsql, dblib, mssql, at sqlsrv.
Mga setting ng session
Maaari kayong magtakda ng ilang parameter ng session sa config.php (tingnan ang dalawang halimbawa sa ibaba). Maaari ninyong i-uncomment/idagdag ang kinakailangang bahagi sa config.php. Tingnan ang Yii Documentation para sa iba pang setting.
Gumamit ng mga session na nakabatay sa table
Maaaring gumamit ang LimeSurvey ng mga session na nakabatay sa table; makikita ninyo ang naka-comment na bahagi sa default na nabuong config.php file. Upang gumamit ng session na nakabatay sa table, alisin ang // sa bawat linya.
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
Iba pang pag-update ng session
Kung gumagamit kayo ng SSL ('https') para sa inyong pag-install ng LimeSurvey, ang pagdaragdag ng mga sumusunod na linya sa inyong config.php ay magpapataas ng seguridad ng session:
// 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
),
),
Kung nais ninyong ayusin ang domain para sa isang cookie, gamitin ang sumusunod na syntax sa config.php:
// Set the domain for cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Kung mayroon kayong maraming pag-install sa iisang server, mas mabilis at madali ang magtakda ng magkaibang pangalan ng session para sa bawat instance ng LimeSurvey. Maaaring kailanganin ito para sa IE11 sa ilang kondisyon (tingnan ang issue 12083)
// Set the name of the session
'session' => array (
'sessionName' => "LimeSurveyN1",
),
Mga setting ng request
Mahalaga ang mga setting ng request, ngunit ang mga default na setting ay na-optimize na para sa paggamit ng LimeSurvey. Upang magbasa pa tungkol sa mga ito, tingnan ang Yii Documentation.
Halimbawa, maaaring baguhin ang configuration ng mga setting ng request ng LimeSurvey sa sumusunod na paraan (sa sarili ninyong panganib) :
// 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, path is used if you have different instance on same domain
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Kung kailangan ninyong i-update lamang ang url para sa mga token email, itakda ang inyong publicurl sa inyong config.php file.
Payagan ang paggamit ng session at CSRF validation sa iFrame
Ang pag-on ng Pinapayagan ang pag-embed ng iFrame sa mga setting ng seguridad ay nagpapahintulot lamang sa mga browser na ipakita ang inyong mga survey sa isang iframe. Upang makasagot at makapagsumite ang mga kalahok ng survey sa loob ng iframe, kailangan din ninyong baguhin ang mga setting ng session at CSRF cookie sa config.php ayon sa paglalarawan sa ibaba. Ang parehong cookie ay dapat ipadala na may SameSite=None, na tinatanggap lamang ng mga browser sa pamamagitan ng valid na HTTPS connection.
Payagan ang pagsisimula ng session sa iframe
Ang session cookie ay dapat secure (nangangailangan ng valid na HTTPS connection) at httponly, at ang samesite ay dapat itakda sa None. Ang mga key sa cookieParams ay dapat isulat sa lahat ng lowercase.
'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',
),
),
Payagan ang csrf cookie sa iframe
Tulad ng session cookie, ang CSRF cookie ay dapat secure, at ang sameSite ay dapat itakda sa None. Tandaan na isinusulat ang key bilang sameSite dito. Idagdag ang buong request array sa parehong antas ng session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
Mga setting ng URL
Para baguhin ang mga default na setting ng URL, i-update ang urlManager:
// Gumamit ng maikling URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
Maaari ka ring magdagdag ng .html pagkatapos ng ID ng survey sa sumusunod na paraan:
// Gumamit ng maikling URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
Para sa karagdagang impormasyon, tingnan ang dokumentasyon ng Yii.
Mga setting ng pag-log
Nagbibigay ang Yii ng iba't ibang solusyon para gumawa ng mga log. Para malaman ang higit pa tungkol sa mga ito, tingnan ang espesyal na paksa tungkol sa pag-log. Gumagamit ang LimeSurvey ng '1' o '2' bilang default, na nagpapahintulot sa bawat web user na makita ang mga log. Maaari kang gumawa ng sarili mong mga setting gamit ang Yii nang direkta.
Halimbawa, isang mabilis na solusyon para i-log ang mga error at babala sa mga file ay:
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) */
);
limesurvey/tmp/runtime/application.log, na matatagpuan sa root folder ng LimeSurvey..
Runtime path
Ang runtime path ay dapat na direktoryong mababasa at masusulatan ng “web user”. Gayunpaman, ang runtime path ay naglalaman ng mga file na may potensyal na impormasyong pangseguridad na matatagpuan sa pampublikong web access area. Kinokolekta ng LimeSurvey ang mga file na ito sa temp directory ng LimeSurvey root directory. Upang maalis ang access sa gayong mahahalagang data, maaari mong itakda ang runtime path sa labas ng pampublikong web access sa pamamagitan ng pag-edit ng mga kaukulang linya sa /application/config/config.php file:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Mga pangkalahatang setting
- sitename: Nagbibigay ng pangalan sa iyong survey site. Lalabas ang pangalang ito sa overview ng listahan ng survey at sa header ng administrasyon. Ang default na value ay 'LimeSurvey' at maaari itong i-override sa dialog ng mga pangkalahatang setting o i-edit sa config.php.
- siteadminemail: Ito ang default na email address ng administrator ng site at ginagamit ito para sa mga mensahe ng system at mga opsyon sa pakikipag-ugnayan. Ginagamit lamang ang setting na ito bilang default na value at maaaring i-override sa dialog ng mga pangkalahatang setting.
- showEmailInError: Gamitin ang default na admin email ng site (siteadminemail) para sa mailto link sa error page. I-disable para ipakita lamang ang pangalan ng administrator. Default ito para maiwasan ang mas maraming spam sa email ng administrasyon.
- siteadminbounce: Ito ang email address kung saan ipapadala ang mga bounced na email. Ginagamit lamang ang setting na ito bilang default na value at maaaring i-override ng dialog ng mga pangkalahatang setting.
- siteadminname: Ang tunay na pangalan ng administrator ng site. Ginagamit lamang ang setting na ito bilang default na value at maaaring i-override sa dialog ng mga pangkalahatang setting).
- proxy_host_name: Ito ang host name ng iyong proxy server (kailangan itong banggitin kung nasa likod ka ng proxy at gusto mong i-update ang LimeSurvey gamit ang ComfortUpdate).
- proxy_host_port: Ito ang port ng iyong proxy server (kailangan itong banggitin kung nasa likod ka ng proxy at gusto mong i-update ang LimeSurvey gamit ang ComfortUpdate).
Seguridad
- maxLoginAttempt: Ito ang bilang ng pagtatangka ng isang user na ilagay ang tamang password bago ma-block/ma-lock out ang kanyang IP address. Ang default na value ay 3 at maaari itong baguhin mula sa config.php.
- timeOutTime: Kung maling password ang inilagay ng user nang <maxLoginAttempt> beses, ila-lock out siya sa loob ng <timeOutTime> segundo. Ang default na value ay 10 minuto at maaari itong baguhin mula sa config.php.
- maxLoginAttemptParticipants: Ito ang bilang ng pagtatangka ng isang kalahok na maglagay ng valid na token bago ma-block/ma-lock out ang kanyang IP address. Ang default na value ay 3 at maaari itong baguhin mula sa config.php.
- timeOutParticipants: Kung maling token ang inilagay ng kalahok nang <maxLoginAttemptParticipants> beses, ila-lock out siya sa loob ng <timeOutParticipants> segundo. Ang default na value ay 10 minuto at maaari itong baguhin mula sa config.php.
- surveyPreview_require_Auth: Naka-set sa true bilang default. Kung itatakda mo ito sa 'false', sinuman ay maaaring mag-test ng iyong survey gamit ang URL ng survey, nang hindi nagla-log in sa administration panel at nang hindi muna kailangang i-activate ang survey. Ang setting na ito ay isang default na value at maaaring i-override sa dialog ng mga pangkalahatang setting o i-edit sa config.php.
- usercontrolSameGroupPolicy: Naka-set sa true bilang default. Bilang default, ang mga non-admin na user na tinukoy sa management interface ng LimeSurvey ay makakakita lamang ng mga user na kanilang ginawa o mga user na kabilang sa kahit isang parehong grupo. Ang default na value ay maaaring i-override sa dialog ng mga pangkalahatang setting o i-edit sa config.php.
- demoMode: Kung ang opsyong ito ay naka-set sa 'true' sa config.php, papasok ang LimeSurvey sa demo mode. Binabago ng demo mode ang mga sumusunod:
- Dini-disable ang pagbabago ng detalye at password ng admin user;
- Dini-disable ang pag-upload ng mga file sa template editor;
- Dini-disable ang pagpapadala ng mga email invitation at reminder;
- Dini-disable ang paggawa ng database dump;
- Dini-disable ang kakayahang baguhin ang mga sumusunod na pangkalahatang setting: pangalan ng site, default na wika, default na mode ng HTML editor, XSS filter.
- forcedsuperadmin: Array ng user id na may lahat ng karapatan sa buong LimeSurvey. Ang setting na ito ay maaari lamang i-update sa config.php file. Ang mga karapatan ng user na ito ay hindi maaaring i-edit sa mga pangkalahatang pahintulot para sa isang user kahit ng ibang forced super administrator. Bilang default: ang user na may ganitong mga karapatan ay ang user na may id: 1. Ito ang unang user na ginawa pagkatapos ng pag-install.
- force_ssl: Pinipilit ang LimeSurvey na tumakbo sa HTTPS o harangin ang HTTPS. Tingnan ang Puwersahin ang HTTPS sa admin GUI ng mga pangkalahatang setting.
- ssl_emergency_override: Pinapatay ng setting na ito ang SSL nang sapilitan. Kung na-on mo ang HTTPS/SSL sa mga pangkalahatang setting ngunit hindi naka-enable ang HTTPS sa iyong server, ang tanging paraan para i-off ito ay direktang baguhin ang isang value sa database. Pinapayagan ka nitong pilitin ang HTTPS na naka-off habang binabago mo ang mga pangkalahatang setting para sa Force Secure. Dapat laging false ito maliban sa mga emergency kung saan ililipat mo ito sa true hanggang maayos mo ang problema. Ang setting na ito ay maaari lamang itakda sa pamamagitan ng config.php file.
- ssl_disable_alert: I-disable ang alerto para sa super-admin tungkol sa hindi pinipilit na SSL, kung talagang hindi mo magawa o ayaw mong piliting gamitin ang ssl. Ang setting na ito ay maaari lamang itakda sa pamamagitan ng config.php file.
- allow_unserialize_attributedescriptions: Payagan ang pag-unserialize (gamit ang PHP unserialize function) ng mga token attribute kapag nag-i-import o bumabasa ng survey object. Ang data ng token attribute ay sine-save bilang JSON. Kung mag-i-import ka ng survey file mula sa napakalumang bersyon ng LimeSurvey at kailangan mong makuha ang mga token attribute nito, dapat mong i-enable ang setting na ito. Babala: Ang unserialization ay maaaring magresulta sa pag-load at pag-execute ng code dahil sa object instantiation at autoloading, at maaaring samantalahin ito ng isang malisyosong user.. Ang setting na ito ay maaari lamang itakda sa pamamagitan ng config.php file.
- allow_unserialize_attachments: Payagan ang pag-unserialize (gamit ang PHP unserialize function) ng mga attribute ng attachment kapag nag-i-import ng survey. Sa limesurvey 6.16.17: ang attribute ng attachment ay inilipat mula serialize patungong json_encode. Kung kailangan mong panatilihin ang attachment kapag nag-i-import ng lumang LSS file, dapat mo itong payagan. Babala: Ang unserialization ay maaaring magresulta sa pag-load at pag-execute ng code dahil sa object instantiation at autoloading, at maaaring samantalahin ito ng isang malisyosong user. Ang setting na ito ay maaari lamang itakda sa pamamagitan ng config.php file.
- twig_getConfig_extraallowlist: Nagpapahintulot ng mga partikular na elemento para sa getConfig function sa twig. Pinapayagan na ng LimeSurvey ang karamihan sa mga kailangan at madalas gamitin na setting, ngunit maaaring kailanganin mo pa ng iba. Kung gusto mong payagan ang 'securesetting' at 'anothersetting', itakda ito sa
['securesetting','anothersetting']tulad nito:'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Ang setting na ito ay maaari lamang itakda sa pamamagitan ng config.php file.
Proteksyon laban sa cross-site scripting (XSS)
Hindi pinapayagan ng LimeSurvey ang anumang user script sa pahina ng administrasyon. Kung makakita ka ng paraan para magdagdag ng XSS script sa pahina ng administrasyon ng sinumang user, pakitingnan ang aming Patakaran sa Seguridad.
Ang mga script ng pampublikong pahina ay pinamamahalaan ng mga setting ng XSS filter.
- filterxsshtml: Pinapagana ng setting na ito ang pag-filter ng mga kahina-hinalang html tag na nasa loob ng mga survey, grupo, at mga teksto ng tanong at sagot sa administration interface. Iwanan ito sa 'false' lamang kung lubos mong pinagkakatiwalaan ang mga user na ginawa mo para sa administrasyon ng LimeSurvey at kung gusto mong payagan ang mga user na ito na gumamit ng Javascript, Flash Movies, atbp.. Hindi kailanman nafi-filter ang HTML ng mga super admin. Ang default na value ay maaaring i-override sa dialog ng mga pangkalahatang setting.
- filterxsshtml_forcedall: Pilitin ang
filterxsshtmlna maging true para sa lahat ng user, i-disable ang mga update sa admin GUI. Pinapagana rin ang pag-filter ng mga kahina-hinalang HTML tag para sa superadmin. - filterxsshtml_allowforcedsuperadmin: Ginagamit lamang kung true ang
filterxsshtml_forcedall. Payagan ang pagdagdag ng anumang script at HTML ngforcedsuperadmin(bilang default, ang admin user #1). - disablescriptwithxss: Payagan ang pag-update ng script sa tanong: bilang default, true: sundin ang mga panuntunan ng XSS; itakda sa false para payagan ang lahat ng user. Ang default na value ay maaaring i-override sa dialog ng mga pangkalahatang setting.
- filterxsshtml_enablescript: Ginagamit lamang kung true ang filterxsshtml_forcedall. I-enable ang script ng tanong para sa partikular na user:
gui: payagan ang pag-update ng setting sa pamamagitan ng GUI;superadmin: super admin lamang;forcedsuperadmin: forced superadmin lamang; bilang default: walang user at hindi pinapayagan ang pag-update sa pamamagitan ng GUI
Pinapayagang pag-upload ng file
- allowedthemeimageformats : Mga uri ng image file na pinapayagang i-upload sa seksyon ng mga theme. Bilang default, naka-disable ang mga SVG file dahil sa posibleng XSS attack.
- allowedthemeuploads : Iba pang uri ng file na pinapayagang i-upload sa seksyon ng mga theme (zip file)
- allowedresourcesuploads : Mga uri ng file na pinapayagang i-upload sa mga seksyon ng mga resource, at gamit ang HTML Editor
- allowedpluginuploads : Uri ng file na pinapayagan kapag nag-a-upload ng plugin zip file.
Maglagay lamang ng string ng mga extension na pinaghihiwalay ng kuwit. Halimbawa:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Babala: Palaging mag-ingat sa pagpapahintulot ng pag-upload ng file. Maaaring magkaroon ng mga mapaminsalang gawain.
Mga Plugin
- usePluginWhitelist : Kung true, ang mga plugin na wala sa allowlist (tingnan ang 'pluginWhitelist') ay hindi maaaring i-install o i-load. Maaari nitong i-disable ang mga plugin na naka-install na.
- pluginWhitelist : Listahan ng mga pangalan ng plugin na pinapayagang i-install at i-load kapag true ang 'usePluginWhitelist'. Ang mga core plugin ay otomatikong nasa allowlist.
- corePluginBlacklist : Listahan ng mga pangalan ng core plugin na ipinagbabawal kapag true ang 'usePluginWhitelist'.
- disablePluginUpload : Kapag true ang setting na ito, naka-disable ang feature na "Plugin Upload"
Kontrol ng host
- allowedHosts : Upang maiwasan ang Host Header Injection, maaari mong itakda ang mga pinapayagang host para sa lahat ng aksyon. Kung gumagamit ka ng magkaibang host para sa public page at admin page, kailangan mong itakda ang pareho bilang pinapayagang host.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Mga resource
- iSessionExpirationTime: Tinutukoy ang oras sa segundo kung kailan mag-e-expire ang session ng survey. Nalalapat lamang ito kung gumagamit ka ng database session. Kung gumagamit ka ng database session, baguhin ang parameter sa config.php o i-override ang default na value mula sa dialog ng mga pangkalahatang setting.
- memory_limit: Tinutukoy nito kung gaano karaming memory ang maaaring gamitin ng LimeSurvey, sa megabytes. Ang default na value ay '256'. Kung nakakatanggap ka ng mga time out error o nahihirapan kang gumawa ng istatistika o mag-export ng mga file, itaas ang limitasyong ito sa '512' o higit pa. Kung may mas mataas na limitasyon na itinakda ang iyong web server sa php.ini, hindi papansinin ang setting na ito.
Upang taasan ang memory limit sa 128M, maaari mo ring subukang idagdag ang:
- memory_limit = 128M sa pangunahing php.ini file ng iyong server (inirerekomenda, kung may access ka)
- memory_limit = 128M sa isang php.ini file sa LimeSurvey root
- php_value memory_limit 128M sa isang .htaccess file sa LimeSurvey root
- max_execution_time: Itakda ang bilang ng segundo na pinapayagang tumakbo ang isang script. Kapag naabot ito, magbabalik ang script ng fatal error. Upang mapayagan ang pag-export ng malaking data ng survey at istatistika, sinusubukan ng LimeSurvey na itakda ito sa 1200 segundo bilang default. Maaari kang magtakda ng mas mahaba o mas maikling oras kung kinakailangan. Maa-access lamang sa pamamagitan ng php config file.
Hitsura
- repeatheadings: Sa uri ng tanong na Array, madalas kang magkakaroon ng maraming subtanong na kapag ipinakita sa screen ay lampas sa isang pahina. Hinahayaan ka ng setting na ito na magpasya kung ilang subtanong ang ipapakita bago ulitin ang impormasyon ng header para sa tanong. Magandang setting dito ay mga 15. Kung ayaw mong umulit ang mga heading, itakda ito sa 0. Ang setting na ito ay ino-override sa dialog ng mga pangkalahatang setting.
- minrepeatheadings: Ang minimum na bilang ng natitirang subtanong na kinakailangan bago ulitin ang mga heading sa mga tanong na Array. Ang default na value ay 3 at maaari itong i-edit sa config.php.
- defaulttheme: Tinutukoy ng setting na ito ang default na tema na ginagamit para sa 'public list' ng mga survey. Maaaring i-override ang setting na ito sa dialog ng mga pangkalahatang setting o i-edit sa config.php.
- defaulthtmleditormode: Itinatakda ang default na mode para sa integrated na HTML editor. Maaaring i-override ang setting na ito sa dialog ng mga pangkalahatang setting o i-edit sa config.php. Ang mga wastong setting ay:
- 'inline' - Inline na pagpapalit ng mga field ng isang HTML editor. Mabagal ngunit maginhawa at madaling gamitin;
- 'popup' - Nagdaragdag ng icon na nagpapatakbo ng HTML editor sa popup kung kinakailangan. Mas mabilis, ngunit ipinapakita ang HTML code sa form;
- 'none'- Walang HTML editor;
- column_style: Tinutukoy kung paano ire-render ang mga column para sa mga sagot ng survey kapag gumagamit ng display_columns. Maaari itong i-edit sa config.php file. Ang mga wastong setting ay:
- 'css' - gumagamit ito ng isa sa iba't ibang paraan ng CSS upang gumawa ng mga column (tingnan ang style sheet ng template para sa detalye);
- 'ul' - ang mga column ay ire-render bilang maramihang floated na unordered list (default);
- 'table' - gumagamit ito ng karaniwang layout na nakabatay sa table;
- NULL - dini-disable nito ang paggamit ng mga column.
Wika at oras
- defaultlang: Dapat itong itakda sa default na wika na gagamitin sa iyong mga administration script, at ito rin ang default na setting para sa wika sa public survey list. Maaaring i-override ang setting na ito sa dialog ng mga pangkalahatang setting o i-edit sa config.php.
- timeadjust: Kung ang iyong web server ay nasa ibang time zone kaysa sa lokasyon kung saan nakabase ang iyong mga survey, ilagay dito ang pagkakaiba ng iyong server at ng iyong time zone. Halimbawa, nakatira ako sa Australia, ngunit gumagamit ako ng US web server. Ang web server ay 14 na oras na nahuhuli sa aking lokal na time zone. Kaya ang setting ko rito ay "14". Sa madaling salita, nagdaragdag ito ng 14 na oras sa oras ng web server. Lalong mahalaga ang setting na ito kapag naglalagay ng timestamp ang mga survey sa mga tugon. Maaaring i-override ang setting na ito sa dialog ng mga pangkalahatang setting o i-edit sa config.php.
Pag-uugali ng survey
- deletenonvalues: Gamitin ang feature na ito nang may pag-iingat. Bilang default (value na 1), ang mga hindi nauugnay na tanong ay ginagawang NULL sa database. Tinitiyak nito na pare-pareho ang data sa iyong database. Gayunpaman, may mga bihirang pagkakataon na maaaring gusto mong panatilihin ang mga hindi nauugnay na value, at sa ganoong kaso ay maaari mong itakda ang value sa 0. Halimbawa, tinanong mo ang isang lalaki tungkol sa kanyang kasarian, at hindi sinasadyang sumagot siya ng 'babae' at sinagot ang ilang tanong na para lamang sa babae (mga tanong na nakadepende sa pagiging babae, kaya nauugnay lamang sa mga babae). Pagkatapos, napagtanto niya ang kanyang pagkakamali, bumalik, itinakda ang kasarian sa 'lalaki', at nagpatuloy sa survey. Ngayon, hindi na nauugnay ang mga tanong na para sa babae. Kung
$deletenonvalues==1, ang mga hindi nauugnay na value na iyon ay buburahin (gagawing NULL) sa database. Kung$deletenonvalues==0, hindi buburahin ang kanyang mga maling sagot, kaya mananatili pa rin ang mga ito sa database kapag sinuri mo ito. - shownoanswer: Kapag ang isang tanong na uri ng radio button/select na naglalaman ng mga sagot na maaaring i-edit (hal.: mga tanong na List, Array) ay hindi mandatoryo at ang 'shownoanswer' ay nakatakda sa 1, may karagdagang entry na 'Walang sagot' na ipinapakita - upang maaaring piliin ng mga kalahok na huwag sagutin ang tanong. Mas gusto ng ilan na huwag itong ipakita. Maaaring i-override ang setting na ito mula sa dialog ng mga pangkalahatang setting o i-edit sa config.php. Ang mga wastong value ay:
- '0': Hindi;
- '1': Oo;
- '2': Maaaring pumili ang admin ng survey.
- printanswershonorsconditions: Tinutukoy ng setting na ito kung ipapakita ng feature na printanswers ang mga entry mula sa mga tanong na itinago ng conditions-branching (Default: 1 = itago ang mga sagot mula sa mga tanong na itinago ng mga kondisyon).
- showpopups: Magpakita ng mga popup na mensahe kung ang mga mandatoryo o kondisyonal na tanong ay hindi nasagot nang tama:
- '2' = tinutukoy ng opsyon ng Tema (default)
- '1'= magpakita ng popup na mensahe;
- '0'= magpakita na lamang ng mensahe sa page;
- '-1'= huwag ipakita ang mensahe sa lahat (sa kasong ito, makikita pa rin ng mga user ang mga tip na partikular sa tanong na nagsasaad kung aling mga tanong ang dapat sagutin).
Pag-uugali ng uri ng tanong na numeriko
- bFixNumAuto: Maaaring awtomatikong i-filter ang mga numeric field upang alisin ang lahat ng hindi numeric na value. Bilang default, naka-enable ito, at maaari mo itong i-disable sa buong sistema. Ang setting na ito ay kaugnay ng Awtomatikong ayusin ang numeric value sa mga opsyon ng pangunahing tema. Naka-enable ito para sa Oo, naka-disable para sa Only for expression at Hindi.
- bNumRealValue: Ang mga numeric field na ginagamit sa expression manager ay maaaring ayusin o hindi. Bilang default, inaayos ang mga ito. Kung ang NUMERIC ay isang numerikal na tanong: naka-disable o 0 : ang {NUMERIC} na may maling character ay nagpapadala ng '', naka-enable o 1 : ang {NUMERIC} ay nagpapadala ng lahat ng character na inilagay. Ang setting na ito ay kaugnay ng Awtomatikong ayusin ang numeric value sa mga opsyon ng pangunahing tema. Naka-enable ito para sa Oo at Only for expression at naka-disable para sa Hindi.
Development at debugging
- debug: Sa setting na ito, itinatakda mo ang PHP error reporting sa E_ALL. Ibig sabihin, ipinapakita ang bawat maliit na notice, babala o error na may kaugnayan sa script. Dapat lamang itong gawing '1' kung sinusubukan mong i-debug ang application sa anumang dahilan. Kung ikaw ay developer, gawin itong '2'. Huwag itong gawing '1' o '2' sa production dahil maaari itong magdulot ng path disclosure. Ang default na value ay '0' at maaari itong i-edit sa config.php.
- debugsql: I-activate ang setting na ito kung nais mong ipakita ang lahat ng SQL query na isinagawa ng script sa ibaba ng bawat page. Napakakapaki-pakinabang para sa pag-optimize ng bilang ng mga query. Upang i-activate ito, baguhin ang default na value sa '1' mula sa config.php file.
- use_asset_manager: Bilang default, dini-disable ng debug mode ang asset manager; maaari mong payagan ang paggamit ng asset manager kahit naka-enable ang debug mode.
Kung makaranas ka ng error sa application, lubos naming inirerekomenda na i-activate ang debug setting upang makakuha ng mas detalyadong error na maaari mong isumite kasama ng bug report:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Kung nagtatrabaho ka sa plugin at kailangan mo ng mabilis na paraan para i-dump ang mga variable sa screen: maaari mong gamitin ang function na traceVar. Kung nakatakda ang debug: ginagamit ng function na ito ang CWebLogRoute upang ipakita sa HTML page. Paggamit: traceVar($MyVariable)
Mga setting ng email
Ang lahat ng setting sa ibaba ay maaaring i-override sa dialog ng mga pangkalahatang setting.
- 'emailmethod: Tinutukoy nito kung paano ipinapadala ang mga email na mensahe. Ang mga sumusunod na opsyon ay available:
- 'mail:' gumagamit ng internal na PHP mailer;
- 'sendmail:' gumagamit ng sendmail mailer;
- 'smtp:' gumagamit ng SMTP relaying. Gamitin ang setting na ito kapag pinapatakbo mo ang LimeSurvey sa host na hindi mo mail server.
- 'emailsmtphost: Kung gumagamit ka ng 'smtp' bilang
$emailmethod, kailangan mong ilagay dito ang iyong SMTP-server. Kung gumagamit ka ng Google mail, maaaring kailanganin mong idagdag ang port number gaya ng $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Kung nangangailangan ng authentication ang iyong SMTP-server, itakda ito sa iyong username, kung hindi ay dapat itong blangko.
- emailsmtppassword: Kung nangangailangan ng authentication ang iyong SMTP-server, itakda ito sa iyong password, kung hindi ay dapat itong blangko.
- emailsmtpssl: Itakda ito sa 'ssl' o 'tls' upang gumamit ng SSL/TLS para sa SMTP connection.
- maxemails: Kapag nagpapadala ng mga imbitasyon o paalala sa mga kalahok ng survey, ginagamit ang setting na ito upang matukoy kung ilang email ang maaaring ipadala sa isang batch. Magkakaiba ang kapasidad ng email ng mga web server, at kung masyadong matagal ang iyong script sa pagpapadala ng batch ng mga email, maaaring mag-time out ang script at magdulot ng mga error. Karamihan sa mga web server ay nakakapagpadala ng 100 email nang sabay sa loob ng default na 30-segundong limitasyon sa oras para sa isang PHP script. Kung makakuha ka ng mga script timeout error kapag nagpapadala ng maraming email, bawasan ang numero sa setting na ito. Ang pag-click sa button na 'Magpadala ng email ng imbitasyon' mula sa token control toolbar (hindi ang button na nasa kanan ng bawat token) ay nagpapadala ng <maxemails> bilang ng mga imbitasyon, pagkatapos ay magpapakita ito ng listahan ng mga address ng mga tatanggap at babala na mas maraming email ang nakabinbin kaysa sa maipapadala sa isang batch. Ipagpatuloy ang pagpapadala ng mga email sa pamamagitan ng pag-click sa ibaba. May ### email pang ipapadala. at nagbibigay ng "continue button" upang magpatuloy sa susunod na batch. Ibig sabihin, ang user ang magpapasya kung kailan ipapadala ang susunod na batch pagkatapos maipadala ang bawat batch. Hindi kailangang maghintay na aktibo ang screen na ito. Maaaring mag-log out ang admin at bumalik sa ibang pagkakataon upang ipadala ang susunod na batch ng mga imbitasyon.
Mga istatistika at pag-browse ng mga tugon
- filterout_incomplete_answers: Kinokontrol ang default na gawi ng pag-filter ng mga di-tapos na sagot kapag nagba-browse o nag-aanalisa ng mga tugon. Para sa talakayan tungkol sa mga di-tapos na tugon, tingnan ang aming wiki sa pag-browse ng mga resulta ng survey. Dahil maaaring masira ng mga record na ito ang mga istatistika, may opsyong i-on o i-off ang filter na ito sa iba't ibang GUI form. Maaaring i-edit ang parameter sa config.php. Narito ang mga available na opsyon:
- 'all': Pinapayagan kang makita ang parehong kumpleto at di-tapos na mga sagot;
- 'complete': Ipinapakita lamang ang mga kumpletong sagot;
- 'incomplete': Ipinapakita lamang ang mga di-tapos na sagot.
- strip_query_from_referer_url: Tinutukoy ng setting na ito kung sine-save o hindi ng referrer URL ang parameter. Ang default na value ay 'false' (sa kasong ito, sine-save ng referrer URL ang lahat ng parameter). Maaari ring itakda ang value na ito sa 'true' at aalisin ang bahagi ng parameter ng referrer URL.
- showaggregateddata: kapag naka-activate, ipinapakita ang mga karagdagang halagang istatistikal tulad ng arithmetic mean at standard deviation. Bukod dito, pinagsasama-sama ang data para sa mas mabilis na overview. Halimbawa, idinadagdag ang mga resulta ng scale 1+2 at 4+5 upang makabuo ng pangkalahatang ranking tulad ng "mabuti" (1/2), "katamtaman" (3) at "masama" (4/5). Naaapektuhan lamang nito ang mga uri ng tanong na "A" (5 point array) at "5" (Opsyong may 5 point).
- Mga setting ng pag-export ng PDF: Ina-activate ng feature na ito ang pag-export ng PDF para sa mga mapi-print na survey at I-print ang mga sagot. Ganap na eksperimental ang function ng pag-export ng PDF at malayo pa sa perpekto ang output. Sa kasamaang palad, wala pang maibibigay na suporta sa ngayon - kung nais mong tumulong na ayusin ito, makipag-ugnayan sa amin.
- 'pdfdefaultfont': Ito ang default na font na gagamitin ng function ng pag-export ng PDF. Ang default na value ay 'auto'. Upang baguhin ito, itakda ito sa isa sa mga PDF core font.
- 'alternatepdffontfile': Isa itong array na may mga language key at ang katumbas nilang font. Maaaring palitan sa config.php file ang default na font para sa bawat wika;
- 'pdffontsize': ipinapakita nito ang laki ng font para sa mga normal na teksto; para sa pamagat ng survey, ito ay <pdffontsize>+4, habang para sa pamagat ng group ay <pdffontsize>+2. Maaari itong i-edit sa config.php file o mula sa dialog ng mga pangkalahatang setting.
- Graph setting
- 'chartfontfile': Itinatakda ang pangalan ng file ng font na ginagamit sa paggawa ng mga istatistikal na chart. Dapat nasa fonts directory ang file, na matatagpuan sa root folder ng LimeSurvey. Maaari itong i-edit sa config.php file;
- 'alternatechartfontfile': Isa itong array na may mga language key at ang katumbas nilang font. Maaari itong i-edit sa config.php file.
- showsgqacode: Ginagamit ang setting na ito sa feature na mapi-print na survey at ang default nito ay 'false. Kung itatakda mo ang showsgqacode = 'true';, ipapakita ang mga ID ng bawat tanong - at ng sagot, kung naaangkop. Tumutugma ang mga ID na ito sa heading ng column sa table na Lime_survey_12345, na naglalaman ng data ng sagot para sa isang partikular na survey. Magagamit ang mga ID na ito para sa isang code book para sa mga manu-manong database query.
Mga LDAP setting
Dahil malawak ang paksang ito, inilipat namin ang mga LDAP setting sa ibang pahina.
Authentication
Ang authentication ay hinahawakan ng mga plugin. Ang mga setting sa ibaba ay ginagamit ng Webserver authentication plugin, tingnan ang Authentication plugins.
Pagdelegate ng authentication sa webserver
Maaaring naisin ng mga system administrator na ma-authenticate ang kanilang mga survey administrator sa isang sentral na authentication system (Active Directory, openLdap, Radius, ...) sa halip na gamitin ang internal na database ng LimeSurvey. Madaling paraan para dito ang i-setup ang Software ng web server na gamit mo para gamitin ang external na authentication system na ito, at pagkatapos ay hilingin sa LimeSurvey na pagkatiwalaan ang pagkakakilanlan ng user na iniulat ng web server. Upang paganahin ang feature na ito, kailangan mong:
- i-activate ang Webserver plugin sa Configuration > Plugins at itakda sa mga setting ng plugin ang server key na naglalaman ng user name (default: REMOTE_USER);
- paganahin ang authentication mula sa panig ng web server.
Pakitandaan na:
- lalaktawan na ng LimeSurvey ang sarili nitong proseso ng authentication (gamit ang login name na iniulat ng web server nang hindi humihingi ng password);
- ang magagawa lamang nito ay palitan ang GUI authentication system ng LimeSurvey, hindi ang sistema ng imbitasyon sa survey (interface ng kalahok).
Pagdelegate ng authentication nang walang awtomatikong pag-import ng user
Pakitandaan na hindi nilalaktawan ng Authentication Delegation ang sistema ng awtorisasyon ng LimeSurvey bilang default - ibig sabihin, kahit hindi mo na kailangang mamahala ng mga password sa LimeSurvey, kailangan mo pa ring i-define ang mga user sa database ng LimeSurvey at ibigay sa kanila ang tamang hanay ng mga karapatan upang makapasok sila sa administration panel.
Mabibigyan ng access ang isang user sa LimeSurvey kung at tanging kung:
- na-authenticate siya sa web server;
- ang login name niya ay naka-define bilang user sa user database ng LimeSurvey (ibibigay sa user ang mga pribilehiyo ng user na naka-define sa user database ng LimeSurvey);
- mayroon siyang pangkalahatang pahintulot na Gamitin ang pag-authenticate ng web server.
Pagdelegate ng authentication na may awtomatikong pag-import ng user
Kapag namamahala ng napakalaking user database, minsan mas madaling awtomatikong mag-import ng mga user sa database ng LimeSurvey:
- auth_webserver_autocreate_user: Kung itatakda sa 'true', susubukan ng LimeSurvey na awtomatikong i-import ang mga user na na-authenticate ng web server ngunit wala pa sa user DB nito.
- auth_webserver_autocreate_profile: Isang array na naglalarawan sa default na profile na itatalaga sa user: ang buong (pekeng) pangalan, email at wika.
- auth_webserver_autocreate_permissions: Isang array na naglalaman ng mga pangkalahatang pahintulot na itatalaga sa user.
Kung nais mong i-customize ang profile ng user para tumugma sa naka-log in na user, kailangan mong gumawa ng isang simpleng function na tinatawag na hook_get_auth_webserver_profile sa config.php - gamit ang function na ito, makukuha mo mula sa isang sentral na database ng user account (halimbawa, mula sa isang LDAP directory) ang tunay na buong pangalan, email at wika ng isang partikular na user.
Ang function na hook_get_auth_webserver_profile ay tumatanggap ng login name ng user bilang nag-iisang argument at maaaring magbalik ng:
- False o isang walang lamang array - sa kasong ito, ipagbabawal ang user sa pag-access sa LimeSurvey;
- isang array na naglalaman ng parehong mga entry gaya ng
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();
Pag-map ng username
Kung may mga user na may external na username na iba sa kanilang username sa LimeSurvey, maaaring makatulong ang paggamit ng pag-map ng username. Ginagawa ito sa LimeSurvey gamit ang parameter na auth_webserver_user_map. Halimbawa, isipin na wala kang naka-define na 'admin' na username sa iyong external na authentication database. Upang makapag-login sa LimeSurvey bilang admin, kailangan mong i-map ang iyong external na username (tawagin nating 'myname') sa admin login name sa LimeSurvey. Ang kaukulang setup ay:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Pagkatapos ng matagumpay na authentication gamit ang 'myname' na login at password ng web server, direkta kang maaawtorisahang gamitin ang LimeSurvey bilang 'admin' na user.
May malubhang implikasyon ito sa seguridad, kaya gamitin ito nang maingat. Gayundin, protektahan ang iyong config.php laban sa write access ng web server.
Paggamit ng one-time password
Maaaring buksan ng isang user ang login page ng LimeSurvey sa default.com/limesurvey/admin at i-type ang username at ang one-time password na isinulat na sa users table (column na one_time_pw) ng isang external na application.
Dapat i-on ang setting na ito sa config.php file upang mapagana ang paggamit ng mga one-time password (default = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Matatagpuan ang karagdagang impormasyon sa seksyong "Manage Users".
Mga setting ng encryption
application/config/security.php file. Maaari mong ilipat ang mga setting na ito sa config.php kung nais mo o iwanan sa security.php.Tingnan ang data encryption para sa detalye tungkol sa feature na ito.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Mga advanced na setting ng URL
- publicurl: Dapat itong itakda sa lokasyon ng URL ng iyong 'public scripts'. Ang mga public script ay ang mga nasa folder na "limesurvey" (o anumang pangalang ibinigay mo sa direktoryong naglalaman ng lahat ng iba pang script at direktoryo). Available ang setting na ito sa config.php at ginagamit ito kapag kailangan ng LimeSurvey ng absolute URL (halimbawa, kapag ipinapadala ang mga token email).
- tempurl: Dapat itong itakda sa lokasyon ng URL ng iyong direktoryong "/limesurvey/tmp" - o sa direktoryong nais mong gamitin ng LimeSurvey para maghatid ng mga pansamantalang file.
- uploadurl: Dapat itong itakda sa lokasyon ng URL ng iyong direktoryong "/limesurvey/upload" - o sa direktoryong nais mong gamitin ng LimeSurvey para maghatid ng mga na-upload na file. Pinapahintulutan ka nitong ilagay ang mga na-upload na file sa ibang URL domain.
Mga advanced na setting ng path
- homedir: Dapat itong itakda sa pisikal na lokasyon sa disk ng iyong mga administration script - halimbawa "/home/usr/htdocs/limesurvey/admin". Huwag magdagdag ng trailing slash sa entry na ito. Sinusubukan ng default na setting sa config.php na tukuyin ang default na root path ng lahat ng iyong dokumento gamit ang php variable na
{$_SERVER['DOCUMENT_ROOT']}. Sa karamihan ng kaso, maaari mo itong iwanan at baguhin lamang ang natitirang bahagi ng string upang tumugma sa pangalan ng direktoryong pinaglagyan mo ng mga LimeSurvey script. - publicdir: Dapat itong itakda sa pisikal na lokasyon sa disk ng iyong 'public scripts'.
- tempdir: Dapat itong itakda sa pisikal na lokasyon sa disk ng iyong direktoryong /limesurvey/tmp upang makabasa at makasulat ng mga file ang script.
- uploaddir: Dapat itong itakda sa pisikal na lokasyon sa disk ng iyong direktoryong /limesurvey/upload upang makabasa at makasulat ng mga file ang script.
- sCKEditorURL: URL ng CKEditor script.
Iba pang mga advanced na setting
Mag-upload ng mga file
- magic_database: Pinapayagan ang paggamit ng ibang MIME database para sa finfo_open. Maaari lamang itong baguhin sa config.php file. Halimbawa:
/usr/share/misc/magic.mgcpara sa Linux na batay sa Red Hat. - magic_file: Pinapayagan ang paggamit ng ibang file para makuha ang array ng extension ayon sa MIME type, sa halip na ang kasamang file. Dapat itong isang PHP file na nagbabalik ng array. Maaari lamang itong baguhin sa config.php file.
Update
- updatable: Ang setting na ito ay nasa version.php. Maaari itong true o false. Kung itinakda sa true: kapag nag-log in ang isang super admin na user, titingnan ng LimeSurvey kung may available na update at magpapakita ito ng babala. Kung itinakda sa false: walang gagawing pagsusuri at hindi mo magagamit ang ComfortUpdate.
Mga Token
- allowedcharacters_pattern_token : Pinapahintulutan ng mga setting na ito na itakda ang regexp pattern kapag nagfi-filter ng token.