Actions

Impostazioni opzionali

From LimeSurvey Manual

Revision as of 11:47, 7 August 2023 by Maren.fritz (talk | contribs) (Created page with "<syntaxhighlight lang="php" enclose="pre"> 'config'=>array( 'debug'=>2, 'debugsql'=>0, ) </syntaxhighlight>")

La sezione seguente è indirizzata a coloro che desiderano modificare quelle impostazioni di configurazione che non possono essere modificate con l'aiuto della GUI (Graphical User Interface) dell'installazione di LimeSurvey. Tieni presente che tutte le modifiche dalla directory principale di LimeSurvey vengono eseguite a tuo rischio. Tuttavia, nel caso in cui riscontri problemi/necessiti di ulteriore assistenza, unisciti ai forum di discussione o all'IRC channel per l'aiuto della community di LimeSurvey.

Come modificare le impostazioni opzionali

Per modificare le impostazioni di configurazione dell'installazione, è necessario modificare le impostazioni opzionali. Possono essere trovati in /application/config/config-defaults.php, che si trova nella directory principale di LimeSurvey. Le impostazioni predefinite dell'installazione standard si trovano in config-defaults.php. Alcuni di essi possono essere sovrascritti utilizzando la finestra di dialogo impostazioni globali, mentre gli altri dovranno essere modificati manualmente.

Template:Avviso

Quando si verifica un aggiornamento, vengono modificate solo le impostazioni di config-defaults.php. Pertanto, la modifica del file config.php salverà le impostazioni personalizzate.

Per aggiornare/aggiungere le impostazioni di LimeSurvey in /application/config/config.php, devi aggiornare l'array di configurazione:

 
 'config'=>array(
 'debug'=>0,
 'debugsql'=>0,
 'LimeSurveySetting'=>'Nuovo valore', // Aggiorna la configurazione predefinita di LimeSurvey qui
 )

Impostazioni Yii

LimeSurvey utilizza il framework Yii, che ha i propri parametri di configurazione nei file application/config/internal.php e application/config/config.php. Puoi anche accedere ad alcune impostazioni di configurazione specifiche di LimeSurvey tramite la configurazione di Yii.

Poiché l'array config.php è unito all'intera configurazione, puoi sostituire qualsiasi parametro Yii nel file config.php.

Le impostazioni specifiche di Yii sono impostate nell'array dei componenti:

 
 'componenti' => array(
 'db' => array(
 ....
 ),
 'Impostazioni specifiche'=>array(
 ....
 ),
 ),

Template:Nota

Impostazioni Database

Le impostazioni del database sono scritte dall'installer nel file config.php quanto installi LimeSurvey per la prima volta. Se necessario, puoi aggiornare questa parte del file. Ricorda però che lo fai a tuo rischio. Vedi anche [Yii documentation], e per piacere ricorda che LimeSurvey supporta solo le seguenti tipologie di database: mysql, pgsql, dblib, mssql e sqlsrv.

Impostazioni sessione

Puoi impostare alcuni parametri di sessione in config.php (controlla i due esempi di seguito). Puoi decommentare/aggiungere la parte necessaria in config.php. Vedere la Documentazione Yii per altre impostazioni.

Template:Avviso

Usa sessioni basate su tabella

LimeSurvey può utilizzare sessioni basate su tabelle, trovi una parte commentata nel file generato config.php predefinito. Per utilizzare una sessione basata su tabella, rimuovere // prima di ogni riga.

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

Template:Avviso

Aggiornamento di altre sessioni

Se utilizzi SSL ("https") per l'installazione di LimeSurvey, l'aggiunta delle seguenti righe al file config.php aumenterà la sicurezza della sessione:

 // Imposta il cookie tramite SSL
 'session' => array (
 'cookieParams' => array(
 'secure' => true, // utilizza SSL per i cookie
 'httponly' => true // I cookie non possono essere utilizzati da altri protocolli - sperimentale
 ),
 ),

Se vuoi correggere il dominio per un cookie, usa la seguente sintassi in config.php:

 // Imposta il dominio per cookie
 'session' => array (
 'cookieParams' => array(
 'domain' => '.example.org',
 ),
 ),

Se hai più installazioni sullo stesso server, può essere più facile e veloce impostare un nome di sessione diverso per ogni istanza di LimeSurvey. Questo può essere necessario per IE11 in alcune condizioni (vedi issue 12083)

 // Imposta il nome della sessione
 'session' => array (
 'sessionName' => "LimeSurveyN1",
 ),

Impostazioni della richiesta

Le impostazioni della richiesta sono importanti, ma le impostazioni predefinite sono già ottimizzate per l'utilizzo di LimeSurvey. Per saperne di più su di loro, vedere la Documentazione Yii.

Ad esempio, la configurazione delle impostazioni della richiesta di LimeSurvey può essere modificata nel modo seguente (a proprio rischio):

 // Disabilita la protezione CSRF
 'request' => array(
 'enableCsrfValidation'=>false, 
 ),
 // Applica una determinata base di URL 
 'request' => array(
 'hostInfo' => 'http://www.example.org/' 
 ),
 // Imposta il nome di dominio del cookie e il percorso per la protezione CSRF, il percorso viene utilizzato se hai un'istanza diversa sullo stesso dominio
 'request' => array(
 'csrfCookie' => array( 
 'domain' => '.example.com',
 'path' => '/limesurvey/',
 ) 
 ),

Se devi aggiornare solo l'url per le email token, imposta il tuo publicurl nel tuo file config.php.


Consenti l'utilizzo della sessione e la convalida Csrf in iFrame

Dopo aver consentito Iframe embedding è necessario aggiornare alcune parti della configurazione.

Attenzione: questa soluzione non funzionerà in modo affidabile in tutti i browser, anche con tutte le impostazioni impostate.

Una soluzione migliore e affidabile al 100% può essere garantita solo se il sito di framing utilizza lo stesso dominio principale.

Queste impostazioni sono state testate con Firefox 81.0.2 e Chromium 85.0.4183.121.

Consenti avvio sessione in iframe

La sessione deve essere sicura (https valido), httponly e samesite su None. Tutte le impostazioni devono essere tutte minuscole.

'session' => array (
 'sessionName'=>'LS-VBXZZORFJZCAKGYI',
 // Rimuovi il commento dalle seguenti righe se hai bisogno di sessioni basate su tabella.
 // Nota: le sessioni basate su tabella sono attualmente non supportato sul server MSSQL.
 // 'class' => 'application.core.web.DbHttpSession',
 // 'connectionID' => 'db',
 // 'sessionTableName' = > '{{sessions}}',
 'cookieParams' => array(
 'secure' => true,
 'httponly' => true,
 'samesite' => 'Nessuno' ,
 ),
 ),

Consenti cookie csrf in iframe

Uguale alla sessione: deve essere sicuro e samesite impostato su Nessuno. L'intero array deve essere aggiunto allo stesso livello della sessione.

'request' => array(
 'enableCsrfValidation'=>true,
 'csrfCookie' => array(
 'sameSite' => 'Nessuno',
 'secure' => true,! N! ),
 ),

Impostazioni URL

Template:Avviso

Per modificare le impostazioni URL predefinite, aggiorna urlManager:

 // Usa URL breve
 'urlManager' => array(
 'urlFormat' => 'percorso',
 'showScriptName' => false,
 ),


Puoi anche aggiungere .html dopo l'ID del sondaggio nel modo seguente:

 // Usa URL breve
 'urlManager' => array(
 'urlFormat' => 'percorso',
 'rules' => array (
 '<sid:\d+> ' => array('sondaggio/indice','urlSuffix'=>'.html','matchValue'=>true),
 ),
 'showScriptName' => falso,
 ),

Per ulteriori informazioni, consulta la Yii.

Impostazioni di registrazione

Yii fornisce diverse soluzioni per generare i log. Per saperne di più, consulta l'logging special topic. LimeSurvey utilizza '1' o '2' per impostazione predefinita, che consente a tutti gli utenti web di vedere i log. Puoi creare le tue impostazioni usando direttamente Yii.

Ad esempio, una soluzione rapida per registrare errori e avvisi nei file è:

 
return array(
 'components' => array(
 /* Altro componente qui 'db' per esempio */
 'log' => array(
 'routes' => array(
 'fileError' => array(
 'class' => 'CFileLogRoute',
 'levels' => 'avviso, errore',
 'except' => 'exception.CHttpException .404',
 ),
 ),
 ),
 /* Altro componente qui 'urlManager' ad esempio */
 ),
 /* Parte finale (con ' runtimePath' 'config' per esempio) */
);
 Hint: Il file viene salvato per impostazione predefinita in <code>limesurvey/tmp/runtime/application.log</code> , che si trova nella cartella principale di LimeSurvey.
  Yii utilizza il percorso di runtime. Per impostazione predefinita, i log sono accessibili tramite Web. Possono contenere molte informazioni dal tuo server. È preferibile utilizzare una directory a cui non è possibile accedere tramite il Web. Puoi impostarlo nei percorsi o aggiornando il Runtime path.

.

Percorso di runtime

Il percorso di runtime deve essere una directory leggibile e scrivibile per l'"utente web". Tuttavia, il percorso di runtime contiene file con potenziali informazioni sulla sicurezza che si trovano nell'area di accesso Web pubblica. LimeSurvey raccoglie questi file nella directory temp della directory root di LimeSurvey. Per eliminare l'accesso a dati così importanti, è possibile impostare il percorso di runtime al di fuori dell'accesso Web pubblico modificando le rispettive righe nel file /application/config/config.php:

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

Impostazioni generali

  • sitename: assegna un nome al sito del sondaggio. Questo nome apparirà nella panoramica dell'elenco dei sondaggi e nell'intestazione dell'amministrazione. Il valore predefinito è 'LimeSurvey' e può essere sovrascritto nella finestra di dialogo impostazioni globali o modificato in config.php.
  • siteadminemail: Questo è l'indirizzo email predefinito di l'amministratore del sito e viene utilizzato per i messaggi di sistema e le opzioni di contatto. Questa impostazione è utilizzata solo come valore predefinito e può essere sovrascritta nella finestra di dialogo impostazioni globali.
  • siteadminbounce: Questo è l'indirizzo email a cui verranno inviate le email respinte. Questa impostazione è usata solo come valore predefinito e può essere sovrascritta dalla finestra di dialogo impostazioni globali.
  • siteadminname: Il vero nome dell'amministratore del sito. Questa impostazione è usata solo come valore predefinito e può essere sovrascritta nella finestra di dialogo impostazioni globali.
  • proxy_host_name: Questo è il nome host del tuo server proxy (ha da menzionare se sei dietro un proxy e vuoi aggiornare LimeSurvey usando ComfortUpdate).
  • proxy_host_port: Questa è la porta del tuo server proxy (deve essere menzionato se sei dietro un proxy e vuoi aggiornare LimeSurvey usando ComfortUpdate).

Sicurezza

  • maxLoginAttempt: questo è il numero di tentativi che un utente deve inserire per inserire la password corretta prima che il suo indirizzo IP venga bloccato/bloccato. Il valore predefinito è 3 e può essere modificato da config.php.
  • timeOutTime: Se l'utente inserisce la password in modo errato per<maxLoginAttempt> , lei o lui viene bloccato per<timeOutTime> secondi. Il valore predefinito è 10 minuti e può essere modificato da config.php.
  • maxLoginAttemptParticipants: Questo è il numero di tentativi che un partecipante ha a disposizione per inserire un token valido prima di ottenere il suo Indirizzo IP bloccato/bloccato. Il valore predefinito è 3 e può essere modificato da config.php.
  • timeOutParticipants: Se il partecipante inserisce il token in modo errato per<maxLoginAttemptParticipants> , lei o lui viene bloccato per<timeOutParticipants> secondi. Il valore predefinito è 10 minuti e può essere modificato da config.php.
  • surveyPreview_require_Auth: impostato su true per impostazione predefinita. Se lo imposti su 'false', chiunque può testare il tuo sondaggio utilizzando l'URL del sondaggio, senza accedere al pannello di amministrazione e senza dover prima attivare il sondaggio. Questa impostazione è un valore predefinito e può essere sovrascritto nella finestra di dialogo impostazioni globali o modificato in config.php.
  • usercontrolSameGroupPolicy: impostato su true per impostazione predefinita. Per impostazione predefinita, gli utenti non amministratori definiti nell'interfaccia di gestione di LimeSurvey potranno vedere solo gli utenti che creano o gli utenti che appartengono ad almeno uno stesso gruppo. Il valore predefinito può essere sovrascritto nella finestra di dialogo impostazioni globali o modificato in config.php.
  • filterxsshtml: Questa impostazione abilita il filtraggio dei tag html sospetti che si trovano all'interno dei sondaggi, gruppi e testi di domande e risposte nell'interfaccia di amministrazione. Lascia questo su 'false' solo se ti fidi assolutamente degli utenti che hai creato per l'amministrazione di LimeSurvey e se vuoi permettere a questi utenti di poter usare Javascript, Flash Movies, ecc.. I super admin non hanno mai il loro HTML filtrato . Il valore predefinito può essere sovrascritto nella finestra di dialogo impostazioni globali o modificato in config.php.
  • demoMode: Se questa opzione è impostata su 'true' in config.php , LimeSurvey entrerà in modalità demo. La modalità demo cambia le seguenti cose:
    • Disabilita i dettagli dell'utente amministratore e la modifica della password;
    • Disabilita il caricamento di file sull'editor di modelli;
    • Disabilita l'invio di inviti e promemoria via e-mail;!N !** Disabilita la creazione di un dump del database;
    • Disabilita la possibilità di modificare le seguenti impostazioni globali: nome del sito, lingua predefinita, modalità editor HTML predefinita, filtro XSS.
  • 'forcedsuperadmin:' Array di user id con tutti i diritti su tutti i LimeSurvey. Queste impostazioni possono essere aggiornate solo nel file config.php. I diritti di questo utente non possono essere modificati in autorizzazioni globali per un utente nemmeno da altri super amministratori forzati. Per impostazione predefinita: l'utente con questi diritti è utente con id: 1. Il primo utente creato subito dopo l'installazione.
  • force_ssl: forza LimeSurvey a funzionare tramite HTTPS oa bloccare HTTPS. Vedi Force HTTPS nella GUI di amministrazione delle impostazioni globali.
  • ssl_emergency_override: Questa impostazione forza la disattivazione di SSL. Se hai attivato HTTPS/SSL nelle impostazioni globali ma il tuo server non ha HTTPS abilitato, l'unico modo per disattivarlo è modificare direttamente un valore nel database. Ciò consente di forzare la disattivazione di HTTPS mentre si modificano le impostazioni globali per Force Secure. Questo dovrebbe essere sempre falso tranne in caso di emergenza in cui lo si cambia in vero fino a quando non si risolve il problema. Questa impostazione può essere impostata solo tramite il file config.php.
  • ssl_disable_alert: Disabilita l'avviso per super-admin su SSL non forzato, se davvero non puoi o non vuoi forzare ssl. Questa impostazione può essere impostata solo tramite il file config.php.

Resources

  • sessionlifetime: Definisce il tempo in secondi dopo il quale scade una sessione di sondaggio. Si applica solo se si utilizzano sessioni di database. Se usi sessioni di database, cambia il parametro in config.php o sostituisci il valore predefinito dalla finestra di dialogo impostazioni globali.
  • memorylimit: Questo determina quanta memoria LimeSurvey può accedere. '128 MB' è il minimo consigliato (MB=Megabyte). Se ricevi errori di timeout o hai problemi a generare statistiche o ad esportare file, aumenta questo limite a '256 MB' o superiore. Se il tuo server web ha impostato un limite più alto in config.php, questa impostazione verrà ignorata.
Tieni presente che tali impostazioni locali possono sempre essere annullate dalle modifiche apportate nella finestra di dialogo delle impostazioni globali.

Per aumentare il limite di memoria a 128M puoi anche provare ad aggiungere:

  • memory_limit = 128M al file php.ini principale del tuo server (consigliato, se hai accesso)
  • memory_limit = 128M a un file php.ini in la radice di LimeSurvey
  • php_value memory_limit 128M in un file .htaccess nella radice di LimeSurvey
  • max_execution_time: Imposta il numero di secondi che uno script può eseguire. Se questo viene raggiunto, lo script restituisce un errore irreversibile. Per poter esportare dati e statistiche di grandi sondaggi, LimeSurvey prova a impostarlo per impostazione predefinita su 1200 secondi. È possibile impostare un tempo maggiore o minore se necessario. Accessibile solo tramite il file di configurazione php.

Aspetto

  • dropdownthreshold (Obsolete since 2.50): quando "R" è selezionato per $dropdowns , l'amministratore può impostare un numero massimo di opzioni che verranno visualizzate come pulsanti di opzione , prima di riconvertirlo in un elenco a discesa. Se c'è una domanda che ha un gran numero di opzioni, visualizzarle tutte contemporaneamente come pulsanti di opzione può sembrare ingombrante e può diventare controintuitivo per gli utenti. Impostandolo su un massimo di, diciamo 25 (che è l'impostazione predefinita), significa che gli elenchi di grandi dimensioni possono essere utilizzati più facilmente dagli amministratori per il partecipante al sondaggio.
  • repeatheadings: Con il tipo di domanda Array, spesso avrai molte domande secondarie che, quando visualizzate sullo schermo, occupano più di una pagina. Questa impostazione ti consente di decidere quante domande secondarie devono essere visualizzate prima di ripetere le informazioni di intestazione per la domanda. Una buona impostazione per questo è intorno a 15. Se non vuoi che le intestazioni si ripetano affatto, imposta questa impostazione su 0. Questa impostazione è sovrascritta nella finestra di dialogo impostazioni globali (New in 2.05 ) .
  • minrepeatheadings: Il numero minimo di domande secondarie rimanenti richieste prima di ripetere le intestazioni nelle domande matrice. Il valore predefinito è 3 e può essere modificato in config.php.
  • defaulttemplate: Questa impostazione specifica il tema predefinito utilizzato per la 'lista pubblica' dei sondaggi. Questa impostazione può essere sovrascritta nella finestra di dialogo impostazioni globali o modificata in config.php.
  • defaulthtmleditormode: Imposta la modalità predefinita per l'editor HTML integrato. Questa impostazione può essere sovrascritta nella finestra di dialogo impostazioni globali o modificata in config.php. Le impostazioni valide sono:
    • 'inline' - Sostituzione in linea dei campi con un editor HTML. Lento ma comodo e facile da usare;
    • 'popup' - Aggiunge un'icona che esegue l'editor HTML in un popup se necessario. Più veloce, ma il codice HTML viene visualizzato nel modulo;
    • 'none'- Nessun editor HTML;
  • column_style: Definisce come vengono visualizzate le colonne per le risposte al sondaggio quando si utilizza visualizza_colonne. Può essere modificato nel file config.php. Le impostazioni valide sono:
    • 'css' - utilizza uno dei vari metodi CSS per creare colonne (vedere il foglio di stile del modello per i dettagli);
    • 'ul' - le colonne sono visualizzate come multiple liste floated non ordinate (default);
    • 'table' - utilizza un layout basato su tabelle convenzionali;
    • NULL - disabilita l'uso delle colonne.

Lingua & ora

  • defaultlang: Questo dovrebbe essere impostato sulla lingua predefinita da usare nei tuoi script di amministrazione, e anche l'impostazione predefinita per la lingua nell'elenco dei sondaggi pubblici. Questa impostazione può essere sovrascritta nella finestra di dialogo impostazioni globali o modificata in config.php.
  • timeadjust: Se il tuo server web si trova in un fuso orario diverso rispetto alla posizione in cui i tuoi sondaggi saranno basati, metti qui la differenza tra il tuo server e il fuso orario di casa. Ad esempio, vivo in Australia, ma utilizzo un server Web statunitense. Il server web è indietro di 14 ore rispetto al mio fuso orario locale. Quindi la mia impostazione qui è "14". In altre parole, aggiunge 14 ore al tempo dei server web. Questa impostazione è particolarmente importante quando i sondaggi effettuano il timestamp delle risposte. Questa impostazione può essere sovrascritta nella finestra di dialogo impostazioni globali o modificata in config.php.

Comportamento del sondaggio

  • deletenonvalues: Usa questa funzione con cautela. Per impostazione predefinita (un valore pari a 1), le domande irrilevanti vengono annullate nel database. Ciò garantisce che i dati nel database siano internamente coerenti. Tuttavia, ci sono rari casi in cui potresti voler mantenere valori irrilevanti, nel qual caso puoi impostare il valore su 0. Ad esempio, chiedi a una persona di sesso maschile il suo genere e lui dice accidentalmente "femmina" e poi risponde a una donna -domande specifiche (domande che sono condizionate dall'essere donne, quindi sono rilevanti solo per le donne). Quindi, si rende conto del suo errore, fa marcia indietro, imposta il genere su "maschio" e continua con il sondaggio. Ora, le domande specifiche per le donne sono irrilevanti. Se $deletenonvalues==1 , quei valori irrilevanti verranno cancellati (NULL) nel database. Se $deletenonvalues==0 , le sue risposte errate non verranno eliminate, quindi saranno ancora presenti nel database quando lo analizzi.
  • shownoanswer: Quando una domanda con pulsante di opzione/seleziona tipo che contiene risposte modificabili (ad es. domande List, Array) non è obbligatoria e 'shownoanswer' è impostata su 1, un ulteriore 'Nessuna risposta' viene visualizzata la voce, in modo che i partecipanti possano scegliere di non rispondere alla domanda. Alcune persone preferiscono che questo non sia disponibile. Questa impostazione può essere sovrascritta dalla finestra di dialogo impostazioni globali o modificata in config.php. I valori validi sono:
    • '0': No;
    • '1': Sì;
    • '2': L'amministratore del sondaggio può scegliere.
  • printanswershonorsconditions: Questa impostazione determina se la funzione printanswers visualizzerà le voci delle domande che erano nascoste dalle condizioni-diramazione (Predefinito: 1 = nascondi le risposte dalle domande nascoste dalle condizioni).
  • ' hide_groupdescr_allinone:' Questa impostazione è rilevante per i sondaggi all-in-one che utilizzano le condizioni . Quando è impostato su "true", il nome e la descrizione del gruppo sono nascosti se tutte le domande nel gruppo sono nascoste. Il valore predefinito è 'true': nasconde il nome e la descrizione del gruppo quando tutte le domande nel gruppo sono nascoste dalle condizioni. Può essere modificato in config.php.
  • showpopups: Mostra i messaggi popup se le domande obbligatorie o condizionali non hanno ricevuto una risposta corretta:
    • '2' = definito dall'opzione Tema (predefinito )
    • '1'= mostra il messaggio popup;
    • '0'= mostra invece il messaggio sulla pagina;
    • '-1'= non mostra affatto il messaggio (in questo caso , gli utenti vedranno comunque i suggerimenti specifici per le domande che indicano a quali domande è necessario rispondere).

Comportamento del tipo di domanda numerica

  • bFixNumAuto: I campi numerici possono essere filtrati automaticamente per rimuovere tutti i valori non numerici. Per impostazione predefinita questo è abilitato, puoi disabilitarlo a livello globale. Questa impostazione è correlata a Correggi automaticamente il valore numerico nelle opzioni del tema principale. Era abilitato per , disabilitato per Solo per espressione e No.
  • bNumRealValue: I campi numerici utilizzati nel gestore espressioni possono essere corretti o meno. È fisso per impostazione predefinita. Se NUMERIC è una domanda numerica : disabilita o 0 : {NUMERIC} con caratteri errati invia '' , abilita o 1 : {NUMERIC} invia tutti i caratteri inseriti. Questa impostazione è correlata a Correggi automaticamente il valore numerico nelle opzioni del tema principale. Era abilitato per e Solo per espressione e disabilitato per No.

Sviluppo e debugging

  • debug: Con questa impostazione, imposti la segnalazione degli errori PHP su E_ALL. Ciò significa che viene mostrato ogni piccolo avviso, avviso o errore relativo allo script. Questa impostazione deve essere impostata su "1" solo se si sta tentando di eseguire il debug dell'applicazione per qualsiasi motivo. Se sei uno sviluppatore, passa a "2". Non passare a "1" o "2" in produzione poiché potrebbe causare la divulgazione del percorso. Il valore predefinito è '0' e può essere modificato in config.php.
  • debugsql: Attiva questa impostazione se vuoi visualizzare tutte le query SQL eseguite per lo script in fondo a ogni pagina. Molto utile per l'ottimizzazione del numero di query. Per attivarlo, modifica il valore predefinito a '1' dal file config.php.
  • use_asset_manager: Per impostazione predefinita: modalità di debug disabilita asset manager, puoi permetterti di utilizzare asset manager con la modalità di debug abilitata.

Nel caso in cui riscontri un errore nell'applicazione, ti consigliamo vivamente di attivare l'impostazione di debug per ottenere un errore più dettagliato che puoi inviare con la segnalazione del bug:

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

If you work on plugin and need a quick way to dump variables on screen : you can use traceVar function. If debug is set : this function use CWebLogRoute to be shown on HTML page. Usage traceVar($MyVariable)

Email settings

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.