Actions

Optional settings/vi: Difference between revisions

From LimeSurvey Manual

(Created page with "<syntaxhighlight lang="php" enclose="pre"> 'config'=>array( 'debug'=>2, 'debugsql'=>0, ) </syntaxhighlight>")
(Created page with "Nếu bạn làm việc trên plugin và cần một cách nhanh chóng để kết xuất các biến trên màn hình: bạn có thể sử dụng hàm traceVar. Nếu cài...")
Line 318: Line 318:
Nếu bạn làm việc trên plugin và cần một cách nhanh chóng để kết xuất các biến trên màn hình: bạn có thể sử dụng hàm traceVar. Nếu cài đặt gỡ lỗi: chức năng này sử dụng CWebLogRoute để hiển thị trên trang HTML. Cách sử dụng <code>traceVar($MyVariable)</code>
Nếu bạn làm việc trên plugin và cần một cách nhanh chóng để kết xuất các biến trên màn hình: bạn có thể sử dụng hàm traceVar. Nếu cài đặt gỡ lỗi: chức năng này sử dụng CWebLogRoute để hiển thị trên trang HTML. Cách sử dụng <code>traceVar($MyVariable)</code>


= Email settings=
= Cài đặt email=


All the settings from below can be overridden in the [[Global settings|global settings]] dialog.
All the settings from below can be overridden in the [[Global settings|global settings]] dialog.

Revision as of 18:20, 15 January 2024

Phần sau đây dành cho những ai muốn chỉnh sửa các cài đặt cấu hình không thể sửa đổi được với sự trợ giúp của GUI (Giao diện người dùng đồ họa) của quá trình cài đặt LimeSurvey. Xin lưu ý rằng tất cả các thay đổi từ thư mục gốc LimeSurvey đều do bạn tự chịu rủi ro. Tuy nhiên, trong trường hợp bạn đang gặp sự cố/cần hướng dẫn thêm, hãy tham gia diễn đàn thảo luận hoặc IRC kênh để được cộng đồng LimeSurvey trợ giúp.

Giới thiệu

Để sửa đổi cài đặt cấu hình của cài đặt, bạn phải chỉnh sửa cài đặt tùy chọn. Chúng có thể được tìm thấy trong /application/config/config-defaults.php, nằm trong thư mục gốc LimeSurvey. Các cài đặt mặc định của cài đặt tiêu chuẩn có thể được tìm thấy trong config-defaults.php. Một số trong số chúng có thể bị ghi đè bằng cách sử dụng hộp thoại cài đặt chung, trong khi những cài đặt khác sẽ phải được chỉnh sửa thủ công.

Template:Cảnh báo

Khi quá trình nâng cấp diễn ra, chỉ cài đặt config-defaults.php được thay đổi. Do đó, việc chỉnh sửa tệp config.php sẽ lưu các cài đặt tùy chỉnh của bạn.

Để cập nhật/thêm cài đặt LimeSurvey trong /application/config/config.php, bạn phải cập nhật mảng cấu hình:

 
 'config'=>array(
 'debug'=>0,
 'debugsql'=>0,
 'LimeSurveySetting'=>'Giá trị mới', // Cập nhật cấu hình LimeSurvey mặc định tại đây
 )

Cài đặt Yii

LimeSurvey sử dụng Yii framework, có các tham số cấu hình riêng trong tệp application/config/internal.php và application/config/config.php. Bạn cũng có thể truy cập một số cài đặt cấu hình cụ thể của LimeSurvey thông qua cấu hình Yii.

Vì mảng config.php được hợp nhất với toàn bộ cấu hình nên bạn có thể thay thế bất kỳ thông số Yii nào trong tệp config.php.

Cài đặt cụ thể của Yii được đặt trong mảng thành phần:

 
 'thành phần' => array(
 'db' => array(
 ....
 ),
 'Cài đặt cụ thể'=>array(
 ....
 ),
 ),

Template:Lưu ý

Cài đặt cơ sở dữ liệu

Các cài đặt cơ sở dữ liệu được ghi vào config.php bằng tệp trình cài đặt khi bạn cài đặt LimeSurvey lần đầu tiên. Nếu cần, bạn có thể cập nhật phần này của tệp config.php. Hãy nhớ rằng bạn tự chịu rủi ro khi thực hiện việc này! Xem thêm tài liệu Yii và vui lòng hãy nhớ rằng LimeSurvey chỉ hỗ trợ các loại cơ sở dữ liệu sau: mysql, pssql, dblib, mssql và sqlsrv.

Cài đặt phiên

Bạn có thể đặt một số tham số phiên trong config.php (kiểm tra hai ví dụ bên dưới). Bạn có thể bỏ ghi chú/thêm phần cần thiết trong config.php. Xem Yii Documentation để biết các cài đặt khác.

Template:Cảnh báo

Sử dụng phiên dựa trên bảng

LimeSurvey có thể sử dụng các phiên dựa trên bảng, bạn tìm thấy phần nhận xét trên tệp config.php được tạo mặc định. Để sử dụng phiên dựa trên bảng, hãy xóa // trước mỗi dòng.

 'session' => mảng (
 'class' => 'application.core.web.DbHttpSession',
 'connectionID' => 'db',
 'sessionTableName' => '{{sessions} }',
 ),

Template:Cảnh báo

Cập nhật các phiên khác

Nếu bạn sử dụng SSL ('https') để cài đặt LimeSurvey, việc thêm các dòng sau vào config.php sẽ tăng tính bảo mật của phiên:

 // Đặt cookie qua SSL
 'session' => array (
 'cookieParams' => array(
 'secure' => true, // sử dụng SSL cho cookie
 'httponly' => true // Cookie có thể không được sử dụng bởi các giao thức khác - thử nghiệm
 ),
 ),

Nếu bạn muốn sửa miền cho cookie, hãy sử dụng cú pháp sau trong config.php:

 // Đặt miền cho cookie
 'session' => array (
 'cookieParams' => array(
 'domain' => '.example.org',
 ),
 ),

Nếu bạn cài đặt nhiều phiên bản trên cùng một máy chủ, việc đặt tên phiên khác nhau cho mỗi phiên bản LimeSurvey có thể nhanh chóng và dễ dàng hơn. Điều này có thể cần thiết cho IE11 trong một số điều kiện (xem số 12083)

 // Đặt tên của phiên
 'session' => mảng (
 'sessionName' => "LimeSurveyN1",
 ),

Cài đặt yêu cầu

Cài đặt yêu cầu rất quan trọng nhưng cài đặt mặc định đã được tối ưu hóa cho việc sử dụng LimeSurvey. Để đọc thêm về chúng, hãy xem Yii Documentation.

Ví dụ: cấu hình cài đặt yêu cầu LimeSurvey có thể được sửa đổi theo cách sau (bạn tự chịu rủi ro):

 // Vô hiệu hóa bảo vệ CSRF
 'request' => array(
 'enableCsrfValidation'=>false, 
 ),
 // Thực thi một cơ sở URL nhất định 
 'request' => array(
 'hostInfo' => 'http://www.example.org/' 
 ),
 // Đặt tên miền cookie và đường dẫn để bảo vệ CSRF, đường dẫn được sử dụng nếu bạn có phiên bản khác trên cùng một tên miền
 'request' => array(
 'csrfCookie' => array( 
 'domain' => '.example.com',
 'path' => '/limesurvey/',
 ) 
 ),

Nếu bạn chỉ cần cập nhật url cho email mã thông báo, hãy đặt publicurl trong tệp config.php của bạn.


Cho phép sử dụng phiên và Xác thực Csrf trong iFrame (New in 3.24.3 )

Sau khi cho phép Iframe embedding bạn cần cập nhật một số phần cấu hình. Chú ý, ngay cả với tất cả các cài đặt: biểu mẫu cho phép trong iframe có thể bị hỏng trên một số trình duyệt. Cài đặt này đã được thử nghiệm với Firefox 81.0.2 và Chrome 85.0.4183.121.

Cho phép phiên bắt đầu trong iframe

Phiên cần phải được bảo mật (https hợp lệ), httponly và Samesite thành Không có. Tất cả các cài đặt phải được đặt thành tất cả chữ thường.

'session' => array (
 'sessionName'=>'LS-VBXZZORFJZCAKGYI',
 // Bỏ ghi chú các dòng sau nếu bạn cần các phiên dựa trên bảng.
 // Lưu ý: Các phiên dựa trên bảng là hiện không được hỗ trợ trên máy chủ MSSQL.
 // 'class' => 'application.core.web.DbHttpSession',
 // 'connectionID' => 'db',
 // 'sessionTableName' = > '{{sessions}}',
 'cookieParams' => array(
 'secure' => true,
 'httponly' => true,
 'samesite' => 'Không' ,
 ),
 ),

Cho phép cookie csrf trong iframe

Giống như phiên: phải an toàn và cùng một trang được đặt thành Không có. Toàn bộ mảng phải được thêm vào cùng cấp với phiên.

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

Cài đặt URL

Template:Cảnh báo

Để thay đổi cài đặt URL mặc định, hãy cập nhật urlManager:

 // Sử dụng URL ngắn
 'urlManager' => array(
 'urlFormat' => 'path',
 'showScriptName' => false,
 ),


Bạn cũng có thể thêm .html sau id khảo sát theo cách sau:

 // Sử dụng URL ngắn
 'urlManager' => array(
 'urlFormat' => 'path',
 'rules' => array (
 '<sid:\d+> ' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
 ),
 'showScriptName' => sai,
 ),

Để biết thêm thông tin, hãy xem tài liệu Yii.

Cài đặt ghi nhật ký

Yii cung cấp các giải pháp khác nhau để tạo nhật ký. Để tìm hiểu thêm về chúng, hãy xem chủ đề đặc biệt về ghi nhật ký. LimeSurvey sử dụng '1' hoặc '2' theo mặc định, cho phép mọi người dùng web xem nhật ký. Bạn có thể trực tiếp tạo cài đặt của riêng mình bằng Yii.

Ví dụ: một giải pháp nhanh chóng để ghi lại lỗi và cảnh báo trong tệp là:

 
return array(
 'comComponents' => array(
 /* Phần thành phần khác ở đây là 'db' chẳng hạn */
 'log' => array(
 'routes' => array(
 'fileError' => array(
 'class' => 'CFileLogRoute',
 'levels' => 'cảnh báo, lỗi',
 'ngoại trừ' => 'ngoại lệ.CHttpException .404',
 ),
 ),
 ),
 /* Phần thành phần khác ở đây là 'urlManager' chẳng hạn */
 ),
 /* Phần cuối cùng (với ' ví dụ: runPath' 'config') */
);

Template:Gợi ý

  Yii sử dụng đường dẫn thời gian chạy. Theo mặc định, nhật ký có thể truy cập được trên web. Chúng có thể chứa nhiều thông tin từ máy chủ của bạn. Tốt hơn là sử dụng một thư mục không thể truy cập được qua web. Bạn có thể đặt nó trong các tuyến đường hoặc bằng cách cập nhật Đường dẫn thời gian chạy.

.

Đường dẫn thời gian chạy

Đường dẫn thời gian chạy phải là một thư mục có thể đọc và ghi được đối với “người dùng web”. Tuy nhiên, đường dẫn thời gian chạy chứa các tệp có thông tin bảo mật tiềm ẩn nằm trong khu vực truy cập web công cộng. LimeSurvey thu thập các tệp này trong thư mục tạm thời của thư mục gốc LimeSurvey. Để loại bỏ quyền truy cập vào dữ liệu quan trọng như vậy, bạn có thể đặt đường dẫn thời gian chạy bên ngoài quyền truy cập web công cộng bằng cách chỉnh sửa các dòng tương ứng trong tệp /application/config/config.php:

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

Cài đặt chung

  • sitename: Đặt tên cho trang khảo sát của bạn. Tên này sẽ xuất hiện trong tổng quan danh sách khảo sát và trong tiêu đề quản trị. Giá trị mặc định là 'LimeSurvey' và nó có thể được ghi đè trong hộp thoại global settings hoặc được chỉnh sửa trong config.php.
  • siteadminemail: Đây là địa chỉ email mặc định của quản trị viên trang web và nó được sử dụng cho các thông báo hệ thống và các tùy chọn liên hệ. Cài đặt này chỉ được sử dụng làm giá trị mặc định và có thể được ghi đè trong hộp thoại cài đặt chung.
  • siteadminbounce: Đây là địa chỉ email nơi các email bị trả lại sẽ được gửi đến. Cài đặt này chỉ được sử dụng làm giá trị mặc định và có thể bị ghi đè bằng hộp thoại cài đặt chung.
  • siteadminname: Tên thật của quản trị viên trang web. Cài đặt này chỉ được sử dụng làm giá trị mặc định và có thể bị ghi đè trong hộp thoại cài đặt chung).
  • proxy_host_name: Đây là tên máy chủ của máy chủ proxy của bạn (nó có sẽ được đề cập nếu bạn sử dụng proxy và muốn cập nhật LimeSurvey bằng ComfortUpdate).
  • proxy_host_port: Đây là cổng của máy chủ proxy của bạn (nó phải là được đề cập nếu bạn sử dụng proxy và muốn cập nhật LimeSurvey bằng cách sử dụng ComfortUpdate).

Bảo mật

  • maxLoginAttempt: Đây là số lần người dùng phải nhập đúng mật khẩu trước khi bị chặn/khóa địa chỉ IP của mình. Giá trị mặc định là 3 và nó có thể được sửa đổi từ config.php.
  • timeOutTime: Nếu người dùng nhập sai mật khẩu cho<maxLoginAttempt> , cô ấy hoặc anh ấy bị nhốt vì<timeOutTime> giây. Giá trị mặc định là 10 phút và có thể được sửa đổi từ config.php.
  • maxLoginAttemptParticipants: Đây là số lần người tham gia phải nhập mã thông báo hợp lệ trước khi họ nhận được mã thông báo của mình Địa chỉ IP bị chặn/khóa. Giá trị mặc định là 3 và nó có thể được sửa đổi từ config.php.
  • timeOutParticipants: Nếu người tham gia nhập sai mã thông báo cho<maxLoginAttemptParticipants> , cô ấy hoặc anh ấy bị nhốt vì<timeOutParticipants> giây. Giá trị mặc định là 10 phút và có thể sửa đổi từ config.php.
  • surveyPreview_require_Auth: Đặt thành true theo mặc định. Nếu bạn đặt giá trị này thành 'false', bất kỳ người nào cũng có thể kiểm tra khảo sát của bạn bằng URL khảo sát mà không cần đăng nhập vào bảng quản trị và không cần phải kích hoạt khảo sát trước. Cài đặt này là giá trị mặc định và có thể được ghi đè trong hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php.
  • usercontrolSameGroupPolicy: Đặt thành true theo mặc định. Theo mặc định, người dùng không phải quản trị viên được xác định trong giao diện quản lý LimeSurvey sẽ chỉ có thể nhìn thấy người dùng do họ tạo hoặc người dùng thuộc ít nhất một nhóm. Giá trị mặc định có thể được ghi đè trong hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php.
  • filterxsshtml: Cài đặt này cho phép lọc các thẻ html đáng ngờ nằm trong khảo sát, các nhóm, các văn bản hỏi đáp trong giao diện quản trị. Chỉ để giá trị này là 'false' nếu bạn hoàn toàn tin tưởng những người dùng mà bạn đã tạo để quản lý LimeSurvey và nếu bạn muốn cho phép những người dùng này có thể sử dụng Javascript, Flash Movies, v.v.. Quản trị viên cấp cao không bao giờ lọc HTML của họ . Giá trị mặc định có thể được ghi đè trong hộp thoại global settings hoặc được chỉnh sửa trong config.php.
  • demoMode: Nếu tùy chọn này được đặt thành 'true' trong config.php , thì LimeSurvey sẽ chuyển sang chế độ demo. Chế độ demo thay đổi những nội dung sau:
    • Tắt thông tin chi tiết và thay đổi mật khẩu của người dùng quản trị viên;
    • Tắt tải tệp lên trên trình chỉnh sửa mẫu;
    • Tắt gửi lời mời và lời nhắc qua email;!N !** Vô hiệu hóa việc tạo kết xuất cơ sở dữ liệu;
    • Vô hiệu hóa khả năng sửa đổi các cài đặt chung sau: tên trang web, ngôn ngữ mặc định, chế độ soạn thảo HTML mặc định, bộ lọc XSS.
  • 'forcedsuperadmin:' Mảng id người dùng có mọi quyền trên tất cả LimeSurvey. Cài đặt này chỉ có thể được cập nhật trong tệp config.php. Quyền của người dùng này không thể được chỉnh sửa trong quyền chung cho một người dùng ngay cả bởi quản trị viên cấp cao bị ép buộc khác. Theo mặc định: người dùng có quyền này là người dùng có id: 1. Người dùng đầu tiên được tạo ngay sau khi cài đặt.
  • force_ssl: buộc LimeSurvey chạy qua HTTPS hoặc chặn HTTPS. Xem Force HTTPS trong GUI quản trị cài đặt chung.
  • ssl_emergency_override: Cài đặt này buộc tắt SSL. Nếu bạn đã bật HTTPS/SSL trong cài đặt chung nhưng máy chủ của bạn chưa bật HTTPS thì cách duy nhất để tắt tính năng này là thay đổi trực tiếp một giá trị trong cơ sở dữ liệu. Điều này cho phép bạn tắt HTTPS trong khi thay đổi cài đặt chung cho Force Secure. Giá trị này luôn luôn sai ngoại trừ trong trường hợp khẩn cấp mà bạn thay đổi thành đúng cho đến khi khắc phục được sự cố. Cài đặt này chỉ có thể được đặt thông qua tệp config.php.
  • ssl_disable_alert: Tắt cảnh báo cho quản trị viên cấp cao về SSL không bắt buộc, nếu bạn thực sự không thể hoặc không muốn ép buộc ssl. Cài đặt này chỉ có thể được đặt thông qua tệp config.php.

Resources

  • sessionlifetime: Xác định thời gian tính bằng giây sau khi phiên khảo sát kết thúc. Nó chỉ áp dụng nếu bạn đang sử dụng phiên cơ sở dữ liệu. Nếu bạn sử dụng phiên cơ sở dữ liệu, hãy thay đổi tham số trong config.php hoặc ghi đè giá trị mặc định từ hộp thoại global settings
  • memorylimit: Điều này xác định dung lượng bộ nhớ LimeSurvey có thể truy cập. Khuyến nghị '128 MB' là mức tối thiểu (MB=Megabyte). Nếu bạn gặp lỗi hết thời gian chờ hoặc gặp sự cố khi tạo số liệu thống kê hoặc xuất tệp, hãy nâng giới hạn này lên '256 MB' hoặc cao hơn. Nếu máy chủ web của bạn đã đặt giới hạn cao hơn trong config.php thì cài đặt này sẽ bị bỏ qua.
Xin lưu ý rằng các cài đặt cục bộ như vậy luôn có thể bị ghi đè bởi những thay đổi được thực hiện trong hộp thoại cài đặt chung.

Để tăng giới hạn bộ nhớ lên 128M, bạn cũng có thể thử thêm:

  • memory_limit = 128M vào tệp php.ini chính của máy chủ của bạn (được khuyến nghị, nếu bạn có quyền truy cập)
  • memory_limit = 128M vào tệp php.ini trong gốc LimeSurvey
  • php_value Memory_limit 128M trong tệp .htaccess trong gốc LimeSurvey
  • max_execution_time: Đặt số giây mà tập lệnh được phép chạy. Nếu đạt được điều này, tập lệnh sẽ trả về một lỗi nghiêm trọng. Để được phép xuất dữ liệu và số liệu thống kê khảo sát lớn, LimeSurvey cố gắng đặt mặc định là 1200 giây. Bạn có thể đặt thời gian lớn hơn hoặc thời gian thấp hơn nếu cần. Chỉ có thể truy cập thông qua tập tin cấu hình php.

Appearance

  • dropdownthreshold (Obsolete since 2.50): Khi "R" được chọn cho $dropdowns , quản trị viên được phép đặt số lượng tùy chọn tối đa sẽ được hiển thị dưới dạng nút radio , trước khi chuyển đổi trở lại danh sách thả xuống. Nếu có một câu hỏi có nhiều tùy chọn, việc hiển thị tất cả các tùy chọn cùng lúc dưới dạng nút radio có thể trông khó sử dụng và có thể phản trực giác đối với người dùng. Đặt giá trị này ở mức tối đa, chẳng hạn như 25 (là mặc định) có nghĩa là quản trị viên sẽ dễ dàng sử dụng danh sách lớn hơn cho người tham gia khảo sát.
  • repeatheadings: Với loại câu hỏi Mảng, bạn sẽ thường có rất nhiều câu hỏi phụ, khi được hiển thị trên màn hình - chiếm nhiều hơn một trang. Cài đặt này cho phép bạn quyết định số lượng câu hỏi phụ sẽ được hiển thị trước khi lặp lại thông tin tiêu đề cho câu hỏi. Cài đặt tốt cho điều này là khoảng 15. Nếu bạn không muốn các tiêu đề lặp lại, hãy đặt giá trị này thành 0. Cài đặt này bị ghi đè trong hộp thoại global settings (New in 2.05 ) .
  • minrepeatheadings: Số lượng câu hỏi phụ tối thiểu còn lại được yêu cầu trước khi lặp lại các tiêu đề trong câu hỏi Mảng. Giá trị mặc định là 3 và có thể chỉnh sửa trong config.php.
  • defaulttemplate: Cài đặt này chỉ định chủ đề mặc định được sử dụng cho 'danh sách công khai' các cuộc khảo sát. Cài đặt này có thể được ghi đè trong hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php.
  • defaulthtmleditormode: Đặt chế độ mặc định cho trình soạn thảo HTML tích hợp. Cài đặt này có thể được ghi đè trong hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php. Cài đặt hợp lệ là:
    • 'inline' - Thay thế nội tuyến các trường bằng trình chỉnh sửa HTML. Chậm nhưng tiện lợi và thân thiện với người dùng;
    • 'popup' - Thêm biểu tượng chạy trình soạn thảo HTML trong cửa sổ bật lên nếu cần. Nhanh hơn, nhưng mã HTML được hiển thị dưới dạng;
    • 'none'- Không có trình soạn thảo HTML;
  • column_style: Xác định cách hiển thị các cột cho câu trả lời khảo sát khi sử dụng display_columns. Nó có thể được chỉnh sửa trong tệp config.php. Các cài đặt hợp lệ là:
    • 'css' - nó sử dụng một trong các phương thức CSS khác nhau để tạo cột (xem biểu định kiểu mẫu để biết chi tiết);
    • 'ul' - các cột được hiển thị dưới dạng nhiều danh sách nổi không có thứ tự (mặc định);
    • 'table' - nó sử dụng bố cục dựa trên bảng thông thường;
    • NULL - nó vô hiệu hóa việc sử dụng các cột.

Language & time

  • defaultlang: Điều này phải được đặt thành ngôn ngữ mặc định sẽ được sử dụng trong tập lệnh quản trị của bạn và cũng là cài đặt mặc định cho ngôn ngữ trong danh sách khảo sát công khai. Cài đặt này có thể được ghi đè trong hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php.
  • time adjustment: Nếu máy chủ web của bạn ở múi giờ khác với vị trí nơi các cuộc khảo sát của bạn sẽ dựa trên, hãy đặt sự khác biệt giữa máy chủ của bạn và múi giờ quê hương của bạn tại đây. Ví dụ: tôi sống ở Úc, nhưng tôi sử dụng máy chủ web ở Hoa Kỳ. Máy chủ web chậm hơn múi giờ địa phương của tôi 14 giờ. Vì vậy, cài đặt của tôi ở đây là "14". Nói cách khác, nó tăng thêm 14 giờ cho thời gian của máy chủ web. Cài đặt này đặc biệt quan trọng khi khảo sát đánh dấu thời gian cho các câu trả lời. Cài đặt này có thể được ghi đè trong hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php.

Hành vi khảo sát

  • xóa giá trị: Hãy thận trọng khi sử dụng tính năng này. Theo mặc định (giá trị là 1), các câu hỏi không liên quan sẽ bị NULL trong cơ sở dữ liệu. Điều này đảm bảo rằng dữ liệu trong cơ sở dữ liệu của bạn nhất quán nội bộ. Tuy nhiên, có một số trường hợp hiếm hoi mà bạn có thể muốn giữ các giá trị không liên quan, trong trường hợp đó bạn có thể đặt giá trị thành 0. Ví dụ: bạn hỏi giới tính của một người nam và anh ta vô tình nói 'nữ' rồi trả lời một số nữ -các câu hỏi cụ thể (các câu hỏi quy định về giới tính nữ nên chỉ phù hợp với nữ giới). Sau đó, anh ta nhận ra sai lầm của mình, lùi lại, đặt giới tính thành 'nam' và tiếp tục cuộc khảo sát. Bây giờ, những câu hỏi dành riêng cho phụ nữ không còn phù hợp nữa. Nếu $deletenonvalues==1 , những giá trị không liên quan đó sẽ bị xóa (NULLed) trong cơ sở dữ liệu. Nếu $deletenonvalues==0 , các câu trả lời sai của anh ấy sẽ không bị xóa, vì vậy chúng vẫn tồn tại trong cơ sở dữ liệu khi bạn phân tích.
  • shownoanswer: Khi nút radio/loại câu hỏi chọn có chứa các câu trả lời có thể chỉnh sửa (ví dụ: Câu hỏi danh sách, mảng) không bắt buộc và 'shownoanswer' được đặt thành 1, thì một 'Không trả lời' bổ sung mục nhập được hiển thị - để người tham gia có thể chọn không trả lời câu hỏi. Một số người thích điều này không có sẵn. Cài đặt này có thể được ghi đè từ hộp thoại cài đặt chung hoặc được chỉnh sửa trong config.php. Các giá trị hợp lệ là:
    • '0': Không;
    • '1': Có;
    • '2': Quản trị viên Khảo sát có thể chọn.
  • printanswershonorsconditions: Cài đặt này xác định xem tính năng printanswers có hiển thị các mục từ các câu hỏi bị ẩn bởi phân nhánh điều kiện hay không (Mặc định: 1 = ẩn câu trả lời khỏi các câu hỏi bị ẩn theo điều kiện)
  • ' hide_groupdescr_allinone:' Cài đặt này phù hợp với các cuộc khảo sát tổng hợp sử dụng các điều kiện . Khi điều này được đặt thành 'true', tên nhóm và mô tả sẽ bị ẩn nếu tất cả các câu hỏi trong nhóm đều bị ẩn. Giá trị mặc định là 'true' - ẩn tên nhóm và mô tả khi tất cả các câu hỏi trong nhóm đều bị ẩn theo điều kiện. Nó có thể được chỉnh sửa trong config.php.
  • showpopups: Hiển thị thông báo bật lên nếu các câu hỏi bắt buộc hoặc có điều kiện chưa được trả lời chính xác:
    • '2' = được xác định bởi tùy chọn Chủ đề (mặc định )
    • '1'= hiển thị thông báo bật lên;
    • '0'= hiển thị thông báo trên trang thay thế;
    • '-1'= hoàn toàn không hiển thị thông báo (trong trường hợp này , người dùng vẫn sẽ thấy các mẹo dành riêng cho câu hỏi cho biết câu hỏi nào phải trả lời).

Hành vi loại câu hỏi số

  • bFixNumAuto: Các trường số có thể được lọc tự động để loại bỏ tất cả các giá trị không phải số. Theo mặc định, tính năng này được bật, bạn có thể tắt nó trên toàn cầu. Cài đặt này liên quan đến Sửa giá trị số tự động trong các tùy chọn chủ đề cốt lõi. Nó đã được bật cho , tắt cho Chỉ dành cho biểu thứcKhông.
  • bNumRealValue: Các trường số được sử dụng trong trình quản lý biểu thức có thể được sửa hoặc không. Nó được sửa theo mặc định. Nếu NUMERIC là câu hỏi số : vô hiệu hóa hoặc 0 : {NUMERIC} có ký tự sai hãy gửi '' , bật hoặc 1 : {NUMERIC} gửi tất cả ký tự đã nhập. Cài đặt này liên quan đến Sửa giá trị số tự động trong các tùy chọn chủ đề cốt lõi. Nó được bật cho Chỉ dành cho biểu thức và tắt cho Không.

Phát triển và gỡ lỗi

  • debug: Với cài đặt này, bạn đặt báo cáo lỗi PHP thành E_ALL. Điều này có nghĩa là mọi thông báo, cảnh báo hoặc lỗi nhỏ liên quan đến tập lệnh đều được hiển thị. Cài đặt này chỉ nên được chuyển thành '1' nếu bạn đang cố gắng gỡ lỗi ứng dụng vì bất kỳ lý do gì. Nếu bạn là nhà phát triển, hãy chuyển nó thành '2'. Không chuyển nó thành '1' hoặc '2' trong quá trình sản xuất vì nó có thể gây lộ đường dẫn. Giá trị mặc định là '0' và nó có thể được chỉnh sửa trong config.php.
  • debugsql: Kích hoạt cài đặt này nếu bạn muốn hiển thị tất cả các truy vấn SQL được thực thi cho tập lệnh ở cuối mỗi trang. Rất hữu ích cho việc tối ưu hóa số lượng truy vấn. Để kích hoạt nó, hãy thay đổi giá trị mặc định thành '1' từ tệp config.php.
  • use_asset_manager:' Theo mặc định: chế độ gỡ lỗi vô hiệu hóa trình quản lý tài sản, bạn có thể cho phép bạn sử dụng trình quản lý tài sản với chế độ gỡ lỗi được kích hoạt.

Trong trường hợp bạn gặp lỗi trong ứng dụng, chúng tôi thực sự khuyên bạn nên kích hoạt cài đặt gỡ lỗi để nhận được lỗi chi tiết hơn mà bạn có thể gửi cùng với báo cáo lỗi:

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

Nếu bạn làm việc trên plugin và cần một cách nhanh chóng để kết xuất các biến trên màn hình: bạn có thể sử dụng hàm traceVar. Nếu cài đặt gỡ lỗi: chức năng này sử dụng CWebLogRoute để hiển thị trên trang HTML. Cách sử dụng traceVar($MyVariable)

Cài đặt email

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.