x

Hoofdstukken

  1. LimeSurvey Cloud versus LimeSurvey CE
  2. LimeSurvey Cloud - Beknopte handleiding
  3. Installatie - LimeSurvey CE
  4. Hoe maak je een goede enquête
  5. Aan de slag
  6. Beheren van LimeSurvey
  7. Enquêtes - introductie
  8. Enquête instellingen
  9. Enquête menu
  10. Enquête structuur
  11. Vragen - introductie
  12. Vraaggroepen - introductie
  13. Enquêtes - beheer
  14. Enquête taakbalk opties
  15. Meertalige enquête
  16. ExpressionScript Engine - Snelstartgids
  17. Overige en geavanceerde mogelijkheden
  18. Algemene vragen
  19. Problemen oplossen
  20. Tijdelijke oplossingen
  21. Licentie
  22. Wijzigingen in versie
  23. Plugins - geavanceerd
 Actions

Optionele instellingen

From LimeSurvey Manual

Deze pagina is mogelijk machinaal vertaald en kan fouten bevatten. Engelse origineel tonen · Deze vertaling verbeteren
This page is a translated version of the page Optional settings and the translation is 100% complete.

In dit gedeelte lees je hoe je configuratie-instellingen kunt wijzigen die niet via de GUI (Graphical User Interface, de grafische gebruikersinterface) van je LimeSurvey-installatie kunnen worden aangepast. Houd er rekening mee dat alle wijzigingen in de hoofdmap (root) van LimeSurvey op eigen risico worden uitgevoerd. Heb je problemen of heb je meer hulp nodig? Ga dan naar de discussieforums voor hulp van de LimeSurvey-community.

Inleiding

Om de configuratie-instelling te wijzigen moet je mogelijk de optionele instellingen wijzigen. De instellingen zijn te vinden in het bestand /application/config/config-defaults.php bij een standaard installatie. Sommige van deze instellingen worden gebruikt tijdens de installatie, en worden overschreven door de waarden in de Algemene instellingen. Andere moeten handmatig worden gewijzigd.

  Als je deze instellingen wilt wijzigen, wijzig ze dan niet in het bestand config-defaults.php, maar kopieer de instellingen naar /application/config/config.php in 'config'=>array en wijzig ze daar. Alle instellingen in dit bestand gaan voor die in config-defaults.php.


Bij het upgraden wordt alleen het bestand config-defaults.php gewijzigd. Daardoor blijven dan je eigen aanpassingen in het bestand config.php bewaard.

Om de instellingen van LimeSurvey te wijzigen moet je het array config in application/config/config.php aanpassen:

    'config'=>array(
        'debug'=>0,
        'debugsql'=>0,
        'LimeSurveySetting'=>'New value','//  wijzig de code hier      
    )

Yii-instellingen

LimeSurvey gebruikt het Yii-framework, Yii heeft zijn eigen configuratie in het bestand application/config/config.php. Je kunt enkele specifieke configuratie-instellingen van LimeSurvey benaderen via de Yii-configuratie.

Aangezien het config.php-array is samengevoegd met de hele config, kun je elke Yii-params in het config.php-bestand vervangen.

Deze instellingen worden gezet in het array components:

    'components' => array(
        'db' => array(
            ....
        ),
        'Specific settings'=>array(
            ....
        ),
    ),
Voor meer informatie over het Yii-framework gebruik je de volgende link.

Database

De instellingen van de database wordt bepaald bij de eerste installatie van LimeSurvey. Indien nodig kun je deze configuratie wijzigen. Dat doe je dan op eigen risico. Lees ook de Yii-documentatie, en denk eraan dat LimeSurvey alleen de database-types mysql, pgsql, dblib, mssql en sqlsrv ondersteund.

Sessie

Je kunt enkele sessie-parameters in config.php zetten (bekijk de 2 onderstaande voorbeelden). Je kunt, indien nodig, commentaar verwijderen/toevoegen. Lees de Yii-documentatie voor andere instellingen.

  Als je meerdere LimeSurvey-instanties op hetzelfde domein draait, geef dan elke instantie een eigen sessienaam. Je hoeft het pad van de sessiecookie of de CSRF-cookie-instellingen niet te wijzigen.


Gebruik table-based sessies

LimeSurvey kan table-based sessies gebruiken. Zoek in het gegenereerde bestand config.php naar dit onderdeel dat standaard op commentaar staat. Als je table-based sessies wilt gebruiken, verwijder dan alle // die vóór deze regels van dit onderdeel staan.

        'session' => array (
            'class' => 'application.core.web.DbHttpSession',
            'connectionID' => 'db',
            'sessionTableName' => '{{sessions}}',
        ),
  Table-based sessies worden niet ondersteund op een MSSQL-server.


Andere sessie update

Als je SSL ('https') gebruikt voor LimeSurvey voeg dan de volgende regels toe in config.php:

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

Als je het domein wilt aanpassen voor het gebruik van cookies plaats dan in de config.php:

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

Elke LimeSurvey-instantie op hetzelfde domein heeft een eigen sessienaam nodig. Anders word je bij het inloggen op de ene instantie uitgelogd bij de andere. Het installatieprogramma stelt een willekeurige sessienaam in config.php in. Als je config.php van een andere instantie hebt gekopieerd, of als je config.php afkomstig is uit een versie ouder dan LimeSurvey 4.0, voeg dan de regel sessionName toe aan of wijzig deze in de bestaande sectie session en gebruik voor elke instantie een andere waarde:

        // Set the name of the session
        'session' => array (
            'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
            ),

Request

Deze instellingen zijn veelomvattend, maar de optionele instellingen zijn al geoptimaliseerd voor het gebruik van LimeSurvey. Lees Yii-documentatie voor meer informatie.

De configuratie van de request-instellingen van LimeSurvey kan bijvoorbeeld als volgt worden aangepast (op eigen risico):

        // 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
        'request' => array(
            'csrfCookie' => array( 
                'domain' => '.example.com',
                'path' => '/limesurvey/',
            )
        ),

Als je alleen de url voor toegangscode e-mail wilt bijwerken: plaats de publicurl in het bestand config.php.


Gebruik van sessie en CSRF-validatie in iFrame toestaan

Nadat u Iframe embedding hebt toegestaan, moet u wat configuratie bijwerken.

  Zelfs met al deze instellingen kunnen enquêtes in een iframe in sommige browsers of bij bepaalde browserinstellingen nog steeds niet werken, bijvoorbeeld in de privémodus of wanneer cookies van derden worden geblokkeerd. Deze instellingen zijn getest met Firefox 81.0.2 tot 115, Chromium 85.0.4183.121 tot 119 en Edge 119 met hun standaardinstellingen. LimeSurvey biedt geen ondersteuning voor deze configuratie, alleen ondersteuning door de community is beschikbaar.


Sessie in iframe toestaan

De sessiecookie moet beveiligd (secure) zijn (vereist een geldige HTTPS-verbinding) en httponly, en samesite moet op None staan. De sleutels in cookieParams moeten volledig in kleine letters worden geschreven.

 		 'session' => array (
			'sessionName'=>'LS-VBXZZORFJZCAKGYI',
			// Haal de vinkjes weg als je sessies op basis van table wilt hebben.
			// NB: Table-based sessies worden nu niet ondersteund op een MSSQL-server.
			// 'class' => 'application.core.web.DbHttpSession',
			// 'connectionID' => 'db',
			// 'sessionTableName' => '{{sessions}}',
			'cookieParams' => array(
				'secure' => true,
				'httponly' => true,
				'samesite' => 'None',
			),
		 ),

csrf-cookie in iframe toestaan

Net als bij de sessiecookie moet de CSRF-cookie beveiligd (secure) zijn en moet sameSite op None staan. Let op: de sleutel wordt hier geschreven als sameSite. Voeg de hele request-array toe op hetzelfde niveau als session.

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

URL

  Als je alleen de url voor toegangscode e-mail wilt bijwerken: plaats de publicurl in het bestand config.php.


Om de standaard URL-instellingen te wijzigen, wijzig de urlManager:

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


U kunt ook .html achter het id van de enquête zetten:

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

Meer informatie: Yii documentatie.

Logging instellingen

Yii kent een paar mogelijkheden om een log aan te laten maken. Lees hier een uitleg. LimeSurvey gebruikt '1' of '2' standaard, waardoor elke webgebruiker de logs kan bekijken. Je kunt in Yii je eigen instellingen aanmaken.

Om snel errors en warnings te loggen kun je volstaan met:

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: De categorieën application.controller.customInit.max_execution_time en application.controller.customInit.memory_limit worden gebruikt om pogingen om PHP-instellingen te wijzigen te loggen.

Als u zich bewust bent van deze logberichten en ze uit de logs wilt uitsluiten, kunt u deze categorieën toevoegen aan de optie except in de configuratie van uw logroute, zoals hieronder weergegeven:

'except' => [
    'exception.CHttpException.404',
    'application.controller.customInit.max_execution_time',
    'application.controller.customInit.memory_limit',
],


 Hint: Het bestand wordt standaard opgeslagen in limesurvey/tmp/runtime/application.log, dat zich in de hoofdmap van LimeSurvey bevindt. U kunt een andere bestandsnaam instellen met logFile.
  Yii gebruikt een runtime-pad. Standaard zijn de logs toegankelijk via het web. Ze kunnen veel informatie over uw server bevatten. Het is beter om een map te gebruiken die niet toegankelijk is. U kunt dit instellen in logPath of door het runtime-pad aan te passen.

.

Runtime pad

Het runtime pad moet een lees- en schrijfbare map zijn voor de “webuser”. Echter omdat het runtime pad bestanden bevat die mogelijk beveiligingsinformatie bevatten die openbaar toegankelijk is, zijn deze bestanden geplaatst in de map temp in de rootmap. Om toegang tot deze bestanden te voorkomen kun je het runtime-pad buiten het via het web openbare gedeelte plaatsen door de volgende regels in het bestand /application/config/config.php te wijzigen:

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

Algemene instellingen

  • sitename: Geeft je enquête-site een naam. De naam verschijnt in de lijst met enquêtes en in het administratiepaneel. Alleen gebruikt als standaard en kan worden gewijzigd in de Algemene instellingen en in config.php.
  • siteadminemail: Dit is het standaard e-mailadres van de websitebeheerder, waar meldingen en contactverzoeken naar worden verstuurd. Alleen gebruikt als standaard en kan worden gewijzigd in de Algemene instellingen
  • showEmailInError: Gebruik het standaard e-mailadres voor sitebeheerders (siteadminemail) voor de mailto-link op de foutpagina. Uitschakelen om alleen de naam van de beheerder weer te geven. Standaard om meer spam op beheer-e-mail te voorkomen.
  • siteadminbounce: Dit is het e-mailadres waarnaar niet verzonden e-mails worden verstuurd. Alleen gebruikt als standaard en kan worden gewijzigd in de Algemene instellingen
  • siteadminname: De naam van de websitebeheerder. Alleen gebruikt als standaard en kan worden gewijzigd in de Algemene instellingen
  • proxy_host_name: De hostnaam van de proxy-server (als je achter een proxy zit en LimeSurvey wilt updaten met ComfortUpdate).
  • proxy_host_port: De poort van de proxy-server (als je achter een proxy zit en LimeSurvey wilt updaten met ComfortUpdate).

Beveiliging

  • maxLoginAttempt: Het aantal toegestane pogingen dat de gebruiker het gebruikerswachtwoord foutief mag invullen voordat het geblokkeerd wordt (op IP) . Standaardwaarde is 3, te wijzigen in config.php.
  • timeOutTime: Als de gebruiker het gebruikerswachtwoord <maxLoginAttempt> keer foutief invult  : tijd dat het IP is geblokkeerd. Standaardwaarde is 10 minuten, te wijzigen in config.php.
  • maxLoginAttemptParticipants: Het aantal pogingen dat een deelnemer mag doen een geldig token in te voeren voordat het IP-adres wordt geblokkeerd. De standaardwaarde is 3, het kan in config.php worden gewijzigd.

 * timeOutParticipants: Als de deelnemer het token <maxLoginAttemptParticipants> ongeldig invoert, dan wordt de gebruiker geblokkeerd voor <timeOutParticipants> seconden. De standaardwaarde van 10 minuten kan worden gewijzigd in config.php.

  • surveyPreview_require_Auth: standaard true. Zet deze false als iedereen de enquête kan testen, zonder in het beheergedeelte in te loggen, en zonder dat de enquête actief is. Deze waarde kan worden overschreven met de waarde in de Algemene instellingen of in config.php.
  • usercontrolSameGroupPolicy: Standaard true. Niet-beheerders (opgenomen in de LimeSurvey beheerinterface) zullen alleen andere gebruikers kunnen zien als ze beiden aan minstens één dezelfde groep gekoppeld zijn. Deze waarde kan worden gewijzigd in de Algemene instellingen of in config.php.
  • demoMode: Als deze instelling "aan" (true) staat zal LimeSurvey in demo-modus werken. Dat betekent:
    • Het is niet mogelijk om het beheeraccount te wijzigen
    • Het is niet mogelijk om bestanden te uploaden in sjaboonbeheer
    • Het is niet mogelijk om uitnodigingen en herinneringen via email te verzenden
    • Het is niet mogelijk om een dump van een database te maken
    • Het is niet mogelijk om de volgende zaken aan te passen: sitenaam, standaardtaal, standaard html-editor modus, XSS filter.
  • forcedsuperadmin: Array van user-id's met alle rechten binnen LimeSurvey. Deze instelling kan alleen in het bestand config.php worden gewijzigd. De gebruikersrechten kunnen niet worden gewijzigd bij de globale rechten door een andere hoofdbeheerder. Standaard heeft de eerste na aanmaken installatie toegevoegde gebruiker deze rechten, deze heeft dan user-id 1.
  • force_ssl: forceert dat LimeSurvey werkt met HTTPS of dat juist blokkeert. Lees Forceer HTTPS in de algemene instellingen.
  • ssl_emergency_override: Deze instelling zet SSL uit. Als je HTTPS/SSL bij de algemene instellingen hebt ingeschakeld maar op je server HTTPS niet ingeschakeld is, is dat de enige manier op HTTPS uit te zetten, door direct een waarde in de database te zetten. Je kunt dan de algemene instelling weer aanpassen, dit is bedoeld als zeer tijdelijke maatregel, SSL hoort aan te staan. De waarde kan alleen in het bestand config.php gewijzigd worden.
  • ssl_disable_alert: Als je de waarschuwing dat SSL uitstaat als hoofdbeheerder niet meer wilt krijgen en je dus zeker geen SSL wilt gebruiken dan kun je deze melding uitzetten in het bestand config.php.
  • Unserialisatie_attribuutbeschrijvingen toestaan: Sta unserialisatie (met PHP-functie unserialize) tokenattributen toe bij het importeren of lezen van een enquête-object. Sinds LimeSurvey 3 worden de gegevens van tokenattributen opgeslagen als JSON. Als u een ouder enquêtebestand gebruikt en tokenkenmerken wilt ophalen, moet u deze instelling inschakelen. Waarschuwing: Unserialisatie kan ertoe leiden dat code wordt geladen en uitgevoerd als gevolg van het starten en automatisch laden van objecten, en een kwaadwillende gebruiker kan hier mogelijk misbruik van maken. Deze instelling kan alleen via het bestand config.php worden ingesteld.
  • allow_unserialize_attachments: Sta het unserialiseren (met de PHP unserialiseerfunctie) van attributen toe bij het importeren van enquêtes. In limesurvey 6.16.17: bijlagen attribuut verplaatsen van serialiseren naar json_encode. Als je de bijlage moet behouden bij het importeren van een oud LSS-bestand, moet je dat toestaan. Waarschuwing: Unserialisatie kan ertoe leiden dat code wordt geladen en uitgevoerd door objectinstantie en autoloading, en een kwaadwillende gebruiker kan dit misbruiken. Deze instelling kan alleen via het bestand config.php worden ingesteld.
  • twig_getConfig_extraallowlist: Sta toe dat een specifiek element voor de getConfig-functie in twig wordt toegestaan. LimeSurvey biedt al de meeste benodigde en gebruikte instellingen, maar je kunt ook meer nodig hebben. Als je 'securesetting' en 'anothersetting' wilt toestaan, stel dit dan in op ['securesetting','anothersetting'] zoals 'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Deze instelling kan alleen via het bestand config.php worden ingesteld.

Bescherming tegen cross-site scripting (XSS)

LimeSurvey staat geen scripts van gebruikers toe op de beheerderspagina. Als u een manier vindt om een XSS-script aan de beheerderspagina toe te voegen, raadpleeg dan ons Beveiligingsbeleid.

De scripts van openbare pagina's worden beheerd met XSS-filterinstellingen.

  • filterxsshtml: Deze instelling maakt het mogelijk om verdachte html-tags te filteren die zich bevinden binnen enquêtes, groepen en vragen- en antwoordteksten in de beheerinterface. Laat dit alleen 'onwaar' zijn als je absoluut vertrouwen hebt in de gebruikers die je hebt aangemaakt voor het beheer van LimeSurvey en als je deze gebruikers in staat wilt stellen Javascript, Flash Movies, enzovoort te gebruiken. De superadmins hebben hun HTML nooit gefilterd. De standaardwaarde kan worden overschreven in het dialoogvenster globale instellingen.
  • filterxsshtml_forcedall: Forceer filterxsshtml naar true voor alle gebruikers, schakel updates uit in de beheerders-GUI. Maakt het filteren van verdachte HTML-tags ook mogelijk voor superadmin.
  • filterxsshtml_allowforcedsuperadmin: Alleen gebruikt als filterxsshtml_forcedall waar is. Sta toe dat je elk script en HTML toevoegt door forcedsuperadmin (standaard admin-gebruiker #1).
  • disablescriptwithxss: Toestaan dat het script in kwestie wordt bijgewerkt: standaard waar: volg de XSS-regels; Zet op false op toegestaan voor alle gebruikers. De standaardwaarde kan worden overschreven in het dialoogvenster globale instellingen.
  • filterxsshtml_enablescript: Alleen gebruikt als filterxsshtml_forcedall waar is. Schakel vraagscript in voor specifieke gebruiker : gui : laat update-instellingen toe via GUI; superadmin: alleen super admin; gedwongen forcedsuperadmin: alleen gedwongen superbeheerder; standaard: geen gebruiker en geen update via de GUI toestaan

Toegestane bestandsupload

  • allowedthemeimageformats : Afbeeldingsbestandstypen die mogen worden geüpload in de sectie thema's. Standaard zijn SVG-bestanden uitgeschakeld vanwege een mogelijke XSS-aanval.
  • allowedthemeuploads : Andere bestandstypen die mogen worden geüpload in de sectie thema's (zip-bestand)
  • allowedresourcesuploads : Bestandstypen die mogen worden geüpload in de secties met bronnen en met de HTML-editor
  • allowedpluginuploads : Bestandstypen die zijn toegestaan bij het uploaden van een zip-bestand van een plugin.

Voer gewoon een reeks door komma's gescheiden extensies in. Bijvoorbeeld:

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

Waarschuwing: Wees altijd voorzichtig met het toestaan van het uploaden van bestanden. Er kunnen schadelijke activiteiten door mogelijk worden.

Plugins

  • usePluginWhitelist : Als echte plugins die niet op de allowlist staan (zie 'pluginWhitelist') niet geïnstalleerd of geladen kunnen worden. Dit kan reeds geïnstalleerde plug-ins uitschakelen.
  • pluginWhitelist : Lijst met plugin-namen die mogen worden geïnstalleerd en geladen wanneer 'usePluginWhitelist' waar is. Kernplug-ins staan impliciet op de toelatingslijst.
  • corePluginBlacklist : Lijst met namen van kernplug-ins is verboden als 'usePluginWhitelist' waar is.
  • disablePluginUpload : Als deze instelling waar is, is de functie "Plugin Upload" uitgeschakeld

Host beheer

  • allowedHosts : om Host Header Injection te voorkomen, kun je de toegestane host instellen voor alle acties. Als je een andere host gebruikt voor de publieke pagina en de beheerderspagina: je moet beide als toegestane host instellen.
    'config'=>array(
            ....
,		// Update standaard configuratie LimeSurvey
		'allowedHosts' => [
			'survey.example.org',
			'proxy.survey.example.com',
			'example.limesurvey.org',
		],
    ),

Systeembronnen

  • iSessionExpirationTime: Bepaalt na hoeveel seconden een enquêtesessie verloopt. Dit geldt alleen als je databasesessies gebruikt. Gebruik je databasesessies, wijzig dan de parameter in config.php of overschrijf de standaardwaarde in het dialoogvenster algemene instellingen.
  • memory_limit: Dit bepaalt hoeveel geheugen LimeSurvey mag gebruiken, in megabytes. De standaardwaarde is '256'. Krijg je time-outfouten of heb je problemen met het genereren van statistieken of het exporteren van bestanden, verhoog deze limiet dan naar '512' of hoger. Als je webserver in php.ini een hogere limiet heeft ingesteld, wordt deze instelling genegeerd.
Denk eraan dat deze lokale instelling altijd genegeerd kan worden door de globale serverinstellingen.

Mocht het dus niet werken, probeer dan:

  • memory_limit = 128M te zetten in het php.ini-bestand op de server (als dat kan en mag)
  • memory_limit = 128M te zetten in een php.ini-bestand in de directory waar LimeSurvey staat
  • php_value memory_limit 128M te zetten in een .htaccess-bestand in de directory waar LimeSurvey staat
  • max_execution_time: Het aantal seconden dat een script mag lopen voordat het afgebroken wordt. Standaard op 1200 seconden, vanwege het exporteren van een enquête met veel gegevens. Je kunt het alleen aanpassen via het bestand config.php.

Presentatie

  • dropdownthreshold: (Vervallen sinds 2.50) als je $dropdowns op "R" hebt gezet, is dit het maximale aantal opties dat getoond wordt als radioknoppen, voordat LimeSurvey deze vervangt door een dropdown-selectielijst. Als je dit maximum op iets van 25 zet (de standaardwaarde) zijn lange lijsten voor de gebruiker evenvoudiger gebruiken.
  • repeatheadings: Zet deze op een waarde om bij vragen van het arraytype de kop opnieuw te tonen na dit aantal subvragen. Dit is nuttig als je veel subvragen, meer dan een scherm, hebt. Een redelijk geschikte waarde is 15. Als je de kop niet wilt herhalen, zet dan deze waarde op 0. (Deze waarde wordt overschreven in de Algemene instellingen dialoog) (Nieuw in 2.05).
  • minrepeatheadings: Het minimale aantal resterende subvragen dat verplicht is voordat de koppen bij arrayvragen wordt herhaald. Standaardwaarde 3, te wijzigen in config.php.
  • defaulttemplate: deze instelling bepaald het standaardthema dat gebruikt wordt voor het tonen van de 'publieke lijst' van enquêtes. (Deze waarde wordt gewizjigd in de Algemene instellingen) of in config.php.
  • defaulthtmleditormode: bepaalt de standaardmodus waarin de HTML-editor opstart. (Deze waarde kan worden gewijzigd in de Algemene instellingen) of in config.php.
    • inline inline vervanging van velden door een HTML-editor. Langzaam, maar makkelijk en gebruikersvriendelijk
    • popup voegt een icoon toe, die bij selectie de HTML-editor indien nodig in een popup toont. Sneller, maar de html-code is zichtbaar
    • none geen HTML-editor gebruiken
  • column_style: Bepaald hoe kolommen van antwoorden worden weergegeven bij gebruik van display_columns. De waarden zijn:
    • 'css' gebruik een van de verschillende CSS alleen methoden voor aanmaken kolommen (bekijk het sjabloon stylesheet voor details).
    • 'ul' gebruik multiple floated unordered lists. (standaard)
    • 'table' gebruik traditionele tabellenlayout.
    • NULL uitschakelen gebruik kolommen

Taal en tijd

  • defaultlang: Zet deze op de standaardtaal waarin het beheerpaneel, en de openbare enquêtes getoond worden. Binnen een enquête kun je zelf een afwijkende taal gebruiken. Deze waarde worden gewijzigd in de Algemene instellingen of in config.php.
  • timeadjust: Als de webserver in een andere tijdzone staat dan waar jouw enquête wordt gebruikt, zet hier dan de afwijking in uren. Dit is met name van belang voor enquêtes die werken met de tijd of een tijdstempel gebruiken. Voorbeeld: je voert een enquête uit in Australië en gebruikt een server in de VS. Er is dan een tijdsverschil van 14 uur, de instelling wordt dan "14". Deze waarde kan worden gewijzigd in de Algemene instellingen of in config.php.

Gedrag

  • deletenonvalues: Wees hier voorzichtig mee. Standaard (waarde '1') worden antwoorden die niet ter zake doen opgeslagen met waarde 'NULL'. Een voorbeeld is dat een deelnemer de vraag 'geslacht?' beantwoord met 'vrouw'. Vervolgens beantwoord hij een aantal vrouw-specifieke vragen, zich realiseert dat hij een fout gemaakt heeft, terugkeert naar die vraag en dan de optie 'man' kiest. Nu zijn de antwoorden op de vrouw-vragen irrelevant, want hij krijgt (en beantwoordt) de man-specifieke vragen. Bij $deletenonvalues==1, worden deze irrelevante waarden gewist (NULL) in de database. Bij $deletenonvalues==0 blijven de waarden aanwezig, maar waarom zou je dat willen.
  • shownoanswer: Als de antwoorden op een vraag van een selectielijst (radio/select) invulbaar zijn (List of Array-vragen) en deze instelling staat op '1', wordt er een optie toegevoegd met de waarde 'Geen antwoord'. Zo kan de gebruiker kiezen om de vraag niet te beantwoorden.
    • '0' : Nee
    • '1' : Ja, de optie 'Geen antwoord' wordt getoond.
    • '2' : De beheerder van de enquête kan kiezen.
  • printanswershonorsconditions: Deze instelling bepaalt of antwoorden die niet mogelijk zijn vanwege één of meerdere conditie(s) getoond worden. De standaard '1' verbergt deze antwoorden.
  • hide_groupdescr_allinone: Deze instelling wordt gebruikt door enquêtes met condities. Zet deze op de waarde true (de standaardwaarde) als je wilt dat de groepsnaam en beschrijving ook verborgen worden als alle condities in de groep ook verborgen zijn.
  • showpopups: Deze instelling bepaald of er popups getoond worden als vragen niet of niet correct beantwoord zijn.
    • '2' bepaald door optie in Thema (standaard)
    • '1' betekent dat popups getoond worden,
    • '0' betekent dat de melding op de pagina zelf getoond wordt,
    • en '-1' betekent dat er geen melding gedaan wordt. Gebruikers zien echter wel de indicatie bij de vragen die verplicht beantwoord moeten worden.  

Numeriek vraagtype gedrag

  • bFixNumAuto: Numerieke velden kunnen automatisch worden gefilterd om alle niet-numerieke tekens te verwijderen. Standaard is dit ingeschakeld, je kunt het globaal uitschakelen. Deze instellingen zijn gerelateerd aan Herstel automatisch numerieke waarde in standaardthema-opties. Inschakelen: Ja, uitschakelen met Alleen voor expressie en Nee.
  • BNumRealValue: Numerieke velden die in ExpressionScript worden gebruikt, kunnen worden hersteld, standaard is herstellen. Als NUMERIC een numerieke vraag is: schakel uit of 0: {NUMERIC} met verkeerde tekens verzonden '' , schakel in of 1: {NUMERIC} verzend alle ingevoerde tekens. Deze instellingen zijn gerelateerd aan Herstel automatisch numerieke waarde in standaardthema-opties. Inschakelen : Ja en Alleen voor expressie en uitschakelen met Nee.

Ontwikkeling en debugging

  • debug: Met deze instelling zet u de PHP-foutrapportage op E_ALL. Dit betekent dat elke melding, waarschuwing of fout die met het script te maken heeft, wordt getoond. Zet deze instelling alleen op '1' als u de applicatie om welke reden dan ook wilt debuggen. Bent u ontwikkelaar, zet de instelling dan op '2'. Zet de instelling in een productieomgeving niet op '1' of '2', omdat hierdoor padgegevens zichtbaar kunnen worden. De standaardwaarde is '0' en kan worden aangepast in config.php.
  • debugsql: Activeer deze instelling als u alle SQL-queries wilt weergeven die voor het script zijn uitgevoerd, onderaan elke pagina. Zeer nuttig om het aantal queries te optimaliseren. Om de instelling te activeren, wijzigt u in config.php de standaardwaarde naar '1'.
  • use_asset_manager: Standaard schakelt de debugmodus de asset-manager uit. Met deze instelling kunt u de asset-manager toch gebruiken terwijl de debugmodus is ingeschakeld.
  • rpc_log: (New in 7.9.0 ) Zet deze instelling op true om elke RemoteControl-aanroep te loggen in tmp/runtime/remotecontrol.log. Elke regel bevat de aangeroepen methode, de parameters, het IP-adres van de client, de duur en het begin van het antwoord. Wachtwoorden worden verwijderd, sessiesleutels worden vervangen door een korte hash en lange waarden worden ingekort. Het logbestand bevat nog steeds de enquête-, deelnemers- en responsgegevens die zijn verzonden en ontvangen. Schakel de instelling daarom alleen in als u een probleem zoekt. De standaardwaarde is false.

Als je een fout in de applicatie wilt melden en informatie op het forum wilt geven, dan kun je eerst de debugging inschakelen zodat je meer informatie kunt geven.

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

Als je een plug-in ontwikkelt en een snelle manier nodig hebt om variabelen op het scherm te tonen kun je de traceVar-functie gebruiken. Als debug voor deze functie is ingesteld : gebruik CWebLogRoute om op de HTML-pagina weer te geven. Gebruik traceVar($MyVariable)

Email instellingen

Alle onderstaande instellingen kunnen worden overschreven in het dialoogvenster Algemene instellingen.

  • 'emailmethod: Bepaalt hoe e-mailberichten worden verzonden. De volgende opties zijn beschikbaar:
    • 'mail:' gebruikt de interne PHP-mailer;
    • 'sendmail:' gebruikt de sendmail-mailer;
    • 'smtp:' gebruikt SMTP-relaying. Gebruik deze instelling wanneer u LimeSurvey draait op een host die niet uw mailserver is.
  • 'emailsmtphost: Als u 'smtp' gebruikt als $emailmethod, moet u hier uw SMTP-server invullen. Als u Google Mail gebruikt, moet u mogelijk het poortnummer toevoegen, zoals $emailsmtphost = 'smtp.gmail.com:465'.
  • emailsmtpuser: Als uw SMTP-server authenticatie vereist, vult u hier uw gebruikersnaam in. Anders moet dit veld leeg blijven.
  • emailsmtppassword: Als uw SMTP-server authenticatie vereist, vult u hier uw wachtwoord in. Anders moet dit veld leeg blijven.
  • emailsmtpssl: Stel dit in op 'ssl' of 'tls' om SSL/TLS te gebruiken voor de SMTP-verbinding.
  • maxemails: Bij het verzenden van uitnodigingen of herinneringen aan deelnemers aan de enquête bepaalt deze instelling hoeveel e-mails in één batch kunnen worden verzonden. Webservers hebben verschillende e-mailcapaciteiten en als uw script er te lang over doet om een batch e-mails te verzenden, kan er een time-out optreden die fouten veroorzaakt. De meeste webservers kunnen 100 e-mails tegelijk verzenden binnen de standaardlimiet van 30 seconden voor een PHP-script. Als u time-outfouten krijgt bij het verzenden van grote aantallen e-mails, verlaag dan het aantal in deze instelling. Wanneer u op de knop 'Verzend uitnodiging' in de werkbalk van de tokenbeheerpagina klikt (niet de knop rechts van elk token), worden <maxemails> uitnodigingen verzonden. Daarna wordt een lijst met de adressen van de ontvangers getoond, samen met een waarschuwing dat er meer e-mails in de wachtrij staan dan in één batch kunnen worden verzonden. Klik hieronder om door te gaan met het verzenden van e-mails. Er moeten nog ### e-mails worden verzonden. Ook wordt een knop 'Doorgaan' getoond om met de volgende batch verder te gaan. De gebruiker bepaalt dus zelf wanneer de volgende batch wordt verzonden nadat een batch is verstuurd. U hoeft niet te wachten met dit scherm actief. De beheerder kan uitloggen en later terugkomen om de volgende batch uitnodigingen te verzenden.
  • send_error_saving_results_email: (New in 7.8.0 ) Als een respons niet kan worden opgeslagen, stuurt LimeSurvey de antwoorden per e-mail naar de beheerder van de enquête met als onderwerp "Fout bij het opslaan van de resultaten". Zet deze instelling op false om deze e-mails te stoppen. Deelnemers zien nog steeds de foutmelding. De standaardwaarde is true. Deze instelling kan alleen in config.php worden gewijzigd.

Statistieken en respons bekijken

  • filterout_incomplete_answers: Bepaal het standaardgedrag van de respons bij niet compleet gegeven antwoorden. Omdat deze de statistieken kunnen vervuilen, zit er een optie in de interface om deze uit te zetten. Voor meer informatie : Responsen bekijken. Het standaardgedrag kan als volgt ingesteld worden:
    • show: Toon zowel de compleet, als de niet compleet gegeven antwoorden
    • filter: Toon alleen de complete gegeven antwoorden
    • incomplete: Toon alleen de niet compleet gegeven antwoorden
  • strip_query_from_referer_url: Deze instelling bepaalt of de complete URL, inclusief parameters, van de aanvrager wordt opgeslagen. Zet deze op false (standaard) als de URL inclusief parameters wilt opslaan, op true als je alleen de URL wilt opslaan.
  • showaggregateddata: Zet deze instelling op "aan" om standaard deviatie en gemiddelde bij statistieken te tonen. Ook worden geschaalde antwoorden (Array 5 punten en 5 puntkeuze) samengepakt tot de waarden "goed" *(1+2), "matig" (3), en "slecht" (4+5).
  • PDF Export Settings: Zet de mogelijkheid om naar PDF te kunnen exporteren. Nog zeer experimenteel: de output is lelijk. Wil je ons helpen om dit te verbeteren? Neem dan contact met ons op.
    • 'usepdfexport': Zet deze op "0" om geen PDF te kunnen exporteren, "1" om dat wel te kunnen.
    • 'pdfdefaultfont': Standaard lettertype van de PDF-export. Standaardwaarde is 'auto'. Je kunt het wijzigen in een van de PDF core fonts.
    • 'alternatepdffontfile': een array met key voor taal en specifiek font voor die taal, kan worden vervangen of gewijzigd.
    • 'pdffontsize': Standaard lettergrootte van de PDF-export. De titel van de enquête is +4, groepen worden als +2 weergegeven.
    • 'notsupportlanguages': Een lijst met talen waar geen PDF-font voor is, onder andere Amharic ('am'), Sinhala ('si'), en Thai ('th'). Kijk in het bestand config-defaults.php.
    • 'pdforientation': Zet deze op 'L' voor Landschap of 'P' voor Portretafdruk
  • Graph instelling
    • 'chartfontfile' : te gebruiken font-bestand : moet staan in fontmap van de server of in de map ./fot
    • 'alternatechartfontfile' : een array met key voor taal en specifiek font voor de taal, kan worden vervangen of gewijzigd.
  • showsgqacode: Deze instelling wordt gebruikt bij het afdrukken van de enquête. De waarde true zorgt ervoor dat de ID's van iedere vraag (en antwoorden) getoond worden. Deze kunnen dan gebruikt worden bij handmatige query's op de tabel 'Lime_survey_12345'. Standaardwaarde false.

LDAP instellingen

Gezien de uitgebreidheid van dit onderwerp, staat de tekst hier.

Authenticatie

Vanaf LimeSurvey 2.05 wordt de authenticatie gedaan met plugins. De onderstaande informatie kan daarom verouderd zijn.

Authenticatie verplaatsen naar de webserver

Systeembeheerders willen hun enquêtebeheerders mogelijk laten authenticeren via een centraal authenticatiesysteem (Active Directory, openLdap, Radius, ...) in plaats van via de interne LimeSurvey-database. Een eenvoudige manier is om je webserversoftware zo in te stellen dat deze het externe authenticatiesysteem gebruikt, en LimeSurvey vervolgens de door de webserver gemelde gebruikersidentiteit te laten vertrouwen. Om deze functie in te schakelen moet je:

  • de plugin Webserver activeren onder Configuratie > Plugins en in de plugin-instellingen de serversleutel instellen die de gebruikersnaam bevat (standaard: REMOTE_USER);
  • de authenticatie aan de kant van de webserver inschakelen.

Bedenk daarbij wel dat

  • LimeSurvey nu direct de gebruikersnaam van de webserver als geldige inlog gebruikt
  • Dit alleen geldt voor de beheerinterface, niet voor het deelnemersgedeelte.

Authenticatie verplaatsen zonder automatische import van gebruikers

Doordat de authenticatie verplaatste wordt is er geen wachtwoordonderhoud nodig. Maar er moeten nog steeds wel gebruikers in de database aangemaakt worden (plus de rechten die ze hebben) om LimeSurvey te laten werken.

Een gebruiker krijgt dan alleen toegang tot LimeSurvey als:

  • hij/zij is geauthenticeerd bij de webserver;
  • zijn/haar inlognaam is gedefinieerd als gebruiker in de LimeSurvey-gebruikersdatabase (de gebruiker krijgt dan de rechten van de gebruiker zoals gedefinieerd in de LimeSurvey-gebruikersdatabase);
  • hij/zij het algemene recht Gebruik webserver-authenticatie heeft.

Authenticatie verplaatsen met automatische import van gebruikers

Als je een grote gebruikersdatabase beheert, is het soms eenvoudiger om gebruikers automatisch in de LimeSurvey-database te importeren:

  • auth_webserver_autocreate_user: Indien ingesteld op 'true' probeert LimeSurvey gebruikers die door de webserver zijn geauthenticeerd maar nog niet in de gebruikersdatabase staan, automatisch te importeren.
  • auth_webserver_autocreate_profile: Een array die het standaardprofiel beschrijft dat aan de gebruiker wordt toegewezen: de volledige (nep)naam, e-mailadres en taal.
  • auth_webserver_autocreate_permissions: Een array met de algemene rechten die aan de gebruiker worden toegewezen.

Wil je het gebruikersprofiel aanpassen zodat het overeenkomt met de ingelogde gebruiker, dan moet je in config.php een eenvoudige functie ontwikkelen met de naam hook_get_auth_webserver_profile. Met deze functie kun je uit een centrale gebruikersdatabase (bijvoorbeeld een LDAP-directory) de echte volledige naam, het e-mailadres en de taal van een bepaalde gebruiker ophalen.

De functie hook_get_auth_webserver_profile heeft de inlognaam van de gebruiker als enige argument en kan het volgende teruggeven:

  • False of een lege array - in dat geval wordt de gebruiker de toegang tot LimeSurvey geweigerd;
  • een array met dezelfde items als 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();
  Gebruik de functie 'hook_get_auth_webserver_profile' alleen als je een ervaren gebruiker bent! Meer informatie staat in de comments in het bestand config-defaults.php.


Gebruikersnaam omsleutelen

Soms verschillen de gebruikersnaam in het authenticatieproces en de gebruikersnaam in LimeSurvey. Deze kun je echter omsleutelen met de auth_webserver_user_map parameter. Voorbeeld: je hebt geen externe gebruiker die 'admin' heet, maar je wilt wel dat de gebruiker 'myname' die rol krijgt. Deze kun je dan als volgt omsleutelen:

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

Zodra de gebruiker 'myname' is geauthenticeerd, zal deze als de 'admin' gebruiker door LimeSurvey gezien worden.

Uiteraard is dit onveilig, dus wees er voorzichtig mee, en bescherm de config.php tegen het wijzigen door de webserver.

Wegwerpwachtwoorden

Een gebruiker kan de loginpagina openen op /limesurvey/admin, en een wegwerpwachtwoord gebruiken. Hiervoor is de kolom 'one_time_pw' in de gebruikerstabel beschikbaar.

Deze mogelijkheid moet echter wel gezet worden in het bestand config.php, want die staat standaard uit.

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

Meer informatie.


Encryptie-instellingen

  Attentie : Indien ingesteld moet de encryptie-keys nooit meer gewijzigd worden, anders gaat de geëncrypte data verloren!


Bij installatie of upgrading zijn deze parameters door LimeSurvey aangemaakt in het bestand application/config/security.php. Je zou dit kunnen laten staan of het verplaatsen naar config.php.

Dit is beschreven in encryptie.

  • encryptionkeypair
  • encryptionpublickey
  • encryptionsecretkey
  • encryptionnonce
  • encryptionsecretboxkey

Geavanceerde URL instellingen

  • publicurl: Dit moet worden ingesteld op de URL-locatie van je 'openbare scripts'. De openbare scripts zijn de scripts in de map "limesurvey" (of de naam die je hebt gegeven aan de map waarin alle andere scripts en mappen staan). Deze instelling is beschikbaar in config.php en wordt gebruikt wanneer LimeSurvey een absolute URL nodig heeft (bijvoorbeeld wanneer token-e-mails worden verzonden).
  • tempurl: Dit moet worden ingesteld op de URL-locatie van je map "/limesurvey/tmp" - of van een map die LimeSurvey moet gebruiken om tijdelijke bestanden aan te bieden.
  • uploadurl: Dit moet worden ingesteld op de URL-locatie van je map "/limesurvey/upload" - of van een map die LimeSurvey moet gebruiken om geüploade bestanden aan te bieden. Hiermee kun je geüploade bestanden op een ander URL-domein plaatsen.

Geavanceerde padinstellingen

  • homedir: Dit moet worden ingesteld op de fysieke schijflocatie van je beheerscripts - bijvoorbeeld "/home/usr/htdocs/limesurvey/admin". Voeg geen slash aan het einde toe. De standaardinstelling in config.php probeert het standaard rootpad van al je documenten te detecteren met behulp van de PHP-variabele {$_SERVER['DOCUMENT_ROOT']}. In de meeste gevallen kun je dit laten staan en alleen de rest van deze tekenreeks aanpassen, zodat deze overeenkomt met de mapnaam waarin je de LimeSurvey-scripts hebt geplaatst.
  • publicdir: Dit moet worden ingesteld op de fysieke schijflocatie van je 'openbare scripts'.
  • tempdir: Dit moet worden ingesteld op de fysieke schijflocatie van je map /limesurvey/tmp, zodat het script bestanden kan lezen en schrijven.
  • uploaddir: Dit moet worden ingesteld op de fysieke schijflocatie van je map /limesurvey/upload, zodat het script bestanden kan lezen en schrijven.
  • sCKEditorURL: URL van het CKEditor-script.

Andere geavanceerde instellingen

Bestanden uploaden

  • magic_database: Maakt het mogelijk een andere MIME-database te gebruiken voor finfo_open. Kan alleen worden gewijzigd in het bestand config.php. Voorbeeld: /usr/share/misc/magic.mgc voor op Red Hat gebaseerde Linux.
  • magic_file: Maakt het mogelijk een ander bestand te gebruiken om de array met extensies per MIME-type op te halen dan het meegeleverde bestand. Moet een PHP-bestand zijn dat een array teruggeeft. Kan alleen worden gewijzigd in het bestand config.php.

Update

  • updatable: Deze instelling staat in version.php. Kan true of false zijn. Als je true instelt: wanneer een superbeheerder zich aanmeldt: limesurvey controleren of er een update beschikbaar is en of er een waarschuwing getoond moet worden. Indien ingesteld op false: er wordt geen controle uitgevoerd, je kunt ComfortUpdate niet gebruiken.

Tokens

  • allowedcharacters_pattern_token : Deze instellingen maken het mogelijk om het regexp-patroon in te stellen bij het filteren van tokens.