Actions

Optionele instellingen

From LimeSurvey Manual

Revision as of 15:11, 25 May 2013 by Han (talk | contribs)

Opmerking

Deze optionele instellingen zijn te vinden in het bestand /application/config/config-defaults.php van een standaard installatie. Sommige van deze instellingen worden gebruikt tijdens de installatie, en worden overschreven door de waarden in Globale instellingen. Als je deze instellingen wilt wijzigen, wijzig ze dan niet dit bestand, maar kopieër de instellingen naar /application/config/config.php en wijzig ze daar. Alle instellingen in dit bestand gaan voor die in config-defaults.php. Sinds versie 1.87 worden de waarden uit config-defaults.php in de functie Globale instellingen niet meer gebruikt. Door deze werkwijze is het gemakkelijker om een nieuwe versie te installeren!

Algemene instellingen

  • sitename: Geeft je enquêtesite een naam. De naam verschijnt in de lijst met enquêtes en in het administratiepaneel. (sinds 1.87 wordt deze waarde overschreven met de waarde uit het Globale instellingen veld)
  • siteadminemail: Dit is het standaard emailadres van de websitebeheerder, waarop meldingen en contactverzoeken worden verstuurd. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • siteadminbounce: Dit is het emailadres waarnaar niet afgeleverde emails worden verstuurd. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • siteadminname: De naam van de websitebeheerder. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)

Beveiliging

  • surveyPreview_require_Auth: standaard "aan"(true). Zet deze "uit"(false) als iedereen de enqûete kan testen, zonder in het beheergedeelte in te loggen, en zonder dat de enqûete actief is. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • usercontrolSameGroupPolicy: Standaard "aan"(true). Niet-beheerders (opgenomen in de LimeSurvey beheerinterface) zullen alleen andere gebruikers kunnen zien als ze beiden aan minstens één dezelfde groep gekoppeld zijn.
  • filterxsshtml: Als deze instelling "aan"(true) staat zal LimeSurvey enqûetes, vragen, antwoorden en groepen scannen op verdachte html-tags. Zet deze instelling alleen "uit"(false) als je je gebruikers vertrouwd met javascript, flashfilmpjes en dergelijke (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • demoModeOnly: Als deze instelling "aan"(true) staat zal LimeSurvey in demo-modus werken. Dat betekend:
    • Het is niet mogelijk om het beheeraccount te wijzigen
    • Het is niet mogelijk om bestanden te uploaden in het templatebeheer
    • Het is niet mogelijk om uitnodigingen en herinneringen via email te verzenden
    • Het is niet mogelijk om een database te extraheren
    • Het is niet mogelijk om de volgende zaken aan te popassen: sitenaam, standaard taal, standaard html-editor modus, XSS filter.

Bronbeheer

  • sessionlifetime: geeft aan hoe lang de sessie van een enqûete geldig is. Standaard 3600 seconden. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • memorylimit: geeft aan hoeveel geheugen LimeSurvey mag gebruiken. 32 (Megabyte) is het minimum om goed te kunnen werken. Mocht je timeouts (of andere problemen) hebben bij het genereren van statistieken, overweeg dan om 128 of zelfs 256 te gebruiken.

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

Uiterlijk

  • $lwcdropdowns: mogelijke waarden zijn "L" of "R". Zet deze op "R" om 'Lijst met commentaar'-vragen als radioknoppen te tonen, of op "L" om deze vraag als een dropdown-selectielijst. (uitgefaseerd in 2.0)
  • $dropdownthreshold: 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.
  • $repeatheadings: standaard '0' (niet herhalen). Zet deze op een waarde om bij vragen van het type 'array (flexible)' de kop opnieuw te tonen na dit aantal antwoorden. Een redelijk geschikte waarde is 15.
  • $addTitleToLinks: zet deze "aan"(true) als je wilt dat LimeSurvey de 'title'-tag aan ieder element in het menu. Dit helpt een schermvoorlezer de menu's te herkennen. Dit betekent echter dat de tooltips in een menu niet getoond worden.
  • $defaulttemplate: deze instelling bepaald het standaardthema dat gebruikt wordt voor het tonen van de 'publieke lijst' van enqûetes. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • $defaulthtmleditormode: bepaalt de standaardmodus waarin de HTML editor opstart. Geldige waarden zijn inline (standaard), popup en none. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld).
    • 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 in een popup vertoond. Sneller, maar de html-code is zichtbaar
    • none geen HTML Editor gebruiken

Taal & Tijd

  • $defaultlang: Zet deze op de standaardtaal waarin het beheerpaneel, en de openbare enqûetes getoond worden. Binnen een enqûete kun je zelf een afwijkende taal gebruiken (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)*$timeadjust: Als de webserver in een andere tijdzone staat dan waar jouw enqûete wordt gebruikt, zet hier dan de afwijking in uren. Dit is met name van belang voor enqûetes die tijdgecodeerd worden. (sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • $modrewrite: (niet geldig vanaf versie 2.0) Zet deze op "1" om fancy URL's te gebruiken. VErgeet hierbij niet de "htaccess.txt" in de directory te hernoemen naar ".htaccess". Ook moet de mod_rewrite module in Apache webserver geactiveerd zijn.

Gedrag

  • $allowmandbackwards: Zet deze op '1' om deelnemers toe te staan terug te gaan naar een vorige vraag, ook al is de huidige vraag een verplichte. '0' betekent dat de deelnemer eerst de verplichte vraag moet beantwoorden voordat ze terug kunnen gaan.
  • $deletenonvalues: Wees hier voorzichtig mee. Standaard (waarde '1') worden antwoorden die niet terzake doen opgeslagen met waarde 'NULL'. Een voorbeeld is dat een deelnemer de vraag 'geslacht?' beantwoord met 'vrouw'. Vervolgens beantwoordt hij een aantal vrouw-specifieke vragen, realiseert zich dat hij een fout gemaakt heeft, keert terug naar de geslacht-vraag, en kiest de optie 'man'. Nu zijn de antwoorden op de vrouw-vragen irrevelant, want hij krijgt (en beantwoordt) de man-specifieke vragen. Als je toch wilt dat de irrelevante antwoorden bewaard worden, zet dan deze instelling op '0'.
  • $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 'N/A'. Zo kan de gebruiker kiezen om de vraag niet te beantwoorden. '0' laat de gebruiker in ieder geval iets intypen.(sinds 1.87 wordt deze waarde overschreven met de waarden uit het Globale instellingen veld)
  • $printanswershonorsconditions: Deze instelling bepaalt of antwoorden op vragen die niet gesteld zijn vanwege één of meerdere besluit(en) toch getoond worden. '1' toont deze antwoorden.
  • $hide_groupdescr_allinone: Deze instelling wordt gebruikt door enqûetes met condities. Zet deze op de waarde "aan"(true) als je wilt dat de groepnaam en beschrijving ook verborgen worden als alle condities in de groep ook verborgen zijn.
  • $showpopups: Deze instellign bepaald of er popups getoond worden als vragen niet of niet correct beantwoord zijn. Waarde '1' (standaard) 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 nog steeds de indicatie bij de vragen die verplicht beantwoord moeten worden.  

Ontwikkeling

  • $debug: Met deze instelling zet je de PHP-errormededelingen op niveau E_ALL. Dit betekent dat elke afwijking op een script getoond wordt. Zet $debug op '1' als je de applicatie aan het debuggen bent, of '2' als je een ontwikkelaar bent. Laat deze waarde in productieomgeving op (de standaard) '0' staan, anders kunnen hackers mogelijk belangrijke informatie inzien.

Emailinstellingen

Opmerking: Sinds 1.87 worden alle waarden overschreven met de waarden uit het Globale instellingen veld.

  • $emailmethod: Bepaalt via welke methode emailberichten verzonden worden:
    • mail: via de interne PHP mailer
    • sendmail: via sendmail
    • smtp: via smtp-verwijzing. Gebruik deze optie als je LimeSurvey draait op een computer die niet je mailserver is.
  • $emailsmtphost: Als je als mailmethode 'smtp' gekozen hebt, vul hier dan de SMTP-server in. Als je bijvoorbeeld Google-mail gebruikt, vul dan in
 $emailsmtphost = 'smtp.gmail.com:465';
  • $emailsmtpuser: Vul hier de gebruikersnaam voor de SMTP-server in. Als de server geen toegangscontrole heeft, laat het dan leeg
  • $emailsmtppassword: Vul hier het wachtwoord voor de SMTP-server in. Als de server geen toegangscontrole heeft, laat het dan leeg
  • $emailsmtpssl: Vul hier de waarde 'ssl' of 'tls' in om SSL/TLS te gebruiken voor de connectie met de SMTP-server
  • $maxemails: Als je uitnodigingen of herinneringen stuurt aan deelnemers bepaalt deze instelling hoeveel mails er in een batch maximaal verstuurd mogen worden. Als dit getal te hoog staat kan het zijn dat het mailscript in een timeout loopt. Een gemiddelde webserver kan ongeveer 100 mails versturen in de 30 seconden dat een script draait. Krijg je daarbij timeouts, zet dan hier een lager aantal neer.

Statistieken and Respons bekijken

  • usejpgraph: (uitgefaseerd in 1.8) De JPGraph-bibliotheek geeft de mogelijkheid om statistieken in staaf- en taartgrafieken te tonen. Als je een goed geconfigureerde jpgraph hebt geinstalleerd, zet dan deze instelling op "1". Laat 'm anders op "0" staan. Let op: redelijk expirimenteel, verwacht wat vreemde resultaten.
  • jpgraphdir: (uitgefaseerd in 1.8) De fysieke lokatie van de jpgraph bibliotheek.
  • jpgraphfont: (uitgefaseerd in 1.8) Het lettertype dat gebruikt wordt in de grafieken. Een goed werkende instelling is "FF_FONT1".
  • embedded: Als je LimeSurvey wilt integreren in een andere websitepagina, dan kun je hier het versturen van HTML-headers uitzetten. Denk er dan wel aan dat je in de code gaat verwijzen naar de header-verzending van de bovenliggende pagina!
  • 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. 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 "uit"(false) als de URL inclusief parameters wilt opslaan, "aan"(true) als je alleen de URL wilt opslaan.
  • showaggregateddata: (>=1.8) Zet deze instelling op "aan" om standaard deviatie en gemiddelde bij statistieken te tonen. Ook worden geschaalde antwoorden (Array 5 punten en 5 punts keuze) samengepakt tot de waarden "goed" *(1+2), "matig" (3), en "slecht" (4+5).
  • PDF Export Settings: (>1.85) Zet de mogelijkheid om naar PDF te kunnen exporteren. Nog zeer experimenteel: de output is lelijk. Wil je ons helpen dit te verbeteren? Neem even contact met ons op.
    • usepdfexport: Zet deze op "0" om geen PDF te kunnen exporten, "1" om dat wel te kunnen.
    • pdfdefaultfont: Standaard lettertype van de PDF Export
    • pdffontsize: Standaard lettergrootte van de PDF Export. De titel van de enqûete is +4, groepen worden als +2 weergegeven.
    • notsupportlanguages = array('zh-Hant-TW','zh-Hant-HK','zh-Hans','ja','th');
    • pdforientation: Zet deze op 'L' voor Landschap of 'P' voor Portretafdruk
  • $showsgqacode: (>1.91) Deze instelling wordt gebruikt bij het afdrukken van de survey. {IMG(attId="78",height="16",width="16")} Het "aan"(true) zorgt ervoor dat de ID's van iedere vraag (en antwoorden) getoond worden. Deze kunnen datn gebruikt worden bij handmatige queries op de tabel 'Lime_survey_12345'
  • {IMG(attId="79",height="200",width="400")}

LDAP instellingen

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

Authenticatie

Delegeren van authenticatie naar de webserver

Systeembeheerders willen wellicht hun "enqûetebeheerders" authenticeren bij een centraal systeem (Active Directory, openLdap, Radius etc.) in plaats van de LimeSurvey-database. Hiervoor zet je de benodige software en opties aan op de webserver, en zet "auth_webserver"op "true"(aan) in config.php.

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

Delegatie van authenticatie zonder automatische import van gebruikers

Doordat de authenticatie gedelegeerd 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 heeft toegang tot LimeSurvey als:

  • hij/zij geauthenticeerd is door de webserver
  • de gebruikte loginnaam geldig is als gebruiker voor de LimeSurvey database.

Delegatie van authenticatie met automatische import van gebruikers

Dit kan lastig worden als je veel gebruikers moet beheren. Daarom is het wellicht makkelijker om de automatische import aan te zetten. Hiervoor gebruik je:

  • auth_webserver_autocreate_user: als deze "aan"(true) staat zal LimeSurvey geauthenticeerde gebruikers importeren. *auth_webserver_autocreate_profile: beschrijft de array van waarden die aan het gebruikersprofiel gehangen worden (zoals een nep-voornaam en nep-achternaam, email en rechten)

Als je deze nep-waarden voor echte waarden (uit het authenticatiesysteem) wilt vervangen, ontwikkel dan de functie hook_get_autouserprofile, waarin je het authenticatiesysteem bevraagd naar deze waarden.

De hook_get_auth_webserver_profile functie heeft de gebruikersnaam als input, en levert:

  • "false" of een lege array als de gebruiker niet geauthenticeerd is voor LimeSurvey
  • een array met alle waarden zoals beschreven in $WebserverAuth_autouserprofile
function hook_get_auth_webserver_profile($user_name)
{
     // Bevraag hier de gebruikersdata uit het externe authenticatiesysteem:
     ... $user_name_from_backend
     ... $user_email_from_backend
     ... $user_lang_from_backend
     ... $user_admin_status_frombackend_0_or_1 uit de groepen
     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);
}

// Als de gebruiker niet geauthenticeerd is, geef dan een lege array terug

     // return Array();

Een voorbeeld waarbij contact gelegd wordt met Atlassian's Crowd als authenticatiesysteem staat hier.

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 'mijnnaam' die rol krijgt. Deze kun je dan als volgt omsleutelen:

$config['auth_webserver_user_map'] = Array ('myname' => 'admin');

Zodra de gebruiker 'mijnnaam' 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

(> 1.81)

Een gebruiker kan het beheerpaneel opstarten, en een wegwerpwachtwoord gebruiken. Hiervoor is de kolom 'one_time_pw' in de gebruikerstabel beschikbaar.

Deze mogelijkheid moet echter wel aan gezet worden (use_one_time_passwords => true)Bekijk ook even "Het beheren van gebruikers".

Geavanceerde padinstellingen

Wanneer er geen problemen zijn, blijf dan met je vingers van deze instellingen. Deze kunnen alleen gewijzigd worden in config-defaults.php om effect te hebben.

  • $homeurl: De absolute URL naar de beheerscripts. De standaard is "http://www.mijndomein.nl/limesurvey/html/admin", zonder achterliggende schuine streep ("/"): de naam van je domein wordt door config.php ingevuld met de phpvariabele {$_SERVER['SERVER_NAME']}. Waarschijnlijk kun je dit gebruiken, en alleen de resterende directorystructuur aangeven om bij de beheerscripts te komen.
  • $publicurl: De absolute URL naar de publieke scripts. Deze staan standaard in de directory waar je ook LimeSurvey hebt neergezet.
  • $tempurl: Deze wijst naar de URL lokatie van de "/limesurvey/tmp" directory, of een directory waarin je LimeSurvey tijdelijke bestanden wilt laten opslaan. Deze directory moet Lees- en Schrijfrechten hebben.
  • $imagefiles: De URL naar de lokatie van de /limesurvey/admin/images-directory. Als je de plaatjes ergens anders wilt neerzetten, verander dan deze URL naar die lokatie.
  • $homedir: Wijst naar de fysieke lokatie van de LimeSurvey beheerscripts (bijvoorbeeld

"/home/usr/htdocs/limesurvey/admin"). Gebruik geen achterliggende schuine streep ("/"): de naam van de lokatie wordt door config.php ingevuld met de phpvariabele {$_SERVER['DOCUMENT_ROOT']}. Waarschijnlijk kun je dit gebruiken, en alleen de resterende directorystructuur aangeven om bij de beheerscripts te komen.

  • $publicdir: Wijst naar de fysieke lokatie van de LimeSurvey publieke scripts
  • $tempdir: Wijst naar de fysieke lokatie van de /limesurvey/tmp directory.
  • $fckeditordir: Wijst naar de fysieke lokatie van de FCKEditor
  • $fckeditexpandtoolbar: Bepaalt of de FCK Editor de toolbar laat zien als deze geopend wordt.
  • $pdfexportdir: De fysieke lokatie voor de PDF-exsportscripts (tcpdf.php extensiontcpdf.php)
  • $pdffonts: De fysieke lokatie van de TCPDF Lettertypen