Ustawienia opcjonalne
From LimeSurvey Manual
Poniższa sekcja jest skierowana do tych z Was, którzy chcieliby edytować te ustawienia konfiguracyjne, których nie można było zmodyfikować za pomocą GUI (graficznego interfejsu użytkownika) instalacji LimeSurvey. Pamiętaj, że wszelkich zmian w katalogu głównym LimeSurvey dokonujesz na własne ryzyko. Niemniej jednak, jeśli napotkasz problemy/potrzebujesz dalszych wskazówek, dołącz do forów dyskusyjnych lub IRC kanał, aby uzyskać pomoc od społeczności LimeSurvey.
Wprowadzenie
Aby zmodyfikować ustawienia konfiguracyjne instalacji, należy edytować ustawienia opcjonalne. Można je znaleźć w pliku /application/config/config-defaults.php, który znajduje się w katalogu głównym LimeSurvey. Domyślne ustawienia standardowej instalacji można znaleźć w config-defaults.php. Niektóre z nich można zastąpić za pomocą okna dialogowego ustawienia globalne, inne trzeba będzie edytować ręcznie.
Kiedy nastąpi aktualizacja, zmieniane są tylko ustawienia config-defaults.php. Dlatego edycja pliku config.php spowoduje zapisanie dostosowanych ustawień.
Aby zaktualizować/dodać ustawienia LimeSurvey w /application/config/config.php, musisz zaktualizować tablicę config:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'Nowa wartość', // Zaktualizuj tutaj domyślną konfigurację LimeSurvey
)
Ustawienia Yii
LimeSurvey wykorzystuje framework Yii, który posiada własne parametry konfiguracyjne w plikach application/config/internal.php i application/config/config.php. Możesz także uzyskać dostęp do niektórych ustawień konfiguracyjnych LimeSurvey poprzez konfigurację Yii.
Ponieważ tablica config.php jest połączona z całą konfiguracją, możesz zastąpić dowolne parametry Yii w pliku config.php.
Ustawienia specyficzne dla Yii są ustawione w tablicy komponentów:
'components' => array(
'db' => array(
....
),
'Specyficzne ustawienia'=>array(
....
),
),
Ustawienia bazy danych
Ustawienia bazy danych są zapisywane w config.php przez plik instalacyjny podczas pierwszej instalacji LimeSurvey. W razie potrzeby możesz zaktualizować tę część pliku config.php. Pamiętaj, że robisz to na własne ryzyko! Zapoznaj się także z dokumentacją Yii i proszę pamiętaj, że LimeSurvey obsługuje tylko następujące typy baz danych: mysql, pgsql, dblib, mssql i sqlsrv.
Ustawienia sesji
Możesz ustawić niektóre parametry sesji w config.php (sprawdź dwa przykłady poniżej). Możesz odkomentować/dodać potrzebną część w config.php. Zobacz Yii Dokumentacja, aby poznać inne ustawienia.
Użyj sesji opartych na tabelach
LimeSurvey może korzystać z sesji opartych na tabelach, część z komentarzem znajdziesz w domyślnym pliku wygenerowanym przez config.php. Aby użyć sesji opartej na tabeli, usuń // przed każdą linią.
'session' => tablica (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions} }',
),
Inne aktualizacje sesji
Jeśli używasz SSL („https”) do instalacji LimeSurvey, dodanie następujących linii do pliku config.php zwiększy bezpieczeństwo sesji:
// Ustaw plik cookie przez SSL
'session' => array (
'cookieParams' => array(
'secure' => true, // używaj protokołu SSL dla plików cookie
'httponly' => true // Pliki cookie nie mogą być używane przez inne protokoły - eksperymentalne
),
),
Jeśli chcesz naprawić domenę dla pliku cookie, użyj następującej składni w config.php:
// Ustaw domenę dla pliku cookie
'session' => tablica (
'cookieParams' => tablica(
'domain' => '.example.org',
),
),
Jeśli masz wiele instalacji na tym samym serwerze, szybsze i łatwiejsze może być ustawienie różnych nazw sesji dla każdej instancji LimeSurvey. Może to być potrzebne w IE11 w pewnych warunkach (patrz wydanie 12083)
// Ustaw nazwę sesji
'session' => tablica (
'sessionName' => "LimeSurveyN1",
),
Ustawienia żądania
Ustawienia żądania są ważne, ale ustawienia domyślne są już zoptymalizowane pod kątem użycia LimeSurvey. Aby przeczytać więcej na ich temat, zobacz Dokumentacja Yii.
Przykładowo konfigurację ustawień żądania LimeSurvey można modyfikować w następujący sposób (na własne ryzyko):
// Wyłącz ochronę CSRF
'request' => array(
'enableCsrfValidation'=>false,
),
// Wymuś określoną bazę adresów URL
'request' => array(
'hostInfo' => 'http://www.example.org/'
),
// Ustaw nazwę domeny cookie i ścieżkę dla ochrony CSRF. Ścieżka jest używana, jeśli masz inną instancję w tej samej domenie
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Jeśli chcesz zaktualizować tylko adres URL dla e-maili zawierających tokeny, ustaw publicurl w pliku config.php.
Zezwól na użycie sesji i sprawdzanie poprawności Csrf w iFrame (New in 3.24.3 )
Po zezwoleniu na Osadzanie elementów iframe musisz zaktualizować jakąś część konfiguracji. Uwaga, nawet przy wszystkich ustawieniach: zezwolenie na formularz w ramce iframe może się zepsuć w niektórych przeglądarkach. Te ustawienia zostały przetestowane w przeglądarkach Firefox 81.0.2 i Chromium 85.0.4183.121.
Zezwól na rozpoczęcie sesji w ramce iframe
Sesja musi być bezpieczna (ważny https), tylko http i ta sama witryna na Brak. Wszystkie ustawienia muszą być ustawione na małe litery.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Odkomentuj poniższe linie, jeśli potrzebujesz sesji opartych na tabelach.
// Uwaga: Sesje oparte na tabelach są obecnie nieobsługiwane na serwerze MSSQL.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' = > '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'Brak' ,
),
),
Zezwalaj na plik cookie csrf w ramce iframe
Taka sama jak sesja: musi być bezpieczna, a ta sama witryna ustawiona na Brak. Cała tablica musi zostać dodana na tym samym poziomie co sesja.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'Brak',
'secure' => true,
),
),
Ustawienia adresu URL
Aby zmienić domyślne ustawienia adresu URL, zaktualizuj urlManager:
// Użyj krótkiego adresu URL
'urlManager' => array(
'urlFormat' => 'ścieżka',
'showScriptName' => false,
),
Możesz także dodać .html po identyfikatorze ankiety w następujący sposób:
// Użyj krótkiego adresu URL
'urlManager' => array(
'urlFormat' => 'ścieżka',
'rules' => tablica (
'<sid:\d+> ' => array('ankieta/indeks','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => fałsz,
),
Więcej informacji znajdziesz w dokumentacji Yii.
Ustawienia rejestrowania
Yii zapewnia różne rozwiązania do generowania logów. Aby dowiedzieć się więcej na ich temat, zapoznaj się z specjalny temat dotyczący rejestrowania. LimeSurvey domyślnie używa „1” lub „2”, co pozwala każdemu użytkownikowi sieci zobaczyć logi. Możesz tworzyć własne ustawienia bezpośrednio za pomocą Yii.
Na przykład, szybkim sposobem rejestrowania błędów i ostrzeżeń w plikach jest:
return array(
'components' => array(
/* Inna część komponentu tutaj 'db' na przykład */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'ostrzeżenie, błąd',
'except' => 'wyjątek.CHttpException .404',
),
),
),
/* Inna część komponentu tutaj „urlManager”, na przykład */
),
/* Część końcowa (z ' runtimePath' 'config' na przykład) */
);
.
Ścieżka wykonania
Ścieżka środowiska wykonawczego musi być katalogiem możliwym do odczytu i zapisu dla „użytkownika sieci”. Ścieżka środowiska wykonawczego zawiera jednak pliki z potencjalnymi informacjami dotyczącymi bezpieczeństwa, które znajdują się w publicznym obszarze dostępu do sieci. LimeSurvey gromadzi te pliki w katalogu tymczasowym katalogu głównego LimeSurvey. Aby wyeliminować dostęp do tak ważnych danych, możesz ustawić ścieżkę uruchomieniową poza publicznym dostępem do Internetu, edytując odpowiednie linie w pliku /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Ustawienia ogólne
- sitename: Nadaje nazwę witrynie z ankietami. Nazwa ta pojawi się w przeglądzie listy ankiet oraz w nagłówku administracyjnym. Wartość domyślna to „LimeSurvey” i można ją zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php.
- siteadminemail: To jest domyślny adres e-mail administratora witryny i jest używany do wiadomości systemowych i opcji kontaktu. To ustawienie jest używane tylko jako wartość domyślna i można je zastąpić w oknie dialogowym ustawienia globalne.
- siteadminbounce: To jest adres e-mail, na który będą wysyłane odsyłane wiadomości e-mail. To ustawienie jest używane tylko jako wartość domyślna i można je zastąpić w oknie dialogowym ustawienia globalne.
- siteadminname: Prawdziwe imię i nazwisko administratora witryny. To ustawienie jest używane tylko jako wartość domyślna i można je zastąpić w oknie dialogowym ustawienia globalne.
- nazwa_hosta_proxy: To jest nazwa hosta Twojego serwera proxy (ma o czym należy wspomnieć, jeśli korzystasz z serwera proxy i chcesz zaktualizować LimeSurvey za pomocą ComfortUpdate).
- proxy_host_port: To jest port twojego serwera proxy (musi być wspomniane, jeśli korzystasz z serwera proxy i chcesz zaktualizować LimeSurvey za pomocą ComfortUpdate).
Bezpieczeństwo
- maxLoginAttempt: Jest to liczba prób, jakie musi podjąć użytkownik, aby wprowadzić prawidłowe hasło, zanim jego adres IP zostanie zablokowany/zablokowany. Wartość domyślna to 3 i można ją zmodyfikować w pliku config.php.
- timeOutTime: Jeśli użytkownik wprowadzi nieprawidłowe hasło dla<maxLoginAttempt> , ona lub on zostaje zablokowany<timeOutTime> sekundy. Wartość domyślna to 10 minut i można ją zmodyfikować w config.php.
- maxLoginAttemptParticipants: Jest to liczba prób, jakie uczestnik musi wprowadzić ważny token, zanim otrzyma swój Adres IP zablokowany/zablokowany. Wartość domyślna to 3 i można ją zmodyfikować w pliku config.php.
- timeOutParticipants: Jeżeli uczestnik wprowadzi błędnie token dla<maxLoginAttemptParticipants> , ona lub on zostaje zablokowany<timeOutParticipants> sekundy. Wartość domyślna to 10 minut i można ją zmodyfikować w config.php.
- surveyPreview_require_Auth: Domyślnie ustawione na true. Jeżeli ustawisz tę opcję na 'false', każda osoba będzie mogła przetestować Twoją ankietę korzystając z adresu URL ankiety, bez konieczności logowania się do panelu administracyjnego i bez konieczności wcześniejszej aktywacji ankiety. To ustawienie jest wartością domyślną i można je zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php.
- usercontrolSameGroupPolicy: Domyślnie ustawione na true. Domyślnie użytkownicy niebędący administratorami zdefiniowani w interfejsie zarządzania LimeSurvey będą mogli zobaczyć tylko użytkowników, których utworzyli lub użytkowników należących do co najmniej jednej tej samej grupy. Wartość domyślną można zmienić w oknie dialogowym ustawienia globalne lub edytować w config.php.
- filterxsshtml: To ustawienie umożliwia filtrowanie podejrzanych znaczników HTML znajdujących się w ankietach, grupy oraz pytania i odpowiedzi w interfejsie administracyjnym. Pozostaw tę opcję na „false” tylko wtedy, gdy całkowicie ufasz użytkownikom, których utworzyłeś do administrowania LimeSurvey i jeśli chcesz pozwolić tym użytkownikom na korzystanie z JavaScript, filmów Flash itp.. Superadministratorzy nigdy nie filtrują kodu HTML . Wartość domyślną można zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php.
- demoMode: Jeśli ta opcja jest ustawiona na 'true' w config.php , wtedy LimeSurvey przejdzie w tryb demonstracyjny. Tryb demo zmienia następujące rzeczy:
- Wyłącza dane administratora i zmianę hasła;
- Wyłącza przesyłanie plików w edytorze szablonów;
- Wyłącza wysyłanie zaproszeń i przypomnień e-mailem;!N !** Wyłącza tworzenie zrzutu bazy danych;
- Wyłącza możliwość modyfikacji następujących ustawień globalnych: nazwa witryny, domyślny język, domyślny tryb edytora HTML, filtr XSS.
- 'forcedsuperadmin:' Tablica identyfikatorów użytkowników ze wszystkimi uprawnieniami we wszystkich LimeSurvey. Te ustawienia można zaktualizować tylko w pliku config.php. Prawa tego użytkownika nie mogą być edytowane w globalne uprawnienia użytkownika nawet przez innego wymuszonego superadministratora. Domyślnie: użytkownikiem z tymi uprawnieniami jest użytkownik o identyfikatorze: 1. Pierwszy użytkownik utworzony tuż po instalacji.
- force_ssl: zmusza LimeSurvey do działania przez HTTPS lub blokowania HTTPS. Zobacz Force HTTPS w graficznym interfejsie administratora ustawień globalnych.
- ssl_emergency_override:' To ustawienie wymusza wyłączenie protokołu SSL. Jeśli w ustawieniach globalnych włączyłeś HTTPS/SSL, ale Twój serwer nie ma włączonego protokołu HTTPS, jedynym sposobem na jego wyłączenie jest bezpośrednia zmiana wartości w bazie danych. Umożliwia to wymuszenie wyłączenia protokołu HTTPS podczas zmiany ustawień globalnych funkcji Force Secure. Wartość ta powinna zawsze być fałszywa, z wyjątkiem sytuacji awaryjnych, w których zmienia się ją na true do czasu rozwiązania problemu. To ustawienie można ustawić tylko poprzez plik config.php.
- ssl_disable_alert: Wyłącz alert dla superadministratora o niewymuszonym SSL, jeśli naprawdę nie możesz lub nie chcesz wymusić SSL. To ustawienie można ustawić tylko za pomocą pliku config.php.
Resources
- sessionlifetime: Określa czas w sekundach, po upływie którego sesja ankiety wygasa. Ma zastosowanie tylko w przypadku korzystania z sesji bazy danych. Jeśli korzystasz z sesji bazy danych, zmień parametr w config.php lub zastąp wartość domyślną z okna dialogowego ustawienia globalne.
- memorylimit: Określa ilość pamięci LimeSurvey można uzyskać dostęp. Zalecane minimum (MB = megabajt) to „128 MB”. Jeśli otrzymujesz błędy związane z przekroczeniem limitu czasu lub masz problemy z generowaniem statystyk lub eksportowaniem plików, zwiększ ten limit do „256 MB” lub więcej. Jeśli Twój serwer WWW ustawił wyższy limit w config.php, to ustawienie to zostanie zignorowane.
Aby zwiększyć limit pamięci do 128M, możesz także spróbować dodać:
- memory_limit = 128M do głównego pliku php.ini serwera (zalecane, jeśli masz dostęp)
- memory_limit = 128M do pliku php.ini w katalog główny LimeSurvey
- php_value memory_limit 128M w pliku .htaccess w katalogu głównym LimeSurvey
- max_execution_time: Ustawia liczbę sekund, przez jaką skrypt może działać. Jeśli zostanie osiągnięty, skrypt zwróci błąd krytyczny. Aby móc eksportować duże dane i statystyki z ankiet, LimeSurvey próbuje ustawić go domyślnie na 1200 sekund. W razie potrzeby możesz ustawić większy lub krótszy czas. Dostępne tylko poprzez plik konfiguracyjny php.
Wygląd
- dropdownthreshold (Obsolete since 2.50): Gdy dla
$dropdowns
wybrane jest "R", administrator może ustawić maksymalną liczbę opcji, które będą wyświetlane jako przyciski opcji , przed konwersją z powrotem do listy rozwijanej. Jeśli pytanie ma dużą liczbę opcji, wyświetlenie ich wszystkich na raz w postaci przycisków opcji może wyglądać nieporęcznie i może stać się sprzeczne z intuicją dla użytkowników. Ustawienie tej wartości na maksymalnie, powiedzmy 25 (co jest wartością domyślną) oznacza, że administratorom łatwiej będzie używać dużych list dla uczestnika ankiety. - powtarzanie nagłówków: W przypadku pytania typu Array, często będziesz mieć wiele pytań podrzędnych, które - wyświetlane na ekranie - zajmują więcej niż jedną stronę. To ustawienie pozwala Ci zdecydować, ile pytań podrzędnych powinno zostać wyświetlonych przed powtórzeniem informacji z nagłówka pytania. Dobre ustawienie to około 15. Jeśli nie chcesz, aby nagłówki w ogóle się powtarzały, ustaw tę wartość na 0. To ustawienie zostanie zastąpione w oknie dialogowym ustawienia globalne (New in 2.05 ) .
- minrepeatheadings: Minimalna liczba pozostałych pytań podrzędnych wymaganych przed powtórzeniem nagłówków w pytaniach tablicowych. Wartość domyślna to 3 i można ją edytować w config.php.
- defaulttemplate: To ustawienie określa domyślny motyw używany dla „publicznej listy” ankiet. To ustawienie można zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php.
- defaulthtmleditormode: Ustawia domyślny tryb zintegrowanego edytora HTML. To ustawienie można zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php. Prawidłowe ustawienia to:
- 'inline' - Inline zastępowanie pól przez edytor HTML. Powolny, ale wygodny i przyjazny dla użytkownika;
- „popup” — w razie potrzeby dodaje ikonę uruchamiającą edytor HTML w wyskakującym okienku. Szybciej, ale kod HTML jest wyświetlany w formie;
- 'none' - Brak edytora HTML;
- column_style: Określa sposób renderowania kolumn z odpowiedziami na ankietę przy użyciu kolumny_wyświetlające. Można go edytować w pliku config.php. Poprawne ustawienia to:
- 'css' - używa jednej z różnych metod CSS do tworzenia kolumn (szczegóły znajdziesz w arkuszu stylów szablonu);
- 'ul' - kolumny są renderowane jako wielokrotne pływające listy nieuporządkowane (domyślnie);
- 'table' - wykorzystuje konwencjonalny układ oparty na tabelach;
- NULL - wyłącza użycie kolumn.
Język i czas
- defaultlang: Należy ustawić domyślny język używany w skryptach administracyjnych, a także domyślne ustawienie języka na liście ankiet publicznych. To ustawienie można zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php.
- timejust: Jeśli Twój serwer WWW znajduje się w innej strefie czasowej niż lokalizacja, w której na których będą opierać się Twoje ankiety, wpisz tutaj różnicę pomiędzy Twoim serwerem a Twoją domową strefą czasową. Na przykład mieszkam w Australii, ale korzystam z serwera internetowego w USA. Serwer internetowy jest 14 godzin za moją lokalną strefą czasową. Zatem moje ustawienie to „14”. Innymi słowy, dodaje 14 godzin do czasu serwerów internetowych. To ustawienie jest szczególnie ważne, gdy ankiety oznaczają czas odpowiedzi. To ustawienie można zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php.
Zachowanie ankiety
- deletenonvalues: Używaj tej funkcji ostrożnie. Domyślnie (wartość 1) nieistotne pytania mają w bazie danych wartość NULL. Dzięki temu dane w bazie danych będą wewnętrznie spójne. Istnieją jednak rzadkie przypadki, w których warto zachować nieistotne wartości i w takim przypadku można ustawić wartość na 0. Na przykład pytasz mężczyznę o płeć, a on przypadkowo mówi „kobieta”, a następnie odpowiada jakiejś kobiecie -pytania szczegółowe (pytania uwarunkowane byciem kobietą, a więc istotne tylko dla kobiet). Następnie zdaje sobie sprawę ze swojego błędu, cofa się, ustawia płeć na „męską” i kontynuuje badanie. Pytania dotyczące kobiet są teraz nieistotne. Jeśli
$deletenonvalues==1
, te nieistotne wartości zostaną usunięte (zero) w bazie danych. Jeśli$deletenonvalues==0
, jego błędne odpowiedzi nie zostaną usunięte, więc nadal będą obecne w bazie danych podczas jej analizy. - shownoanswer: Gdy pytanie typu przycisk radiowy/wybierz, które zawiera edytowalne odpowiedzi (np. pytania typu lista, tablica) nie jest obowiązkowe, a parametr „shownoanswer” jest ustawiony na 1, pojawia się dodatkowe „Brak odpowiedzi” wpis zostanie wyświetlony, aby uczestnicy mogli zdecydować się na nieodpowiadanie na pytanie. Niektórzy wolą, żeby ta opcja nie była dostępna. To ustawienie można zastąpić w oknie dialogowym ustawienia globalne lub edytować w config.php. Poprawne wartości to:
- '0': Nie;
- '1': Tak;
- '2': Administrator ankiety może wybrać.
- printanswershonorconditions: To ustawienie określa, czy funkcja drukowania odpowiedzi będzie wyświetlać wpisy z pytań ukrytych w wyniku rozgałęzienia warunków (Domyślnie: 1 = ukryj odpowiedzi w przypadku pytań ukrytych w warunkach).
- ' hide_groupdescr_allinone:' To ustawienie ma zastosowanie w przypadku ankiet typu „wszystko w jednym” wykorzystujących warunki . Gdy ta opcja jest ustawiona na „true”, nazwa i opis grupy są ukryte, jeśli ukryte są wszystkie pytania w grupie. Wartość domyślna to „prawda” — ukrywa nazwę i opis grupy, gdy wszystkie pytania w grupie są ukryte za pomocą warunków. Można go edytować w config.php.
- showpopups: Pokaż wyskakujące komunikaty, jeśli nie udzielono prawidłowej odpowiedzi na pytania obowiązkowe lub warunkowe:
- '2' = zdefiniowane przez opcję Motywu (domyślnie )
- '1'= pokaż wyskakujący komunikat;
- '0'= zamiast tego pokaż komunikat na stronie;
- '-1'= w ogóle nie pokazuj komunikatu (w tym przypadku , użytkownicy nadal będą widzieć wskazówki dotyczące konkretnych pytań, wskazujące, na które pytania należy odpowiedzieć).
Zachowanie typu pytania numerycznego
- bFixNumAuto: Pola numeryczne mogą być automatycznie filtrowane w celu usunięcia wszystkich wartości innych niż numeryczne. Domyślnie jest to włączone, można je wyłączyć globalnie. Te ustawienia są powiązane z opcją „Automatycznie napraw wartość liczbową” w podstawowych opcjach motywu. Było włączone dla „Tak”, wyłączone dla „Tylko dla wyrażenia” i „Nie”.
- bNumRealValue: Pola numeryczne używane w menedżerze wyrażeń mogą być naprawione lub nie. Domyślnie jest to naprawione. Jeśli NUMERIC jest pytaniem numerycznym: wyłącz lub 0: wyślij {NUMERIC} ze złymi znakami „” , włącz lub 1 : {NUMERIC} wyślij wszystkie wprowadzone znaki. Te ustawienia są powiązane z opcją „Automatycznie napraw wartość liczbową” w podstawowych opcjach motywu. Było włączone dla „Tak” i „Tylko dla wyrażenia” i wyłączone dla „Nie”.
Rozwój i debugowanie
- debug: Dzięki temu ustawieniu ustawiasz raportowanie błędów PHP na E_ALL. Oznacza to, że wyświetlana jest każda drobna uwaga, ostrzeżenie lub błąd związany ze skryptem. To ustawienie powinno zostać przełączone na „1” tylko wtedy, gdy z jakiegokolwiek powodu próbujesz debugować aplikację. Jeśli jesteś programistą, przełącz go na „2”. Nie przełączaj go na „1” lub „2” w środowisku produkcyjnym, ponieważ może to spowodować ujawnienie ścieżki. Wartość domyślna to „0” i można ją edytować w config.php.
- debugsql: Aktywuj to ustawienie, jeśli chcesz wyświetlać na dole każdej strony wszystkie zapytania SQL wykonane dla skryptu. Bardzo przydatne przy optymalizacji liczby zapytań. Aby go aktywować, zmień wartość domyślną na '1' w pliku config.php.
- use_asset_manager: Domyślnie: tryb debugowania wyłącza menedżera zasobów, możesz zezwolić na korzystanie z menedżera asse z włączonym trybem debugowania.
W przypadku wystąpienia błędu w aplikacji zdecydowanie zalecamy aktywację ustawienia debugowania, aby uzyskać bardziej szczegółowy błąd, który można przesłać wraz z raportem o błędzie:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Jeśli pracujesz nad wtyczką i potrzebujesz szybkiego sposobu na zrzucenie zmiennych na ekran: możesz użyć funkcji traceVar. Jeśli ustawione jest debugowanie: ta funkcja używa CWebLogRoute do wyświetlenia na stronie HTML. Użycie traceVar($MyVariable)
Ustawienia poczty e-mail
Wszystkie poniższe ustawienia można zastąpić w oknie dialogowym ustawienia globalne.
- 'emailmethod: Określa sposób wysyłania wiadomości e-mail. Dostępne są następujące opcje:
- 'mail:' używa wewnętrznego programu pocztowego PHP;
- 'sendmail:' używa programu pocztowego sendmail;
- 'smtp:' używa przekazywania SMTP. Użyj tego ustawienia, jeśli używasz LimeSurvey na hoście, który nie jest twoim serwerem pocztowym.
- 'emailsmtphost: Jeśli używasz 'smtp' jako
$emailmethod
, musisz tutaj umieścić swój serwer SMTP. Jeśli używasz poczty Google, konieczne może być dodanie numeru portu, np. $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Jeśli Twój serwer SMTP wymaga uwierzytelnienia, ustaw to na nazwa użytkownika, w przeciwnym razie musi być pusta.
- emailsmtppassword: Jeśli Twój serwer SMTP wymaga uwierzytelnienia, ustaw to na swoje hasło, w przeciwnym razie musi być puste.
- emailsmtpssl: Ustaw to na „ssl” lub „tls”, aby używać protokołu SSL/TLS dla połączenia SMTP.
- maxemails: Podczas wysyłania zaproszeń lub przypomnień do uczestników ankiety to ustawienie służy do określenia liczby e-maili, które można wysłać jedna wiązka. Różne serwery internetowe mają różną pojemność poczty e-mail i jeśli wysyłanie dużej liczby wiadomości e-mail przez skrypt będzie trwało zbyt długo, może nastąpić przekroczenie limitu czasu działania skryptu i spowodować błędy. Większość serwerów internetowych może wysłać jednocześnie 100 e-maili w domyślnym 30-sekundowym limicie czasu dla skryptu PHP. Jeśli podczas wysyłania dużej liczby e-maili wystąpią błędy związane z przekroczeniem limitu czasu skryptu, zmniejsz tę liczbę w tym ustawieniu. Kliknięcie przycisku „wyślij zaproszenie e-mailem” na pasku narzędzi kontroli tokenów (a nie przycisku znajdującego się po prawej stronie każdego tokena) powoduje wysłanie<maxemails> liczbę zaproszeń, następnie wyświetla listę adresów odbiorców i ostrzeżenie, że „oczekuje więcej e-maili, niż można wysłać w jednej partii”. Kontynuuj wysyłanie e-maili, klikając poniżej. Pozostało jeszcze ### e-maili do wysłania.” i udostępnia przycisk „Kontynuuj”, umożliwiający kontynuowanie następnej partii. Oznacza to, że użytkownik określa, kiedy wysłać następną partię po wysłaniu każdej partii pocztą elektroniczną. Nie ma potrzeby czekać, gdy ten ekran jest aktywny. Administrator może się wylogować i wrócić później, aby wysłać kolejną partię zaproszeń.
Statystyki i przeglądanie odpowiedzi
- filterout_incomplete_answers:' Kontroluj domyślne zachowanie filtrowania niekompletnych odpowiedzi podczas przeglądania lub analizowania odpowiedzi. Aby zapoznać się z dyskusją na temat niekompletnych odpowiedzi, zobacz nasze przeglądanie wiki wyników ankiety. Ponieważ te rekordy mogą uszkodzić statystyki, dostępna jest opcja włączenia lub wyłączenia tego filtra w kilku formularzach GUI. Parametr można edytować w pliku config.php. Dostępne są następujące opcje:
- 'pokaż': umożliwia wizualizację zarówno odpowiedzi pełnych, jak i niekompletnych;
- 'filter': pokazuje tylko odpowiedzi pełne;
- 'niekompletne': pokaż tylko niekompletne odpowiedzi.
- strip_query_from_referer_url': To ustawienie określa, czy adres URL strony odsyłającej zapisuje parametr, czy nie. Wartość domyślna to „false” (w tym przypadku adres URL strony odsyłającej zapisuje wszystkie parametry). Alternatywnie tę wartość można ustawić na „true”, a część parametryczna adresu URL strony odsyłającej zostanie usunięta.
- showaggregateddata: po włączeniu tej opcji wyświetlane są dodatkowe wartości statystyczne, takie jak średnia arytmetyczna i odchylenie standardowe pokazane. Ponadto dane są agregowane, aby uzyskać szybszy przegląd. Na przykład wyniki w skali 1+2 i 4+5 są dodawane, aby uzyskać ogólny ranking, taki jak „dobry” (1/2), „przeciętny” (3) i „zły” (4/5). Dotyczy to tylko pytań typu „A” (5-punktowa tablica) i „5” (5-punktowy wybór).
- Ustawienia eksportu do pliku PDF: Ta funkcja aktywuje eksport do pliku PDF w celu wydrukowania ankiet i wydrukowania odpowiedzi. Funkcja eksportu do formatu PDF jest całkowicie eksperymentalna i wyniki są dalekie od doskonałości. Niestety, w tej chwili nie możemy udzielić żadnego wsparcia - jeśli chcesz pomóc w rozwiązaniu problemu, skontaktuj się z nami.
- 'usepdfexport': Ustaw '0', aby wyłączyć i '1', aby włączyć;! N!**'pdfdefaultfont': reprezentuje domyślną czcionkę, która będzie używana przez funkcję eksportu do pliku PDF. Wartość domyślna to „automatycznie”. Aby to zmienić, musisz ustawić go na jedną z podstawowych czcionek PDF.
- 'alternatepdffontfile': Jest to tablica zawierająca klucze językowe i odpowiadającą im czcionkę. Domyślną czcionkę dla każdego języka można zastąpić w pliku config.php;
- 'pdffontsize': pokazuje rozmiar czcionki dla normalnego tekstu; Jeśli chodzi o tytuł ankiety, to tak<pdffontsize> +4, natomiast dla tytułu grupy jest<pdffontsize> +2. Można go edytować w pliku config.php lub w oknie dialogowym [Ustawienia globalne|ustawienia globalne]];
- 'notsupportlanguages': zawiera listę języków, dla których nie znaleziono czcionki PDF. Lista obejmuje język amharski („am”), syngaleski („si”) i tajski („th”). Można ją znaleźć w pliku config-defaults.php;
- 'pdforientation': Set ' L” dla formatu poziomego lub „P” dla formatu pionowego. Można go edytować z poziomu pliku config.php.
- Ustawienia wykresu
- 'chartfontfile': Ustawia nazwę pliku czcionki używanej do tworzenia wykresów statystycznych. Plik musi znajdować się w katalogu czcionek, znajdującym się w folderze głównym LimeSurvey. Można go edytować w pliku config.php;
- 'alternatechartfontfile': Jest to tablica z kluczami języków i odpowiadającą im czcionką. Można je edytować w pliku config.php.
- showsgqacode: To ustawienie jest używane w funkcji drukowania ankiet i domyślnie ma wartość „false”. Jeśli ustawisz showgqacode = 'true';, zostaną pokazane identyfikatory każdego pytania i odpowiedzi, jeśli ma to zastosowanie. Identyfikatory te odpowiadają nagłówkom kolumny w tabeli Lime_survey_12345, która zawiera dane odpowiedzi dla określonej ankiety. Identyfikatory te mogą być używane w książce kodów do ręcznych zapytań do bazy danych.
Ustawienia LDAP
Ponieważ jest to obszerny temat, przenieśliśmy Ustawienia LDAP do inna strona.
Uwierzytelnienie
Począwszy od LimeSurvey 2.05, uwierzytelnianie będzie obsługiwane przez wtyczki. W rezultacie poniższe informacje mogą być nieaktualne. Zobacz wiki wtyczek, aby uzyskać najbardziej aktualne informacje.
Delegowanie uwierzytelnienia do serwera WWW
Administratorzy systemów mogą chcieć, aby ich „administratorzy ankiet” byli uwierzytelniani w centralnym systemie uwierzytelniania (Active Directory, openLdap, Radius, ...) zamiast korzystać z wewnętrznej bazy danych LimeSurvey. Można to łatwo zrobić, konfigurując oprogramowanie serwera WWW tak, aby korzystało z tego zewnętrznego systemu uwierzytelniania, a następnie poprosić LimeSurvey o zaufanie tożsamości użytkownika zgłaszanej przez serwer WWW. Aby włączyć tę funkcję, musisz:
- ustawić auth_webserver na 'true' w config.php;
- włączyć uwierzytelnianie po stronie serwera WWW.
Należy pamiętać, że:
- LimeSurvey ominie wówczas swój własny proces uwierzytelniania (używając nazwy logowania zgłoszonej przez serwer WWW bez pytania o hasło);
- może to zastąpić jedynie system uwierzytelniania GUI LimeSurvey, „nie system zaproszeń do ankiety” (interfejs uczestnika).
Delegowanie uwierzytelnienia bez automatycznego importu użytkowników
Należy pamiętać, że delegowanie uwierzytelnienia domyślnie nie omija systemu autoryzacji LimeSurvey - co oznacza, że nawet jeśli nie musisz zarządzać hasłami w LimeSurvey, nadal musisz zdefiniować użytkowników w bazie danych LimeSurvey i przypisać im odpowiedni zestaw uprawnienia w celu umożliwienia im dostępu do panelu administracyjnego.
Użytkownik uzyskuje wówczas dostęp do LimeSurvey wtedy i tylko wtedy, gdy:
- został uwierzytelniony na serwerze WWW;
- jego nazwa logowania jest zdefiniowana jako użytkownik w bazie użytkowników LimeSurvey (użytkownik otrzymuje wówczas uprawnienia użytkownika zdefiniowane w bazie użytkowników LimeSurvey).
Delegowanie uwierzytelnienia z automatycznym importem użytkowników
Podczas zarządzania ogromną bazą danych użytkowników czasami łatwiej jest automatycznie zaimportować użytkowników do bazy danych LimeSurvey:
- auth_webserver_autocreate_user': Jeśli ustawione na „true”, LimeSurvey będzie próbował automatycznie zaimportować użytkowników uwierzytelnionych przez serwer WWW, ale nie znajduje się jeszcze w bazie danych jego użytkowników.
- auth_webserver_autocreate_profile: Tablica opisująca domyślny profil, który zostanie przypisany użytkownikowi, włączając pełną (fałszywą) nazwę, adres e-mail i uprawnienia.
Jeśli chcesz dostosować profil użytkownika tak, aby pasował do zalogowanego użytkownika, będziesz musiał opracować prostą funkcję o nazwie „hook_get_autouserprofile” - za pomocą tej funkcji możesz pobrać z centralnej bazy danych kont użytkowników (np. przykład z katalogu LDAP) prawdziwe imię i nazwisko, imiona i adres e-mail konkretnego użytkownika. Możesz nawet dostosować jego uprawnienia w systemie w oparciu o grupy przydzielone mu w zewnętrznej bazie danych.
Funkcja hook_get_auth_webserver_profile przyjmuje jako jedyny argument nazwę logowania użytkownika i może zwrócić:
- Fałsz lub pustą tablicę - w tym przypadku użytkownik nie ma dostępu do LimeSurvey;
- tablica zawierająca wszystkie typowe wpisy profilu użytkownika zgodnie z opisem w pliku
$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();
Mapowanie nazwy użytkownika
W przypadku, gdy niektórzy użytkownicy mają zewnętrzną nazwę użytkownika, która różni się od nazwy użytkownika LimeSurvey, przydatne może okazać się użycie mapowania nazwy użytkownika. Odbywa się to w LimeSurvey za pomocą parametru „auth_webserver_user_map”. Załóżmy na przykład, że w zewnętrznej bazie danych uwierzytelniających nie zdefiniowano nazwy użytkownika „admin”. Następnie, aby zalogować się do LimeSurvey jako administrator, musisz zmapować swoją zewnętrzną nazwę użytkownika (nazwijmy ją „moja nazwa”) na nazwę logowania administratora w LimeSurvey. Odpowiednia konfiguracja to:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Po pomyślnym uwierzytelnieniu przy użyciu loginu „myname” i hasła serwera WWW, będziesz bezpośrednio upoważniony do korzystania z LimeSurvey jako użytkownik „admin”.
Ma to poważne konsekwencje dla bezpieczeństwa, więc używaj go ostrożnie. Chroń także plik config.php przed dostępem do zapisu przez serwer WWW.
Użyj haseł jednorazowych
Użytkownik może otworzyć stronę logowania LimeSurvey pod adresem default.com/limesurvey/admin i wpisać nazwę użytkownika oraz hasło jednorazowe, które zostało wcześniej zapisane w tabeli użytkowników (kolumna one_time_pw) przez zewnętrzną aplikację.
To ustawienie musi być włączone w pliku config.php, aby umożliwić użycie haseł jednorazowych (domyślnie = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Więcej informacji znajdziesz w sekcja "Zarządzaj użytkownikami".
Ustawienia szyfrowania (New in 4.0.0 )
Aby uzyskać szczegółowe informacje na temat tej funkcji, zobacz szyfrowanie danych.
- para kluczy szyfrujących
- kluczpubliczny szyfrowania
- tajny klucz szyfrujący
Zaawansowane ustawienia adresu URL
- publicurl: Należy ustawić lokalizację adresu URL Twoich „publicznych skryptów”. Skrypty publiczne to te, które znajdują się w folderze „limesurvey” (lub w dowolnej nazwie katalogu, w którym przechowywane są wszystkie inne skrypty i katalogi). Te ustawienia są dostępne w config.php i są używane, gdy LimeSurvey potrzebuje bezwzględnego adresu URL (na przykład, gdy wysyłane są e-maile z tokenami).
- homeurl: Należy to ustawić do adresu URL skryptów administracyjnych. Znajdują się one w folderze /limesurvey/admin. Powinno to być ustawione na lokalizację adresu URL WEB - na przykład „http://www.example.com/limesurvey/html/admin”. Nie dodawaj końcowego ukośnika do tego wpisu. Domyślne ustawienie w config.php próbuje automatycznie wykryć nazwę twojego serwera przy użyciu ustawienia zmiennej php -
{$_SERVER [ 'SERVER_NAME']}
<code>{$_SERVER [ 'SERVER_NAME']}</code>{$_SERVER [ 'SERVER_NAME']}
. W większości przypadków możesz to zostawić i po prostu zmodyfikować pozostałą część tego ciągu, aby pasowała do nazwy katalogu, w którym umieściłeś skrypty LimeSurvey. - tempurl: To powinno być ustaw na lokalizację URL twojego katalogu "/limesurvey/tmp" - lub na katalog, w którym chcesz używać LimeSurvey do udostępniania plików tymczasowych.
- uploadurl: Należy ustawić lokalizację URL Twojego katalogu "/limesurvey/upload" - lub katalog, w którym chcesz, aby LimeSurvey wykorzystywał przesłane pliki. Dzięki temu możesz ustawić przesłane pliki w innej domenie URL.
Zaawansowane ustawienia ścieżki
- homedir: Powinno to być ustawione na lokalizację dysku fizycznego, na którym znajdują się skrypty administracyjne - na przykład „/home/usr/htdocs/limesurvey/admin”. Nie dodawaj końcowego ukośnika do tego wpisu. Domyślne ustawienie w config.php próbuje wykryć domyślną ścieżkę główną wszystkich dokumentów przy użyciu ustawienia zmiennej php
{$_SERVER [ 'DOCUMENT_ROOT']}
<code>{$_SERVER [ 'DOCUMENT_ROOT']}</code>{$_SERVER [ 'DOCUMENT_ROOT']}
. W większości przypadków możesz to zostawić i po prostu zmodyfikować pozostałą część tego ciągu, aby pasowała do nazwy katalogu, w którym umieściłeś skrypty LimeSurvey. - publicdir: Powinno to być ustawione na lokalizację dysku fizycznego twoje 'publiczne skrypty'.
- tempdir: Należy ustawić lokalizację na dysku fizycznym katalogu /limesurvey/tmp, aby skrypt mógł czytać i zapisywać pliki.
- 'uploaddir:' Należy ustawić lokalizację na dysku fizycznym katalogu /limesurvey/upload, aby skrypt mógł odczytywać i zapisywać pliki.
- sCKEditorURL:' Adres URL skryptu fckeditor.
- fckeditexpandtoolbar: określa, czy pasek narzędzi fckeditor powinien być domyślnie otwierany.
- pdfexportdir: To jest katalog z rozszerzeniem tcpdf.phptcpdf.php.
- pdffonts: To jest katalog czcionek TCPDF.
Inne ustawienia zaawansowane
Prześlij pliki
- allowedthemeuploads: Dozwolone typy plików, które można przesyłać w edytorze motywów
- allowedresourcesuploads: Dozwolone typy plików, które można przesyłać w sekcjach zasobów oraz za pomocą edytora HTML
- allowedfileuploads (New in 4.0.0 ) Globalne ograniczenie typu przesyłanego pliku
- magic_database: (New in 3.17.17 ) Zezwalaj na użycie innego Baza danych MIME dla finfo_open. Można zaktualizować tylko w pliku config.php. Przykład:
/usr/share/misc/magic.mgc
dla systemu Linux opartego na Redhacie. - magic_file: (New in 3.17.17 ) Zezwalaj na użycie innego pliku w celu uzyskania tablicy rozszerzeń według typu MIME niż dołączony jeden. Musi to być plik PHP zwracający tablicę. Można zaktualizować tylko w pliku config.php.
Aktualizacja
- aktualizowalne: To ustawienie znajduje się w wersji.php. Może być prawdą lub fałszem. Jeśli ustawisz wartość true : kiedy loguje się użytkownik superadministrator: LimeSurvey sprawdza, czy jest dostępna aktualizacja i wyświetla ostrzeżenie. Jeśli ustawione na false: nie jest sprawdzane i nie można używać ComfortUpdate.