x

Bab utama

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Panduan memulai cepat - LimeSurvey 3.0+
  3. Instalasi - LimeSurvey CE
  4. Cara merancang survei yang baik (panduan)
  5. Memulai
  6. Mengelola LimeSurvey
  7. Survei - pengantar
  8. Pengaturan survei
  9. Menu survei
  10. Struktur survei
  11. Pertanyaan - pengantar
  12. Grup pertanyaan - pengantar
  13. Survei - manajemen
  14. Opsi toolbar survei
  15. Survei multibahasa
  16. ExpressionScript Engine - Panduan memulai cepat
  17. Fitur tanpa kategori dan fitur lanjutan
  18. FAQ Umum
  19. Pemecahan Masalah
  20. Solusi Sementara
  21. Lisensi
  22. Log perubahan versi
  23. Plugin
 Actions

Pengaturan opsional

From LimeSurvey Manual

Halaman ini mungkin diterjemahkan oleh mesin dan dapat mengandung kesalahan. Tampilkan versi asli bahasa Inggris · Perbaiki terjemahan ini
This page is a translated version of the page Optional settings and the translation is 100% complete.

Bagian berikut ditujukan bagi Anda yang ingin mengedit pengaturan konfigurasi yang tidak dapat diubah melalui GUI (Graphical User Interface) instalasi LimeSurvey. Harap diingat bahwa semua perubahan pada direktori root LimeSurvey dilakukan atas risiko Anda sendiri. Namun, jika Anda mengalami masalah atau membutuhkan panduan lebih lanjut, bergabunglah di forum diskusi untuk mendapatkan bantuan dari komunitas LimeSurvey.

Pendahuluan

Untuk mengubah pengaturan konfigurasi instalasi, Anda perlu mengedit pengaturan opsional. Pengaturan ini dapat ditemukan di /application/config/config-defaults.php, yang berada di direktori root LimeSurvey. Pengaturan bawaan dari instalasi standar terdapat di config-defaults.php. Sebagian pengaturan dapat ditimpa melalui dialog pengaturan global, sedangkan sisanya harus diedit secara manual.

  Jika Anda ingin mengubah pengaturan ini, jangan mengubahnya di config-defaults.php, tetapi salin pengaturan/baris tertentu ke /application/config/config.php di dalam 'config'=>array( ) lalu ubah di sana. Semua pengaturan yang baru dimodifikasi/ditambahkan dari file config.php akan menimpa nilai bawaan dari config-defaults.php.


Saat terjadi peningkatan versi (upgrade), hanya pengaturan config-defaults.php yang diubah. Oleh karena itu, mengedit file config.php akan menjaga pengaturan kustom Anda tetap tersimpan.

Untuk memperbarui/menambahkan pengaturan LimeSurvey di /application/config/config.php, Anda perlu memperbarui larik config:

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

Pengaturan Yii

LimeSurvey menggunakan framework Yii, yang memiliki parameter konfigurasi sendiri di file application/config/internal.php dan application/config/config.php. Anda juga dapat mengakses beberapa pengaturan konfigurasi khusus LimeSurvey melalui konfigurasi Yii.

Karena larik config.php digabungkan ke seluruh konfigurasi, Anda dapat mengganti parameter Yii apa pun di file config.php.

Pengaturan khusus Yii ditetapkan di larik components:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
Untuk informasi lebih lanjut tentang framework Yii, silakan akses tautan berikut.

Pengaturan basis data

Pengaturan basis data ditulis ke config.php oleh file installer saat Anda menginstal LimeSurvey untuk pertama kalinya. Jika diperlukan, Anda dapat memperbarui bagian file config.php ini. Harap ingat bahwa Anda melakukannya atas risiko Anda sendiri! Lihat juga dokumentasi Yii dan harap ingat bahwa LimeSurvey hanya mendukung jenis basis data berikut: mysql, pgsql, dblib, mssql, dan sqlsrv.

Pengaturan sesi

Anda dapat menetapkan beberapa parameter sesi di config.php (lihat dua contoh di bawah). Anda dapat menghapus komentar/menambahkan bagian yang diperlukan di config.php. Lihat Dokumentasi Yii untuk pengaturan lainnya.

  Jika Anda perlu memperbarui pengaturan sesi agar beberapa instans LimeSurvey berjalan di server yang sama, periksa apakah Anda perlu memperbarui pengaturan request untuk cookie csrf.


Menggunakan sesi berbasis tabel

LimeSurvey dapat menggunakan sesi berbasis tabel; Anda dapat menemukan bagian yang dikomentari pada file config.php bawaan yang dihasilkan. Untuk menggunakan sesi berbasis tabel, hapus // di awal setiap baris.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
  Sesi berbasis tabel saat ini tidak didukung pada server MSSQL.


Pembaruan sesi lainnya

Jika Anda menggunakan SSL ('https') untuk instalasi LimeSurvey Anda, menambahkan baris berikut ke config.php akan meningkatkan keamanan sesi:

        // 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
                ),
            ),

Jika Anda ingin menetapkan domain untuk cookie, gunakan sintaks berikut di config.php:

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

Jika Anda memiliki beberapa instalasi di server yang sama, akan lebih cepat dan mudah untuk menetapkan nama sesi yang berbeda untuk setiap instans LimeSurvey. Hal ini mungkin diperlukan untuk IE11 pada kondisi tertentu (lihat issue 12083)

        // Set the name of the session
        'session' => array (
            'sessionName' => "LimeSurveyN1",
            ),

Pengaturan request

Pengaturan request itu penting, tetapi pengaturan bawaannya sudah dioptimalkan untuk penggunaan LimeSurvey. Untuk membaca lebih lanjut, lihat Dokumentasi Yii.

Misalnya, konfigurasi pengaturan request LimeSurvey dapat diubah dengan cara berikut (atas risiko Anda sendiri):

        // 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/',
            )
        ),

Jika Anda hanya perlu memperbarui URL untuk email token, tetapkan publicurl Anda di file config.php.


Mengizinkan penggunaan sesi dan validasi CSRF di iFrame

Mengaktifkan Penyematan IFrame diizinkan di pengaturan keamanan global hanya memungkinkan browser menampilkan survei Anda di dalam iframe. Agar peserta dapat mengisi dan mengirim survei di dalam iframe, Anda juga perlu mengubah pengaturan cookie sesi dan CSRF di config.php seperti dijelaskan di bawah. Kedua cookie harus dikirim dengan SameSite=None, yang hanya diterima browser melalui koneksi HTTPS yang valid.

  Bahkan dengan semua pengaturan ini, survei di dalam iframe masih dapat gagal di beberapa browser atau dengan pengaturan browser tertentu, misalnya dalam mode penjelajahan pribadi atau saat cookie pihak ketiga diblokir. Pengaturan ini diuji dengan Firefox 81.0.2 hingga 115, Chromium 85.0.4183.121 hingga 119, dan Edge 119 dengan pengaturan bawaannya. LimeSurvey tidak menyediakan dukungan untuk konfigurasi ini, hanya dukungan komunitas yang tersedia.


Mengizinkan sesi dimulai di iframe

Cookie sesi harus aman (memerlukan koneksi HTTPS yang valid) dan httponly, serta samesite harus diatur ke None. Kunci di dalam cookieParams harus ditulis dengan huruf kecil semua.

 		 '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',
			),
		 ),

Izinkan cookie csrf di iframe

Seperti pada cookie sesi, cookie CSRF harus aman, dan sameSite harus diatur ke None. Perhatikan bahwa di sini kuncinya ditulis sameSite. Tambahkan seluruh larik request pada level yang sama dengan session.

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

Pengaturan URL

  Jika Anda hanya perlu memperbarui URL untuk surel token dan surel lainnya, atur publicurl di berkas config.php Anda.


Untuk mengubah pengaturan URL standar, perbarui urlManager:

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


Anda juga dapat menambahkan .html setelah ID survei dengan cara berikut:

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

Untuk informasi lebih lanjut, lihat dokumentasi Yii.

Pengaturan pencatatan log

Yii menyediakan berbagai solusi untuk menghasilkan log. Untuk mengetahui lebih lanjut, lihat topik khusus pencatatan log. LimeSurvey menggunakan '1' atau '2' secara default, yang memungkinkan setiap pengguna web melihat log. Anda dapat membuat pengaturan sendiri dengan menggunakan Yii secara langsung.

Sebagai contoh, solusi cepat untuk mencatat kesalahan dan peringatan ke dalam berkas adalah:

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: Berkas disimpan secara default di limesurvey/tmp/runtime/application.log, yang terletak di folder root LimeSurvey.
  Yii menggunakan path runtime. Secara default, log dapat diakses melalui web. Log mungkin berisi banyak informasi dari server Anda. Sebaiknya gunakan direktori yang tidak dapat diakses melalui web. Anda dapat mengaturnya di routes atau dengan memperbarui path runtime.

.

Path runtime

Path runtime harus berupa direktori yang dapat dibaca dan ditulis oleh “pengguna web”. Namun, path runtime berisi berkas dengan informasi yang berpotensi sensitif secara keamanan yang berada di area akses web publik. LimeSurvey mengumpulkan berkas-berkas ini di direktori temp pada direktori root LimeSurvey. Untuk menghilangkan akses ke data penting tersebut, Anda dapat mengatur path runtime di luar akses web publik dengan mengedit baris terkait di berkas /application/config/config.php:

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

Pengaturan umum

  • sitename: Memberi nama pada situs survei Anda. Nama ini akan muncul di ikhtisar daftar survei dan di header administrasi. Nilai default-nya adalah 'LimeSurvey' dan dapat ditimpa di dialog pengaturan global atau diedit di config.php.
  • siteadminemail: Ini adalah alamat surel standar administrator situs dan digunakan untuk pesan sistem dan opsi kontak. Pengaturan ini hanya digunakan sebagai nilai default dan dapat ditimpa di dialog pengaturan global.
  • showEmailInError: Gunakan surel admin situs standar (siteadminemail) untuk tautan mailto di halaman kesalahan. Nonaktifkan untuk hanya menampilkan nama administrator. Default-nya dinonaktifkan untuk menghindari lebih banyak spam pada surel administrasi.
  • siteadminbounce: Ini adalah alamat surel tempat surel yang gagal terkirim (bounce) akan dikirim. Pengaturan ini hanya digunakan sebagai nilai default dan dapat ditimpa melalui dialog pengaturan global.
  • siteadminname: Nama asli administrator situs. Pengaturan ini hanya digunakan sebagai nilai default dan dapat ditimpa di dialog pengaturan global).
  • proxy_host_name: Ini adalah nama host server proxy Anda (harus dicantumkan jika Anda berada di balik proxy dan ingin memperbarui LimeSurvey menggunakan ComfortUpdate).
  • proxy_host_port: Ini adalah port server proxy Anda (harus dicantumkan jika Anda berada di balik proxy dan ingin memperbarui LimeSurvey menggunakan ComfortUpdate).

Keamanan

  • maxLoginAttempt: Ini adalah jumlah percobaan yang dimiliki pengguna untuk memasukkan kata sandi yang benar sebelum alamat IP-nya diblokir. Nilai default-nya adalah 3 dan dapat diubah melalui config.php.
  • timeOutTime: Jika pengguna salah memasukkan kata sandi sebanyak <maxLoginAttempt>, pengguna tersebut akan diblokir selama <timeOutTime> detik. Nilai default-nya adalah 10 menit dan dapat diubah melalui config.php.
  • maxLoginAttemptParticipants: Ini adalah jumlah percobaan yang dimiliki peserta untuk memasukkan token yang valid sebelum alamat IP-nya diblokir. Nilai default-nya adalah 3 dan dapat diubah melalui config.php.
  • timeOutParticipants: Jika peserta salah memasukkan token sebanyak <maxLoginAttemptParticipants>, peserta tersebut akan diblokir selama <timeOutParticipants> detik. Nilai default-nya adalah 10 menit dan dapat diubah melalui config.php.
  • surveyPreview_require_Auth: Diatur ke true secara default. Jika Anda mengaturnya ke 'false', siapa pun dapat menguji survei Anda menggunakan URL survei, tanpa masuk ke panel administrasi dan tanpa harus mengaktifkan survei terlebih dahulu. Pengaturan ini merupakan nilai default dan dapat ditimpa di dialog pengaturan global atau diedit di config.php.
  • usercontrolSameGroupPolicy: Diatur ke true secara default. Secara default, pengguna non-admin yang didefinisikan di antarmuka manajemen LimeSurvey hanya dapat melihat pengguna yang mereka buat atau pengguna yang tergabung dalam setidaknya satu grup yang sama. Nilai default dapat ditimpa di dialog pengaturan global atau diedit di config.php.
  • demoMode: Jika opsi ini diatur ke 'true' di config.php, LimeSurvey akan masuk ke mode demo. Mode demo mengubah hal-hal berikut:
    • Menonaktifkan perubahan detail dan kata sandi pengguna admin;
    • Menonaktifkan unggahan berkas di editor kerangka;
    • Menonaktifkan pengiriman undangan dan pengingat melalui surel;
    • Menonaktifkan pembuatan dump basis data;
    • Menonaktifkan kemampuan untuk mengubah pengaturan global berikut: nama situs, bahasa standar, mode editor HTML standar, filter XSS.
  • forcedsuperadmin: Larik ID pengguna dengan semua hak akses pada seluruh LimeSurvey. Pengaturan ini hanya dapat diperbarui di berkas config.php. Hak akses pengguna ini tidak dapat diedit di izin global untuk pengguna bahkan oleh superadministrator paksa lainnya. Secara default: pengguna dengan hak akses ini adalah pengguna dengan ID: 1, yaitu pengguna pertama yang dibuat tepat setelah instalasi.
  • force_ssl: memaksa LimeSurvey berjalan melalui HTTPS atau memblokir HTTPS. Lihat Paksa HTTPS di GUI admin pengaturan global.
  • ssl_emergency_override: Pengaturan ini memaksa SSL nonaktif. Jika Anda mengaktifkan HTTPS/SSL di pengaturan global tetapi server Anda tidak mengaktifkan HTTPS, satu-satunya cara untuk menonaktifkannya adalah dengan mengubah nilai langsung di basis data. Pengaturan ini memungkinkan Anda memaksa HTTPS nonaktif sementara Anda mengubah pengaturan global untuk Force Secure. Pengaturan ini harus selalu false kecuali dalam keadaan darurat, di mana Anda mengubahnya menjadi true hingga masalah teratasi. Pengaturan ini hanya dapat diatur melalui berkas config.php.
  • ssl_disable_alert: Nonaktifkan peringatan untuk superadmin tentang SSL yang tidak dipaksakan, jika Anda benar-benar tidak bisa atau tidak ingin memaksa SSL. Pengaturan ini hanya dapat diatur melalui berkas config.php.
  • allow_unserialize_attributedescriptions: Izinkan unserialize (dengan fungsi unserialize PHP) atribut token saat mengimpor atau membaca objek survei. Data atribut token disimpan sebagai JSON. Jika Anda mengimpor berkas survei dari LimeSurvey versi yang sangat lama dan perlu mendapatkan atribut tokennya, Anda harus mengaktifkan pengaturan ini. Peringatan: Unserialization dapat menyebabkan kode dimuat dan dijalankan karena instansiasi objek dan autoloading, dan pengguna berbahaya mungkin dapat mengeksploitasinya. Pengaturan ini hanya dapat diatur melalui berkas config.php.
  • allow_unserialize_attachments: Izinkan unserialize (dengan fungsi unserialize PHP) atribut lampiran saat mengimpor survei. Pada LimeSurvey 6.16.17: atribut lampiran berpindah dari serialize ke json_encode. Jika Anda perlu mempertahankan lampiran saat mengimpor berkas LSS lama, Anda harus mengizinkannya. Peringatan: Unserialization dapat menyebabkan kode dimuat dan dijalankan karena instansiasi objek dan autoloading, dan pengguna berbahaya mungkin dapat mengeksploitasinya. Pengaturan ini hanya dapat diatur melalui berkas config.php.
  • twig_getConfig_extraallowlist: Memungkinkan Anda mengizinkan elemen tertentu untuk fungsi getConfig di twig. LimeSurvey sudah mengizinkan sebagian besar pengaturan yang paling dibutuhkan dan digunakan, tetapi Anda mungkin memerlukan lebih banyak. Jika Anda ingin mengizinkan 'securesetting' dan 'anothersetting', atur ke ['securesetting','anothersetting'] seperti ini 'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Pengaturan ini hanya dapat diatur melalui berkas config.php.

Perlindungan cross-site scripting (XSS)

LimeSurvey tidak mengizinkan skrip pengguna apa pun di halaman administrasi. Jika Anda menemukan cara untuk menambahkan skrip XSS di halaman administrasi oleh pengguna mana pun, silakan periksa Kebijakan Keamanan kami.

Skrip pada halaman publik dikelola oleh pengaturan filter XSS.

  • filterxsshtml: Pengaturan ini mengaktifkan pemfilteran tag html yang mencurigakan di dalam survei, grup, serta teks pertanyaan dan jawaban di antarmuka administrasi. Biarkan 'false' hanya jika Anda benar-benar memercayai pengguna yang Anda buat untuk administrasi LimeSurvey dan jika Anda ingin mengizinkan pengguna tersebut menggunakan Javascript, Flash Movie, dll. HTML milik superadmin tidak pernah difilter. Nilai default dapat ditimpa di dialog pengaturan global.
  • filterxsshtml_forcedall: Paksa filterxsshtml menjadi true untuk semua pengguna, nonaktifkan pembaruan di GUI admin. Mengaktifkan pemfilteran tag HTML yang mencurigakan untuk superadmin juga.
  • filterxsshtml_allowforcedsuperadmin: Hanya digunakan jika filterxsshtml_forcedall bernilai true. Izinkan penambahan skrip dan HTML apa pun oleh forcedsuperadmin (secara default pengguna admin #1).
  • disablescriptwithxss: Izinkan pembaruan skrip pada pertanyaan: secara default, true: mengikuti aturan XSS; atur ke false untuk mengizinkan bagi semua pengguna. Nilai default dapat ditimpa di dialog pengaturan global.
  • filterxsshtml_enablescript: Hanya digunakan jika filterxsshtml_forcedall bernilai true. Aktifkan skrip pertanyaan untuk pengguna tertentu: gui: izinkan pembaruan pengaturan melalui GUI; superadmin: hanya superadmin; forcedsuperadmin: hanya superadmin paksa; secara default: tidak ada pengguna dan tidak mengizinkan pembaruan melalui GUI

Unggahan berkas yang diizinkan

  • allowedthemeimageformats : Jenis berkas gambar yang diizinkan untuk diunggah di bagian tema. Secara default berkas SVG dinonaktifkan karena potensi serangan XSS.
  • allowedthemeuploads : Jenis berkas lain yang diizinkan untuk diunggah di bagian tema (berkas zip)
  • allowedresourcesuploads : Jenis berkas yang diizinkan untuk diunggah di bagian sumber daya, dan dengan Editor HTML
  • allowedpluginuploads : Jenis berkas yang diizinkan saat mengunggah berkas zip plugin.

Cukup masukkan string berisi ekstensi yang dipisahkan koma. Contoh:

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

Peringatan: Selalu berhati-hatilah saat mengizinkan unggahan file. Aktivitas berbahaya mungkin saja terjadi.

Plugin

  • usePluginWhitelist : Jika bernilai true, plugin yang tidak ada dalam daftar yang diizinkan (lihat 'pluginWhitelist') tidak dapat diinstal maupun dimuat. Hal ini dapat menonaktifkan plugin yang sudah terinstal.
  • pluginWhitelist : Daftar nama plugin yang diizinkan untuk diinstal dan dimuat ketika 'usePluginWhitelist' bernilai true. Plugin inti secara implisit termasuk dalam daftar yang diizinkan.
  • corePluginBlacklist : Daftar nama plugin inti yang dilarang ketika 'usePluginWhitelist' bernilai true.
  • disablePluginUpload : Jika pengaturan ini bernilai true, fitur "Plugin Upload" dinonaktifkan

Kontrol host

  • allowedHosts : untuk menghindari Host Header Injection, Anda dapat menetapkan host yang diizinkan untuk semua aksi. Jika Anda menggunakan host yang berbeda untuk halaman publik dan halaman admin, Anda perlu menetapkan keduanya sebagai host yang diizinkan.
    'config'=>array(
            ....
,		// Update default LimeSurvey config here
		'allowedHosts' => [
			'survey.example.org',
			'proxy.survey.example.com',
			'example.limesurvey.org',
		],
    ),

Sumber daya

  • iSessionExpirationTime: Menentukan waktu dalam detik setelah sesi survei berakhir. Pengaturan ini hanya berlaku jika Anda menggunakan sesi database. Jika Anda menggunakan sesi database, ubah parameter ini di config.php atau timpa nilai default dari dialog pengaturan global.
  • memory_limit: Menentukan jumlah memori yang dapat diakses LimeSurvey, dalam megabita. Nilai default-nya adalah '256'. Jika Anda menerima galat time out atau mengalami masalah saat membuat statistik atau mengekspor file, naikkan batas ini menjadi '512' atau lebih tinggi. Jika server web Anda menetapkan batas yang lebih tinggi di php.ini, pengaturan ini akan diabaikan.
Perlu diingat bahwa pengaturan lokal seperti ini selalu dapat ditimpa oleh perubahan yang dilakukan di dialog pengaturan global.

Untuk menaikkan batas memori menjadi 128M, Anda juga dapat mencoba menambahkan:

  • memory_limit = 128M ke file php.ini utama server Anda (disarankan, jika Anda memiliki akses)
  • memory_limit = 128M ke file php.ini di root LimeSurvey
  • php_value memory_limit 128M di file .htaccess di root LimeSurvey
  • max_execution_time: Menetapkan jumlah detik sebuah skrip diizinkan berjalan. Jika batas ini tercapai, skrip akan mengembalikan galat fatal. Agar dapat mengekspor data survei dan statistik yang besar, LimeSurvey secara default mencoba menetapkannya ke 1200 detik. Anda dapat menetapkan waktu yang lebih besar atau lebih kecil jika diperlukan. Hanya dapat diakses melalui file konfigurasi php.

Tampilan

  • repeatheadings: Pada jenis pertanyaan Larik, Anda sering memiliki banyak subpertanyaan yang, ketika ditampilkan di layar, memakan lebih dari satu halaman. Pengaturan ini memungkinkan Anda menentukan berapa banyak subpertanyaan yang ditampilkan sebelum informasi header pertanyaan diulang. Pengaturan yang baik adalah sekitar 15. Jika Anda tidak ingin judul diulang sama sekali, setel ke 0. Pengaturan ini ditimpa di dialog pengaturan global.
  • minrepeatheadings: Jumlah minimum subpertanyaan tersisa yang diperlukan sebelum judul diulang pada pertanyaan Larik. Nilai default-nya adalah 3 dan dapat diubah di config.php.
  • defaulttheme: Pengaturan ini menentukan tema default yang digunakan untuk 'daftar publik' survei. Pengaturan ini dapat ditimpa di dialog pengaturan global atau diubah di config.php.
  • defaulthtmleditormode: Menetapkan mode default untuk editor HTML terintegrasi. Pengaturan ini dapat ditimpa di dialog pengaturan global atau diubah di config.php. Pengaturan yang valid adalah:
    • 'inline' - Penggantian kolom secara inline dengan editor HTML. Lambat tetapi nyaman dan mudah digunakan;
    • 'popup' - Menambahkan ikon yang menjalankan editor HTML dalam popup jika diperlukan. Lebih cepat, tetapi kode HTML ditampilkan di formulir;
    • 'none'- Tanpa editor HTML;
  • column_style: Menentukan bagaimana kolom ditampilkan untuk jawaban survei saat menggunakan display_columns. Pengaturan ini dapat diubah di file config.php. Pengaturan yang valid adalah:
    • 'css' - menggunakan salah satu dari berbagai metode CSS untuk membuat kolom (lihat stylesheet templat untuk detailnya);
    • 'ul' - kolom ditampilkan sebagai beberapa daftar tak berurutan yang mengambang (default);
    • 'table' - menggunakan tata letak berbasis tabel konvensional;
    • NULL - menonaktifkan penggunaan kolom.

Bahasa & waktu

  • defaultlang: Pengaturan ini harus diisi dengan bahasa default yang digunakan pada skrip administrasi Anda, dan juga pengaturan default bahasa pada daftar survei publik. Pengaturan ini dapat ditimpa di dialog pengaturan global atau diubah di config.php.
  • timeadjust: Jika server web Anda berada di zona waktu yang berbeda dari lokasi tempat survei Anda akan dijalankan, masukkan selisih antara server Anda dan zona waktu Anda di sini. Misalnya, saya tinggal di Australia, tetapi menggunakan server web di AS. Server web tersebut tertinggal 14 jam dari zona waktu lokal saya. Jadi pengaturan saya di sini adalah "14". Dengan kata lain, pengaturan ini menambahkan 14 jam ke waktu server web. Pengaturan ini sangat penting ketika survei mencatat stempel waktu jawaban. Pengaturan ini dapat ditimpa di dialog pengaturan global atau diubah di config.php.

Perilaku survei

  • deletenonvalues: Gunakan fitur ini dengan hati-hati. Secara default (bernilai 1), pertanyaan yang tidak relevan diisi NULL di database. Hal ini memastikan data di database Anda konsisten secara internal. Namun, ada kasus langka ketika Anda mungkin ingin mempertahankan nilai yang tidak relevan; dalam hal ini Anda dapat menetapkan nilainya ke 0. Misalnya, Anda bertanya kepada seorang laki-laki tentang jenis kelaminnya, lalu ia secara tidak sengaja menjawab 'perempuan' dan kemudian menjawab beberapa pertanyaan khusus perempuan (pertanyaan yang bergantung pada kondisi perempuan, sehingga hanya relevan bagi perempuan). Kemudian ia menyadari kesalahannya, kembali, mengubah jenis kelamin menjadi 'laki-laki', dan melanjutkan survei. Sekarang pertanyaan khusus perempuan tersebut tidak relevan. Jika $deletenonvalues==1, nilai-nilai yang tidak relevan itu akan dikosongkan (NULL) di database. Jika $deletenonvalues==0, jawabannya yang keliru tidak akan dihapus, sehingga masih ada di database saat Anda menganalisisnya.
  • shownoanswer: Ketika pertanyaan bertipe tombol radio/pilihan yang berisi jawaban yang dapat diedit (misalnya: pertanyaan Daftar, Larik) tidak wajib dan 'shownoanswer' disetel ke 1, entri tambahan 'Tidak dijawab' akan ditampilkan - sehingga partisipan dapat memilih untuk tidak menjawab pertanyaan tersebut. Sebagian orang lebih suka opsi ini tidak tersedia. Pengaturan ini dapat ditimpa dari dialog pengaturan global atau diubah di config.php. Nilai yang valid adalah:
    • '0': Tidak;
    • '1': Ya;
    • '2': Admin survei dapat memilih.
  • printanswershonorsconditions: Pengaturan ini menentukan apakah fitur printanswers akan menampilkan entri dari pertanyaan yang disembunyikan oleh percabangan kondisi (Default: 1 = sembunyikan jawaban dari pertanyaan yang disembunyikan oleh kondisi).
  • showpopups: Tampilkan pesan popup jika pertanyaan wajib atau bersyarat belum dijawab dengan benar:
    • '2' = ditentukan oleh opsi Tema (default)
    • '1'= tampilkan pesan popup;
    • '0'= tampilkan pesan di halaman sebagai gantinya;
    • '-1'= jangan tampilkan pesan sama sekali (dalam hal ini, pengguna tetap akan melihat petunjuk khusus pertanyaan yang menunjukkan pertanyaan mana yang harus dijawab).

Perilaku jenis pertanyaan numerik

  • bFixNumAuto: Kolom numerik dapat difilter secara otomatis untuk menghapus semua nilai non-numerik. Secara default ini diaktifkan, dan Anda dapat menonaktifkannya secara global. Pengaturan ini terkait dengan Memperbaiki nilai numerik secara otomatis di opsi tema inti. Pengaturan ini aktif untuk Ya, dan nonaktif untuk Untuk ekspresi dan Tidak.
  • bNumRealValue: Kolom numerik yang digunakan di expression manager dapat diperbaiki atau tidak. Secara default diperbaiki. Jika NUMERIC adalah pertanyaan numerik: nonaktif atau 0 : {NUMERIC} dengan karakter yang salah mengirim '', aktif atau 1 : {NUMERIC} mengirim semua karakter yang dimasukkan. Pengaturan ini terkait dengan Memperbaiki nilai numerik secara otomatis di opsi tema inti. Pengaturan ini aktif untuk Ya dan Untuk ekspresi, dan nonaktif untuk Tidak.

Pengembangan dan debugging

  • debug: Dengan pengaturan ini, Anda menyetel pelaporan galat PHP ke E_ALL. Artinya setiap pemberitahuan, peringatan, atau galat sekecil apa pun yang terkait dengan skrip akan ditampilkan. Pengaturan ini hanya boleh diubah ke '1' jika Anda mencoba melakukan debug aplikasi karena alasan apa pun. Jika Anda seorang pengembang, ubah ke '2'. Jangan ubah ke '1' atau '2' di lingkungan produksi karena dapat menyebabkan pengungkapan path. Nilai default-nya adalah '0' dan dapat diubah di config.php.
  • debugsql: Aktifkan pengaturan ini jika Anda ingin menampilkan semua kueri SQL yang dijalankan oleh skrip di bagian bawah setiap halaman. Sangat berguna untuk mengoptimalkan jumlah kueri. Untuk mengaktifkannya, ubah nilai default menjadi '1' di file config.php.
  • use_asset_manager: Secara default, mode debug menonaktifkan asset manager. Anda dapat mengizinkan penggunaan asset manager saat mode debug aktif.

Jika Anda mengalami galat pada aplikasi, kami sangat menyarankan untuk mengaktifkan pengaturan debug agar mendapatkan galat yang lebih rinci yang dapat Anda sertakan dalam laporan bug:

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

Jika Anda mengerjakan plugin dan membutuhkan cara cepat untuk menampilkan variabel di layar, Anda dapat menggunakan fungsi traceVar. Jika debug diaktifkan, fungsi ini menggunakan CWebLogRoute agar ditampilkan di halaman HTML. Penggunaan: traceVar($MyVariable)

Pengaturan surel

Semua pengaturan di bawah ini dapat ditimpa di dialog pengaturan global.

  • 'emailmethod: Menentukan bagaimana pesan email dikirim. Opsi berikut tersedia:
    • 'mail:' menggunakan mailer PHP internal;
    • 'sendmail:' menggunakan mailer sendmail;
    • 'smtp:' menggunakan relai SMTP. Gunakan pengaturan ini ketika Anda menjalankan LimeSurvey pada host yang bukan server surel Anda.
  • 'emailsmtphost: Jika Anda menggunakan 'smtp' sebagai $emailmethod, Anda harus mengisi server SMTP Anda di sini. Jika Anda menggunakan Google mail, Anda mungkin perlu menambahkan nomor port seperti $emailsmtphost = 'smtp.gmail.com:465'.
  • emailsmtpuser: Jika server SMTP Anda memerlukan autentikasi, setel ini ke nama pengguna Anda; jika tidak, harus dikosongkan.
  • emailsmtppassword: Jika server SMTP Anda memerlukan autentikasi, setel ini ke kata sandi Anda; jika tidak, harus dikosongkan.
  • emailsmtpssl: Setel ke 'ssl' atau 'tls' untuk menggunakan SSL/TLS pada koneksi SMTP.
  • maxemails: Saat mengirim undangan atau pengingat kepada partisipan survei, pengaturan ini digunakan untuk menentukan berapa banyak email yang dapat dikirim dalam satu kelompok. Server web yang berbeda memiliki kapasitas email yang berbeda, dan jika skrip Anda terlalu lama mengirim satu kelompok email, skrip dapat mengalami time out dan menyebabkan galat. Sebagian besar server web dapat mengirim 100 email sekaligus dalam batas waktu default 30 detik untuk skrip PHP. Jika Anda mendapat galat time out skrip saat mengirim email dalam jumlah besar, kurangi angka pada pengaturan ini. Mengeklik tombol 'Kirim surel undangan' dari toolbar kontrol token (bukan tombol yang berada di sisi kanan setiap token) akan mengirim undangan sejumlah <maxemails>, lalu menampilkan daftar alamat penerima dan peringatan bahwa ada lebih banyak email tertunda daripada yang dapat dikirim dalam satu kelompok. Lanjutkan mengirim email dengan mengeklik di bawah. Masih ada ### email yang harus dikirim. serta menyediakan "tombol lanjutkan" untuk melanjutkan ke kelompok berikutnya. Artinya, pengguna menentukan kapan mengirim kelompok berikutnya setelah setiap kelompok terkirim. Anda tidak perlu menunggu dengan layar ini tetap aktif. Admin dapat keluar dan kembali di lain waktu untuk mengirim kelompok undangan berikutnya.

Statistik dan penelusuran tanggapan

  • filterout_incomplete_answers: Mengontrol perilaku default penyaringan jawaban yang tidak lengkap saat menelusuri atau menganalisis tanggapan. Untuk pembahasan tentang tanggapan yang tidak lengkap, lihat wiki penelusuran hasil survei kami. Karena data ini dapat merusak statistik, tersedia opsi untuk mengaktifkan atau menonaktifkan filter ini di beberapa formulir GUI. Parameter ini dapat diedit di config.php. Opsi berikut tersedia:
    • 'all': Memungkinkan Anda melihat jawaban yang lengkap maupun yang tidak lengkap;
    • 'complete': Hanya menampilkan jawaban yang lengkap;
    • 'incomplete': Hanya menampilkan jawaban yang tidak lengkap.
  • strip_query_from_referer_url: Pengaturan ini menentukan apakah URL perujuk menyimpan parameter atau tidak. Nilai default-nya adalah 'false' (dalam hal ini, URL perujuk menyimpan semua parameter). Sebagai alternatif, nilai ini dapat diatur ke 'true' dan bagian parameter dari URL perujuk akan dihapus.
  • showaggregateddata: jika diaktifkan, nilai statistik tambahan seperti rerata aritmetika dan deviasi standar akan ditampilkan. Selain itu, data diagregasi agar mendapatkan gambaran umum yang lebih cepat. Misalnya, hasil skala 1+2 dan 4+5 dijumlahkan untuk mendapatkan peringkat umum seperti "baik" (1/2), "sedang" (3) dan "buruk" (4/5). Hal ini hanya berlaku untuk tipe pertanyaan "A" (larik 5 poin) dan "5" (pilihan 5 poin).
  • Pengaturan Ekspor PDF: Fitur ini mengaktifkan ekspor PDF untuk survei dapat dicetak dan Cetak jawaban. Fungsi ekspor PDF ini sepenuhnya bersifat eksperimental dan hasilnya masih jauh dari sempurna. Sayangnya, saat ini belum ada dukungan yang dapat diberikan - jika Anda ingin membantu memperbaikinya, silakan hubungi kami.
    • 'pdfdefaultfont': Mewakili font default yang akan digunakan oleh fungsi ekspor PDF. Nilai default-nya adalah 'auto'. Untuk mengubahnya, Anda harus mengatur ke salah satu font inti PDF.
    • 'alternatepdffontfile': Berupa larik dengan kunci bahasa dan font yang sesuai. Font default untuk setiap bahasa dapat diganti di file config.php;
    • 'pdffontsize': menunjukkan ukuran font untuk teks normal; Untuk judul survei, nilainya <pdffontsize>+4, sedangkan untuk judul grup <pdffontsize>+2. Dapat diedit di file config.php atau melalui dialog pengaturan global.
  • Pengaturan grafik
    • 'chartfontfile': Menetapkan nama file font yang digunakan untuk membuat bagan statistik. File tersebut harus berada di direktori fonts, yang terletak di folder root LimeSurvey. Dapat diedit di file config.php;
    • 'alternatechartfontfile': Berupa larik dengan kunci bahasa dan font yang sesuai. Dapat diedit di file config.php.
  • showsgqacode: Pengaturan ini digunakan pada fitur survei dapat dicetak dan nilai default-nya 'false. Jika Anda mengatur showsgqacode = 'true';, ID setiap pertanyaan - dan jawaban jika ada - akan ditampilkan. ID ini cocok dengan judul kolom pada tabel Lime_survey_12345, yang menyimpan data jawaban untuk survei tertentu. ID ini dapat digunakan sebagai buku kode untuk kueri database manual.

Pengaturan LDAP

Karena topik ini sangat luas, kami memindahkan pengaturan LDAP ke halaman lain.

Otentikasi

Otentikasi ditangani oleh plugin. Pengaturan di bawah ini digunakan oleh plugin otentikasi Webserver, lihat Plugin otentikasi.

Delegasi otentikasi ke server web

Administrator sistem mungkin ingin agar administrator survei mereka diotentikasi melalui sistem otentikasi terpusat (Active Directory, openLdap, Radius, ...) alih-alih menggunakan database internal LimeSurvey. Cara mudah untuk melakukannya adalah dengan mengatur perangkat lunak server web Anda agar menggunakan sistem otentikasi eksternal ini, lalu meminta LimeSurvey memercayai identitas pengguna yang dilaporkan oleh server web. Untuk mengaktifkan fitur ini, Anda harus:

  • aktifkan plugin Webserver di Konfigurasi > Plugin dan atur kunci server yang menyimpan nama pengguna (default: REMOTE_USER) pada pengaturan plugin;
  • aktifkan otentikasi dari sisi server web.

Harap diperhatikan bahwa:

  • LimeSurvey kemudian akan melewati proses otentikasinya sendiri (dengan menggunakan nama login yang dilaporkan oleh server web tanpa meminta kata sandi);
  • hal ini hanya dapat menggantikan sistem otentikasi GUI LimeSurvey, bukan sistem undangan survei (antarmuka peserta).

Delegasi otentikasi tanpa impor pengguna otomatis

Harap diperhatikan bahwa Delegasi otentikasi tidak melewati sistem otorisasi LimeSurvey secara default - artinya, meskipun Anda tidak perlu mengelola kata sandi di LimeSurvey, Anda tetap harus mendefinisikan pengguna di database LimeSurvey dan memberi mereka hak akses yang benar agar mereka dapat mengakses panel administrasi.

Seorang pengguna diberi akses ke LimeSurvey jika dan hanya jika:

  • ia telah diotentikasi oleh server web;
  • nama login-nya didefinisikan sebagai pengguna di database pengguna LimeSurvey (pengguna tersebut kemudian diberi hak istimewa dari pengguna yang didefinisikan di database pengguna LimeSurvey);
  • ia memiliki izin global Gunakan otentikasi server web.

Delegasi otentikasi dengan impor pengguna otomatis

Saat mengelola database pengguna yang besar, terkadang lebih mudah untuk mengimpor pengguna secara otomatis ke database LimeSurvey:

  • auth_webserver_autocreate_user: Jika diatur ke 'true', LimeSurvey akan mencoba mengimpor secara otomatis pengguna yang diotentikasi oleh server web tetapi belum ada di database penggunanya.
  • auth_webserver_autocreate_profile: Larik yang menjelaskan profil default yang akan diberikan kepada pengguna: nama lengkap (palsu), surel, dan bahasa.
  • auth_webserver_autocreate_permissions: Larik berisi izin global yang akan diberikan kepada pengguna.

Jika Anda ingin menyesuaikan profil pengguna agar sesuai dengan pengguna yang sedang login, Anda harus membuat fungsi sederhana bernama hook_get_auth_webserver_profile di config.php - dengan fungsi ini Anda dapat mengambil nama lengkap, surel, dan bahasa asli dari pengguna tertentu dari database akun pengguna terpusat (misalnya, dari direktori LDAP).

Fungsi hook_get_auth_webserver_profile menerima nama login pengguna sebagai satu-satunya argumen dan dapat mengembalikan:

  • False atau larik kosong - dalam hal ini pengguna ditolak aksesnya ke LimeSurvey;
  • larik yang berisi entri yang sama dengan 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();
  Fungsi opsional 'hook_get_auth_webserver_profile' hanya untuk penggunaan tingkat lanjut! Untuk detail lebih lanjut, silakan baca komentar pada file config-defaults.php.


Pemetaan nama pengguna

Jika beberapa pengguna memiliki nama pengguna eksternal yang berbeda dari nama pengguna LimeSurvey mereka, pemetaan nama pengguna dapat berguna. Hal ini dilakukan di LimeSurvey dengan menggunakan parameter auth_webserver_user_map. Misalnya, bayangkan Anda tidak memiliki nama pengguna 'admin' yang didefinisikan di database otentikasi eksternal Anda. Maka, untuk login ke LimeSurvey sebagai admin, Anda harus memetakan nama pengguna eksternal Anda (sebut saja 'myname') ke nama login admin di LimeSurvey. Pengaturan yang sesuai adalah:

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

Setelah otentikasi berhasil dengan login 'myname' dan kata sandi server web, Anda akan langsung diberi otorisasi untuk menggunakan LimeSurvey sebagai pengguna 'admin'.

Hal ini memiliki implikasi keamanan yang serius, jadi gunakan dengan hati-hati. Lindungi juga config.php Anda dari akses tulis oleh server web.

Gunakan kata sandi sekali pakai

Pengguna dapat membuka halaman login LimeSurvey di default.com/limesurvey/admin dan mengetikkan nama pengguna serta kata sandi sekali pakai yang sebelumnya ditulis ke tabel users (kolom one_time_pw) oleh aplikasi eksternal.

Pengaturan ini harus diaktifkan di file config.php agar kata sandi sekali pakai dapat digunakan (default = false).

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

Informasi lebih lanjut dapat ditemukan di bagian "Kelola Pengguna".


Pengaturan enkripsi

  Perhatian : Setelah diatur, kunci enkripsi tidak boleh diubah, jika tidak semua data terenkripsi dapat hilang!


Saat pembaruan atau instalasi, parameter ini dibuat oleh LimeSurvey dan disimpan di file application/config/security.php. Anda dapat memindahkan pengaturan ini ke config.php jika mau atau membiarkannya di security.php.

Lihat enkripsi data untuk detail tentang fitur ini.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey
  • encryptionnonce
  • encryptionsecretboxkey

Pengaturan URL lanjutan

  • publicurl: Atur ke lokasi URL 'skrip publik' Anda. Skrip publik adalah skrip yang berada di folder "limesurvey" (atau nama apa pun yang Anda berikan pada direktori tempat semua skrip dan direktori lain disimpan). Pengaturan ini tersedia di config.php dan digunakan saat LimeSurvey membutuhkan URL absolut (misalnya saat email token dikirim).
  • tempurl: Atur ke lokasi URL direktori "/limesurvey/tmp" Anda - atau ke direktori yang ingin Anda gunakan agar LimeSurvey menyajikan berkas sementara.
  • uploadurl: Atur ke lokasi URL direktori "/limesurvey/upload" Anda - atau ke direktori yang ingin Anda gunakan agar LimeSurvey menyajikan berkas yang diunggah. Dengan ini, Anda dapat menempatkan berkas yang diunggah pada domain URL lain.

Pengaturan path lanjutan

  • homedir: Atur ke lokasi fisik pada disk untuk skrip administrasi Anda - misalnya "/home/usr/htdocs/limesurvey/admin". Jangan menambahkan garis miring di akhir entri ini. Pengaturan default di config.php mencoba mendeteksi path root default dari semua dokumen Anda menggunakan pengaturan variabel php {$_SERVER['DOCUMENT_ROOT']}. Dalam sebagian besar kasus, Anda dapat membiarkannya dan hanya mengubah sisa string ini agar sesuai dengan nama direktori tempat Anda menyimpan skrip LimeSurvey.
  • publicdir: Atur ke lokasi fisik pada disk untuk 'skrip publik' Anda.
  • tempdir: Atur ke lokasi fisik pada disk untuk direktori /limesurvey/tmp Anda agar skrip dapat membaca dan menulis berkas.
  • uploaddir: Atur ke lokasi fisik pada disk untuk direktori /limesurvey/upload Anda agar skrip dapat membaca dan menulis berkas.
  • sCKEditorURL: URL skrip CKEditor.

Pengaturan lanjutan lainnya

Unggah berkas

  • magic_database: Memungkinkan penggunaan basis data MIME yang berbeda untuk finfo_open. Hanya dapat diubah di berkas config.php. Contoh: /usr/share/misc/magic.mgc untuk Linux berbasis Red Hat.
  • magic_file: Memungkinkan penggunaan berkas yang berbeda untuk mendapatkan larik ekstensi berdasarkan tipe MIME, selain berkas bawaan. Harus berupa berkas PHP yang mengembalikan sebuah larik. Hanya dapat diubah di berkas config.php.

Pembaruan

  • updatable: Pengaturan ini ada di version.php. Nilainya dapat berupa true atau false. Jika diatur ke true: saat pengguna super admin masuk, LimeSurvey memeriksa apakah ada pembaruan dan menampilkan peringatan. Jika diatur ke false: tidak ada pemeriksaan yang dilakukan dan Anda tidak dapat menggunakan ComfortUpdate.

Token

  • allowedcharacters_pattern_token : Pengaturan ini memungkinkan Anda menetapkan pola regexp saat memfilter token.