Algemene vragen
From LimeSurvey Manual
Beginnen
Als je niet een halve handleiding wilt lezen om een idee te krijgen wat je met LimeSurvey kunt doen, dan kun je ook wat van de onderstaande video's op YouTube bekijken.
- Account maken en installeren
- Vraagtype - Array
- Beoordelingen
- Placeholdervelden
- Radioknoppenlijst
- Enquête kopiëren/importeren
- Vraag importeren
Een snelle introductie
Lees voor een beknopte handleiding van LimeSurvey de koppeling van je versie van LimeSurvey:
Enquête ontwerp en lay-out
Hoe kan ik index.php uit mijn URL weglaten
Als je kortere URLs wilt hebben dan kun je /index.php uit je URL halen door het wijzigen van application/config/config.php. Wijzig
'showScriptName' => true,
in
'showScriptName' => false,
Hiervoor moet je gebruik maken van een Apache webserver met een geïnstalleerde mod_rewrite module.
Met nginx webserver
Als je de Nginx http server (met PHP uitvoeren via FastCGI) gebruikt en de instelling 'urlFormat' => 'path' (zie config.php) wilt gebruiken, overweeg dan de volgende Nginx website-configuratie:
server {
set $host_path "/PATH/TO/LIMESURVEY";
server_name YOUR.SERVER.FQDN;
root /PATH/TO/LIMESURVEY;
charset utf-8;
try_files $uri /index.php?$uri&$args;
# Disallow reading inside php script directory, see issue with debug > 1 on note
location ~ ^/(application|docs|framework|locale|protected|tests|themes/\w+/views) {
deny all;
}
# Disallow reading inside runtime directory
location ~ ^/tmp/runtime/ {
deny all;
}
# Allow access to well-known directory, different usage, for example ACME Challenge for Let's Encrypt
location ~ /\.well-known {
allow all;
}
# Deny all attempts to access hidden files
# such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
}
#Disallow direct read user upload files
location ~ ^/upload/surveys/.*/fu_[a-z0-9]*$ {
return 444;
}
#Disallow uploaded potential executable files in upload directory
location ~* /upload/.*\.(pl|cgi|py|pyc|pyo|phtml|sh|lua|php|php3|php4|php5|php6|pcgi|pcgi3|pcgi4|pcgi5|pcgi6|icn)$ {
return 444;
}
#avoid processing of calls to unexisting static files by yii
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
try_files $uri index.php;
fastcgi_pass 127.0.0.1:9000; # Change this to match your settings
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Het ziet er ongeveer zo uit:
Hoe verwijder ik het * (rode sterretje) bij een verplichte vraag?
Instructies voor LimeSurvey 2
In LimeSurvey 2.x het rode sterretje bij verplichte vragen wordt gezet in het bestand template.css ("asterisk" class). Om het te verbergen:
- Open de sjabloon editor
- Maak een kopie van het sjabloon dat je wilt wijzigen
- Selecteer het bestand "template.css" en zoek naar de asterix class
- Voeg aan het einde van de asterix class".asterisk {display: none;}" toe.
- Bewaar template.css
- Leeg de cache van je browser zodat het bestand opnieuw wordt geladen.
Instructies voor LimeSurvey 3
De instructies zijn vergelijkbaar met de instructies hierboven voor LimeSurvey 2.
- Toegang tot het gewenste thema. Als het een standaardthema is, maak je er een kopie van door op de knop "Uitbreiden" te klikken.
- Open de lijst met thema's en klik op de thema-editor die overeenkomt met het nieuw gemaakte thema.
- Aan de linkerkant kun je de bijbehorende CSS-bestanden van het thema weergeven.
- Klik op custom.css en voeg de volgende regel toe:
.asterisk {display: none;}
- Sla de wijzigingen op. Het rode sterretje dat gewoonlijk voor de vraagtekst wordt weergegeven, is nu verborgen.
Hoe kan ik een flash-bestand toevoegen?
Ga naar Algemene instellingen en schakel het XSS-filter uit. Lees ook wat dit uitschakelen betekent. De volgende stappen werken alleen zonder actief filter.
- Ga naar de plek waar je je flash-bestand wilt toevoegen. Dit kan overal zijn waar je de geïntegreerde HTML editor, kunt gebruiken, dus o.a. ook in vragen, subvragen, antwoorden en welkom/eindteksten.
- Open de full-screen editor mode door te klikken op de knop 'LimeFitWin' op de toolbar.
- Op de full-screen editor toolbar staat een knop met het Flash-symbool. Als je daarop klikt, dan wordt er een dialoogvenster geopend.
- In deze dialoog kun je het pad naar je flash-bestand invullen OF je kunt hier naartoe bladeren.
Dat is alles!
Hoe maak ik een openbare enquête?
Als je een enquête wilt maken die door iedereen kan worden ingevuld, maak dan geen deelnemerstabel aan! Deel de enquête-link op het paneel overzicht.
Openbare registratie - verplichte velden
Als je een enquête deelnemerstabel gebruikt en je staat openbare aanmelding toe, dan krijgt de gebruiker de vraag:
Zoals je hierboven kan zien is alleen het e-mailadres verplicht.
Als je wilt dat alle drie de velden verplicht zijn, bewerk dan het enquête-thema dienovereenkomstig. Als je Fruity gebruikt, moet je naar het registratie-scherm gaan en kijken naar het e-mailadresveld van de deelnemer:
{# Participants email #}
<div class='{{ aSurveyInfo.class.registerformcolrowc }} form-group row' {{ aSurveyInfo.attr.registerformcolrowc }}>
<label {{ aSurveyInfo.attr.registerformcolrowclabel }} class='{{ aSurveyInfo.class.registerformcolrowclabel }} control-label'> {{ gT("Email address:") }} {{ include('./subviews/registration/required.twig') }}</label>
<div {{ aSurveyInfo.attr.registerformcolrowcdiv }} >
{{ C.Html.textField('register_email', aSurveyInfo.sEmail, ({'id' : 'register_email','class' : 'form-control input-sm','required' : true})) }}
</div>
</div>
Zorg er daarna voor dat de velden voor de voornaam en achternaam dienovereenkomstig bewerkt worden door het label toe te voegen:
{{include ('./ subviews/registration/required.twig')}}
en deze regel waardoor het veld verplicht ingevuld moet worden:
'required' : true
Het bewerkte bestand zou er als volgt uit moeten zien:
{# Participants first name #}
<div class='{{ aSurveyInfo.class.registerformcolrow }} form-group row' {{ aSurveyInfo.attr.registerformcolrow }}>
<label for='register_firstname' class='{{ aSurveyInfo.class.registerformcolrowlabel }} control-label '>{{ gT("First name:") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
<div class="">
{{ C.Html.textField('register_firstname', aSurveyInfo.sFirstName, ({'id' : 'register_firstname','class' : 'form-control', 'required' : true})) }} {# mandatory field #}
</div>
</div>
{# Participants last name #}
<div class='{{ aSurveyInfo.class.registerformcolrowb }} form-group row' {{ aSurveyInfo.attr.registerformcolrowb }}>
<label {{ aSurveyInfo.attr.registerformcolrowblabel }} class='{{ aSurveyInfo.class.registerformcolrowblabel }} control-label '>{{ gT("Last name:") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
<div {{ aSurveyInfo.attr.registerformcolrowbdiv }} >
{{ C.Html.textField('register_lastname', aSurveyInfo.sLastName, ({'id' : 'register_lastname', 'class' : 'form-control', 'required' : true})) }} {# mandatory field #}
</div>
</div>
Nu zou de openbare registratiepagina er zo moeten uitzien (alle velden zijn verplicht):
De taalkeuze verbergen
De stappen om beide taalkeuzes te verbergen (in de buurt van de titel van de enquête en in de rechterbovenhoek van de pagina) worden hier beschreven.
Verbergen van "Annuleren, verwijder alle ingevulde antwoorden"
Als je de knop "Annuleren, verwijder alle ingevulde antwoorden" wilt verbergen, moet je het bestand nav_bar.twig in het enquêtethema bewerken.
De regel die moet worden verwijderd (of beter op commentaar moet worden gezet) is:
{{ include('./subviews/navigation/clearall_links.twig') }}
Er is na deze wijziging geen optie om de enquête te verlaten en te wissen.
Foutje gemaakt, wat nu
Ik ben mijn admin wachtwoord vergeten. Hoe kan ik het resetten?
vanaf versie 2.00
- Benader je server met de commandoregel (bijvoorbeeld: ssh)
- Controleer of je via de commandoregel toegang tot PHP hebt (Lees: http://php.net/features.commandline.php).
- Ga naar je LimeSurvey map
- Tik in:
php application/commands/starter.php resetpassword NIEUWE_BEHEERDERSNAAM NIEUWE_BEHEERDERSWACHTWOORD
ofphp application/commands/console.php resetpassword NIEUWE_BEHEERDERSNAAM NIEUWE_BEHEERDERSWACHTWOORD
De php kan volledige maptoegang nodig hebben, voorbeeld /usr/bin/php
vanaf versie 2.x, met alleen FTP-toegang
Lees: ResetPasswordController
Direct het wachtwoord wijzigen in de database
Als je zelf toegang hebt tot de database van LimeSurvey, dan kun je het wachtwoord vervangen met het nieuwe wachtwoord als je eerst de SHA256 hash bepaald. Hulpmiddel: SHA256 hash bepalen.
Voorbeeld: Je kan gebruik maken van deze regel om een wachtwoord in te stellen:
UPDATE lime_users SET password = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438 WHERE uid =1;
Hier met de prefix lime_ en de database al geselecteerd.
Hoe kan ik gegevens terugzetten van gedeactiveerde enquêtes?
We raden aan om altijd de time-out optie te gebruiken in plaats van het deactiveren van een enquête. Als je per ongeluk je enquête sluit, dan is het van belang dat je er niets in wijzigt!
Alleen in dat geval werken de volgende stappen:
- Activeer je enquête opnieuw
- Klik op Responsen in de taakbalk.
- Klik op de knop "Importeer antwoorden van een gedeactiveerde enquête".
- Kies je source table.
- Klik op de knop "Importeer responsen".
Ik heb een vraag/vraaggroep/enquête verwijderd!
Als je iets verwijderd, dat is het weg. Hopelijk heb je nog een back-up als je het terug wilt hebben.
Hardware en Software vereisten
Voor algemene vereisten: installatie instructies.
Wat zijn de beperkingen van LimeSurvey
snelheid
Er is geen snelheidslimiet voor LimeSurvey. Het hangt af van hoe snel je server en je verbinding is. Als je denkt dat je binnen een korte tijd veel gebruikers krijgt en je denkt dat dit een probleem kan zijn, probeer dan op ons forum te zoeken naar ervaringen van andere gebruikers of raadpleeg een van onze partners op https://limesurvey.com.
omvang van enquête
MySQL en MariaDB
NB: 'Survey size' geeft aan het maximum aantal vragen (en antwoorden) in je enquête - dit is niet het aantal mensen dat je enquête invult (dat aantal is onbeperkt). Theoretisch is er ook geen limiet aan het aantal vragen/antwoorden. Maar door de database zijn er toch beperkingen. De belangrijkste is het aantal velden (columns) in de tabel met de responsen.
- MySQL ISAM: De som van de lengtes van de VARCHAR en CHAR velden in een tabel is maximaal 64KB.
- MySQL InnoDB: Maximum aantal van 1000
- MS SQL Server 2000: Maximum aantal van 1024. Er is een maximum van 8,060 bytes voor de grootte van een rij, dan kan er zelfs als de enquête is geactiveerd de deelnemer de invoer niet verzenden als er erg veel invoer is.
- Postgres: Maximum aantal van 250-1600 afhankelijk van het type. Het aantal kan met een factor van 4 worden vergroot door de default blocksize te vergroten naar 32k. Lees Installatie vragen en PostgreSQL FAQ.
De mySQL ISAM engine is de lastigste (lees mysql documentatie). Omdat er maximaal 65,535 bytes per rij zijn en er in utf8 drie bytes per karakter zijn, kan het maximum maar 21,844 karakters zijn (afhankelijk van je DB encoding).
Je kunt de grootte van je enquête grofweg als volgt bepalen:
- Elke meervoudige numerieke vraag: 20 tekens per antwoord
- Elke meervoudige keuze en array vraag antwoord: 5 tekens per antwoord
- Elke ander vraagtype: 5 tekens
- Verhoog dit met 10% voor de overhead
Met Microsoft SQL
Er zijn geen vaste limieten voor MSSQL. Informatie op de microsoft-website.
De 8.060 bytes per rij kunnen na activering verschijnen wanneer u door responsen en gegevens gaat bladeren. U kunt de antwoordcode exporteren en niet de antwoordtekst of proberen minder kolommen te exporteren.
Met PostgreSQL
Wanneer u een response probeert te exporteren: u kunt een SQLSTATE[54000]-fout krijgen. U kunt enkele kolommen exporteren. Zie forum.
Hoe het maximum aantal columns in PostgreSQL te vergroten
Als je enquête teveel vragen heeft kun je de blocksize in PostgreSQL aanpassen zodat je meer columns kunt aanmaken. Dit is gevaarlijk omdat je PostgreSQL moet compileren en BLCKSZ op een hogere waarde moet zetten, bijvoorbeeld 16kiB of 32kiB. Zoek naar de configuratie optie "--with-blocksize=BLOCKSIZE". Lees de archieven van de PostgreSQL mailinglijst of informeer bij (pgsql-patches(at)postgresql(dot)org).
Instructies voor Debian (met dank aan Martin Pitt):
sudo apt-get build-dep postgresql-8.3
apt-get source postgresql-8.3
cd postgresql-8.3-*
debian/rules patch
sensible-editor build-tree/postgresql-8.3.5/src/include/pg_config_manual.h
dpkg-buildpackage -us -uc -b -nc
NB: het bovenstaande kon niet worden gereproduceerd in Ubuntu 14.04 op Augustus 2014. Er is een patch nodig (de configuratie-optie is niet genoeg). Lees deze instructies (getest met PostgreSQL 9.3 op Linux):
Fatal error: Allowed memory size
Afhankelijk van je server configuratie kun je memory problemen krijgen, die worden gemeld met een tekst als '"Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296".
Je kunt proberen de limiet te verhogen door een optionele instelling te doen in het config bestand.
Bedenk dat lokale instellingen van een applicatie altijd minder zwaar wegen dan globale server-instellingen. Om de geheugenlimiet te verhogen naar 128M op je server:
- memory_limit = 128M zetten in je php.ini bestand van je server (dit wordt aanbevolen, als je toegang hebt).
- memory_limit = 128M in je php.ini bestand in de LimeSurvey-root
- php_value memory_limit 32M in een .htaccess bestand in de LimeSurvey-root.
- ini_set('memory_limit', '128M'); in je config.php.
Specifieke configuratie
Onder bepaalde omstandigheden moet je de configuratie wijzigen in application/config/config.php
IE 11 en Windows 7 / Windows 8
Er was een bekend probleem met de sessie in IE 11, waardoor gebruikers een enquête niet konden voltooien.
Het is opgelost door de sessie een unieke naam te geven.
Dit is gedaan door iets toe te voegen aan het configuratiebestand.
// Set the name of the session
'session' => array (
'sessionName' => "YOURUNIQUESESSIONNAME",
),
Twee LimeSurvey installaties op hetzelfde domein
Als je 2 installaties van LimeSurvey op hetzelfde domein hebt, maar in een andere map, moet je de configuratie van de sessie aanpassen.
Bijvoorbeeld, je hebt example.org/ls1 en example.org/ls2 : het bijwerken van het configuratie-bestand van ls1:
'sessie' => array (
'cookieParams' => array(
'path' => '/ls1',
),
),
'request' => array(
'csrfCookie' => array( 'path' => '/ls1' )
),