Valgfrie innstillinger
From LimeSurvey Manual
Denne delen er rettet mot deg som ønsker å redigere konfigurasjonsinnstillinger som ikke kan endres via det grafiske brukergrensesnittet (GUI) i LimeSurvey-installasjonen. Husk at alle endringer i LimeSurvey-rotmappen gjøres på eget ansvar. Hvis du likevel opplever problemer eller trenger mer veiledning, kan du delta i diskusjonsforumene for å få hjelp fra LimeSurvey-fellesskapet.
Innledning
For å endre konfigurasjonsinnstillingene for installasjonen må du redigere de valgfrie innstillingene. De finnes i /application/config/config-defaults.php, som ligger i LimeSurvey-rotmappen. Standardinnstillingene for en standardinstallasjon finnes i config-defaults.php. Noen av dem kan overstyres i dialogen for globale innstillinger, mens de andre må redigeres manuelt.
Ved en oppgradering endres bare innstillingene i config-defaults.php. Når du redigerer config.php-filen, blir dine egne innstillinger derfor bevart.
For å oppdatere/legge til LimeSurvey-innstillinger i /application/config/config.php må du oppdatere config-matrisen:
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value', // Update default LimeSurvey config here
)
Yii-innstillinger
LimeSurvey bruker Yii-rammeverket, som har egne konfigurasjonsparametere i filene application/config/internal.php og application/config/config.php. Du kan også få tilgang til enkelte spesifikke konfigurasjonsinnstillinger i LimeSurvey via Yii-konfigurasjonen.
Siden config.php-matrisen slås sammen med hele konfigurasjonen, kan du erstatte alle Yii-parametere i config.php-filen.
De Yii-spesifikke innstillingene angis i components-matrisen:
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
Database-innstillinger
Database-innstillingene skrives til config.php av installasjonsfilen når du installerer LimeSurvey for første gang. Ved behov kan du oppdatere denne delen av config.php-filen. Husk at du gjør dette på eget ansvar! Se også Yii-dokumentasjonen, og husk at LimeSurvey bare støtter følgende databasetyper: mysql, pgsql, dblib, mssql og sqlsrv.
Sesjonsinnstillinger
Du kan angi enkelte sesjonsparametere i config.php (se de to eksemplene nedenfor). Du kan fjerne kommentartegn fra/legge til den delen du trenger i config.php. Se Yii-dokumentasjonen for andre innstillinger.
Bruk tabellbaserte sesjoner
LimeSurvey kan bruke tabellbaserte sesjoner. Du finner en kommentert del i den genererte standardfilen config.php. For å bruke tabellbaserte sesjoner fjerner du // foran hver linje.
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
Andre sesjonsoppdateringer
Hvis du bruker SSL ('https') for LimeSurvey-installasjonen, vil du øke sikkerheten for sesjonen ved å legge til følgende linjer i 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
),
),
Hvis du vil låse domenet for en informasjonskapsel, bruker du følgende syntaks i config.php:
// Set the domain for cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Hvis du har flere installasjoner på samme server, kan det være raskere og enklere å angi et eget sesjonsnavn for hver LimeSurvey-instans. Dette kan være nødvendig for IE11 under visse forhold (se issue 12083)
// Set the name of the session
'session' => array (
'sessionName' => "LimeSurveyN1",
),
Request-innstillinger
Request-innstillingene er viktige, men standardinnstillingene er allerede optimalisert for bruk med LimeSurvey. Du kan lese mer om dem i Yii-dokumentasjonen.
Konfigurasjonen av request-innstillingene i LimeSurvey kan for eksempel endres på følgende måte (på eget ansvar):
// 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, path is used if you have different instance on same domain
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Hvis du bare trenger å endre URL-en for token-e-poster, angir du publicurl i config.php-filen.
Tillat bruk av sesjon og CSRF-validering i iFrame
Når du slår på Tillat innebygd IFrame i globale sikkerhetsinnstillinger, lar du bare nettlesere vise undersøkelsene dine i en iframe. For at deltakere skal kunne fylle ut og sende inn en undersøkelse i en iframe, må du også endre innstillingene for sesjons- og CSRF-informasjonskapslene i config.php som beskrevet nedenfor. Begge informasjonskapslene må sendes med SameSite=None, som nettlesere bare godtar over en gyldig HTTPS-tilkobling.
Tillat sesjonsstart i iframe
Sesjonsinformasjonskapselen (cookie) må være sikker (krever en gyldig HTTPS-tilkobling) og httponly, og samesite må være satt til None. Nøklene i cookieParams må skrives med bare små bokstaver.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Uncomment the following lines if you need table-based sessions.
// Note: Table-based sessions are currently not supported on MSSQL server.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' => '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'None',
),
),
Tillat CSRF-informasjonskapsel i iframe
Som med sesjonsinformasjonskapselen må CSRF-informasjonskapselen være sikker, og sameSite må være satt til None. Merk at nøkkelen skrives sameSite her. Legg til hele request-matrisen på samme nivå som session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
URL-innstillinger
For å endre standard URL-innstillinger oppdaterer du urlManager:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
Du kan også legge til .html etter undersøkelses-ID-en på følgende måte:
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
For mer informasjon, se Yii-dokumentasjonen.
Loggingsinnstillinger
Yii tilbyr ulike løsninger for å generere logger. For å finne ut mer om dem, se spesialtemaet om logging. LimeSurvey bruker som standard '1' eller '2', noe som lar alle nettbrukere se loggene. Du kan lage egne innstillinger direkte i Yii.
En rask løsning for å logge feil og advarsler til filer er for eksempel:
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) */
);
limesurvey/tmp/runtime/application.log, som ligger i LimeSurvey-rotmappen..
Runtime-sti
Runtime-stien må være en mappe som «webbrukeren» kan lese og skrive til. Runtime-stien inneholder imidlertid filer med potensielt sikkerhetsrelevant informasjon som ligger i det offentlig tilgjengelige webområdet. LimeSurvey samler disse filene i tmp-mappen i LimeSurvey-rotmappen. For å hindre tilgang til slike viktige data kan du sette runtime-stien utenfor det offentlige webområdet ved å redigere de aktuelle linjene i filen /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Generelle innstillinger
- sitename: Gir undersøkelsesnettstedet ditt et navn. Dette navnet vises i oversikten over undersøkelser og i overskriften i administrasjonen. Standardverdien er 'LimeSurvey', og den kan overstyres i dialogen for globale innstillinger eller redigeres i config.php.
- siteadminemail: Dette er standard e-postadresse for nettstedets administrator, og den brukes til systemmeldinger og kontaktalternativer. Denne innstillingen brukes bare som standardverdi og kan overstyres i dialogen for globale innstillinger.
- showEmailInError: Bruk standard e-postadresse for nettstedets administrator (siteadminemail) i mailto-lenken på feilsiden. Deaktiver for å vise bare administratorens navn. Standard er å unngå mer spam til administrasjonens e-postadresse.
- siteadminbounce: Dette er e-postadressen som returnerte e-poster (bounce) sendes til. Denne innstillingen brukes bare som standardverdi og kan overstyres i dialogen for globale innstillinger.
- siteadminname: Det virkelige navnet til nettstedets administrator. Denne innstillingen brukes bare som standardverdi og kan overstyres i dialogen for globale innstillinger.
- proxy_host_name: Dette er vertsnavnet til proxy-serveren din (det må oppgis hvis du er bak en proxy og vil oppdatere LimeSurvey med ComfortUpdate).
- proxy_host_port: Dette er porten til proxy-serveren din (den må oppgis hvis du er bak en proxy og vil oppdatere LimeSurvey med ComfortUpdate).
Sikkerhet
- maxLoginAttempt: Dette er antall forsøk en bruker har på å skrive inn riktig passord før IP-adressen hans eller hennes blir blokkert/utestengt. Standardverdien er 3, og den kan endres i config.php.
- timeOutTime: Hvis brukeren skriver inn passordet feil <maxLoginAttempt> ganger, blir han eller hun utestengt i <timeOutTime> sekunder. Standardverdien er 10 minutter, og den kan endres i config.php.
- maxLoginAttemptParticipants: Dette er antall forsøk en deltaker har på å skrive inn en gyldig tilgangskode før IP-adressen hans eller hennes blir blokkert/utestengt. Standardverdien er 3, og den kan endres i config.php.
- timeOutParticipants: Hvis deltakeren skriver inn tilgangskoden feil <maxLoginAttemptParticipants> ganger, blir han eller hun utestengt i <timeOutParticipants> sekunder. Standardverdien er 10 minutter, og den kan endres i config.php.
- surveyPreview_require_Auth: Satt til true som standard. Hvis du setter denne til 'false', kan hvem som helst teste undersøkelsen din via undersøkelsens URL, uten å logge inn i administrasjonspanelet og uten at undersøkelsen først må aktiveres. Denne innstillingen er en standardverdi og kan overstyres i dialogen for globale innstillinger eller redigeres i config.php.
- usercontrolSameGroupPolicy: Satt til true som standard. Som standard vil brukere uten administratorrettigheter som er definert i LimeSurveys administrasjonsgrensesnitt bare kunne se brukere de selv har opprettet eller brukere som tilhører minst én felles gruppe. Standardverdien kan overstyres i dialogen for globale innstillinger eller redigeres i config.php.
- demoMode: Hvis dette alternativet er satt til 'true' i config.php, går LimeSurvey over i demomodus. Demomodus endrer følgende:
- Deaktiverer endring av administratorbrukerens detaljer og passord;
- Deaktiverer opplasting av filer i malredigeringen;
- Deaktiverer sending av e-postinvitasjoner og påminnelser;
- Deaktiverer opprettelse av databasedump;
- Deaktiverer muligheten til å endre følgende globale innstillinger: navn på nettstedet, standardspråk, standard HTML-redigeringsmodus, XSS-filter.
- forcedsuperadmin: Matrise med bruker-ID-er som har alle rettigheter i hele LimeSurvey. Denne innstillingen kan bare endres i filen config.php. Rettighetene til denne brukeren kan ikke redigeres i globale tillatelser for en bruker, heller ikke av andre tvungne superadministratorer. Som standard er brukeren med disse rettighetene brukeren med ID 1, den første brukeren som opprettes rett etter installasjonen.
- force_ssl: tvinger LimeSurvey til å kjøre via HTTPS eller til å blokkere HTTPS. Se Tving HTTPS i administrasjonsgrensesnittet for globale innstillinger.
- ssl_emergency_override: Denne innstillingen slår av SSL med tvang. Hvis du har slått på HTTPS/SSL i de globale innstillingene, men serveren din ikke har HTTPS aktivert, er den eneste måten å slå det av på å endre en verdi direkte i databasen. Dette lar deg tvinge HTTPS av mens du endrer de globale innstillingene for Tving HTTPS. Den bør alltid være false, bortsett fra i nødssituasjoner der du setter den til true inntil du har løst problemet. Denne innstillingen kan bare settes via filen config.php.
- ssl_disable_alert: Deaktiver varselet til superadministratoren om at SSL ikke er påtvunget, hvis du virkelig ikke kan eller vil tvinge SSL. Denne innstillingen kan bare settes via filen config.php.
- allow_unserialize_attributedescriptions: Tillat unserialisering (med PHP-funksjonen unserialize) av attributter for tilgangskoder ved import eller lesing av et undersøkelsesobjekt. Attributtdata for tilgangskoder lagres som JSON. Hvis du importerer en undersøkelsesfil fra en veldig gammel LimeSurvey-versjon og trenger attributtene for tilgangskoder, må du aktivere denne innstillingen. Advarsel: Unserialisering kan føre til at kode lastes og kjøres på grunn av objektinstansiering og autoloading, og en ondsinnet bruker kan kanskje utnytte dette. Denne innstillingen kan bare settes via filen config.php.
- allow_unserialize_attachments: Tillat unserialisering (med PHP-funksjonen unserialize) av vedleggsattributter ved import av undersøkelse. I LimeSurvey 6.16.17 ble vedleggsattributtet flyttet fra serialize til json_encode. Hvis du må beholde vedlegg ved import av gamle LSS-filer, må du tillate det. Advarsel: Unserialisering kan føre til at kode lastes og kjøres på grunn av objektinstansiering og autoloading, og en ondsinnet bruker kan kanskje utnytte dette. Denne innstillingen kan bare settes via filen config.php.
- twig_getConfig_extraallowlist: Lar deg tillate bestemte elementer for getConfig-funksjonen i Twig. LimeSurvey tillater allerede de mest nødvendige og brukte innstillingene, men du kan trenge flere. Hvis du vil tillate 'securesetting' og 'anothersetting', setter du denne til
['securesetting','anothersetting']slik:'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Denne innstillingen kan bare settes via filen config.php.
Beskyttelse mot cross-site scripting (XSS)
LimeSurvey tillater ikke noe brukerskript på administrasjonssiden. Hvis du finner en måte for en bruker å legge til et XSS-skript på administrasjonssiden, kan du se vår sikkerhetspolicy.
Skript på de offentlige sidene styres av innstillingene for XSS-filter.
- filterxsshtml: Denne innstillingen aktiverer filtrering av mistenkelige HTML-tagger i undersøkelser, grupper, spørsmål og svartekster i administrasjonsgrensesnittet. La denne stå på 'false' bare hvis du har full tillit til brukerne du har opprettet for administrasjonen av LimeSurvey, og hvis du vil at disse brukerne skal kunne bruke JavaScript, Flash-filmer osv. Superadministratorer får aldri HTML-en sin filtrert. Standardverdien kan overstyres i dialogen for globale innstillinger.
- filterxsshtml_forcedall: Tving
filterxsshtmltil true for alle brukere og deaktiver endringer i administrasjonsgrensesnittet. Aktiverer filtrering av mistenkelige HTML-tagger også for superadministratoren. - filterxsshtml_allowforcedsuperadmin: Brukes bare hvis
filterxsshtml_forcedaller true. Tillater atforcedsuperadmin(som standard administratorbruker nr. 1) legger til hvilket som helst skript og HTML. - disablescriptwithxss: Tillat oppdatering av skript i spørsmål: som standard true, som følger XSS-reglene; sett til false for å tillate det for alle brukere. Standardverdien kan overstyres i dialogen for globale innstillinger.
- filterxsshtml_enablescript: Brukes bare hvis filterxsshtml_forcedall er true. Aktiver spørsmålsskript for bestemte brukere:
gui: tillat endring av innstillingen via grensesnittet;superadmin: bare superadministrator;forcedsuperadmin: bare tvungen superadministrator; som standard: ingen bruker, og endring via grensesnittet er ikke tillatt
Tillatt filopplasting
- allowedthemeimageformats : Bildefiltyper som er tillatt å laste opp i temadelen. Som standard er SVG-filer deaktivert på grunn av potensielle XSS-angrep.
- allowedthemeuploads : Andre filtyper som er tillatt å laste opp i temadelen (zip-fil)
- allowedresourcesuploads : Filtyper som er tillatt å laste opp i ressursdelen og med HTML-skriveprogrammet
- allowedpluginuploads : Filtype som er tillatt ved opplasting av zip-fil for tillegg.
Skriv inn en streng med filtyper atskilt med komma. For eksempel:
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Advarsel: Vær alltid forsiktig når du tillater filopplastinger. Skadelig aktivitet kan forekomme.
Tillegg
- usePluginWhitelist : Hvis den er sann, kan tillegg som ikke står på tillatelseslisten (se 'pluginWhitelist') verken installeres eller lastes. Dette kan deaktivere tillegg som allerede er installert.
- pluginWhitelist : Liste over navn på tillegg som tillates installert og lastet når 'usePluginWhitelist' er sann. Kjernetillegg står implisitt på tillatelseslisten.
- corePluginBlacklist : Liste over navn på kjernetillegg som er forbudt når 'usePluginWhitelist' er sann.
- disablePluginUpload : Når denne innstillingen er sann, er funksjonen «Plugin Upload» deaktivert
Vertskontroll
- allowedHosts : for å unngå Host Header Injection kan du angi tillatte verter for alle handlinger. Hvis du bruker ulike verter for den offentlige siden og administrasjonssiden, må du angi begge som tillatte verter.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Ressurser
- iSessionExpirationTime: Angir tiden i sekunder før en undersøkelsessesjon utløper. Den gjelder bare hvis du bruker databasesesjoner. Hvis du bruker databasesesjoner, endrer du parameteren i config.php eller overstyrer standardverdien i dialogen globale innstillinger.
- memory_limit: Dette bestemmer hvor mye minne LimeSurvey har tilgang til, i megabyte. Standardverdien er '256'. Hvis du får tidsavbruddsfeil eller problemer med å generere statistikk eller eksportere filer, øker du denne grensen til '512' eller høyere. Hvis webserveren din har satt en høyere grense i php.ini, ignoreres denne innstillingen.
For å øke minnegrensen til 128M kan du også prøve å legge til:
- memory_limit = 128M i serverens hovedfil php.ini (anbefalt hvis du har tilgang)
- memory_limit = 128M i en php.ini-fil i LimeSurvey-rotkatalogen
- php_value memory_limit 128M i en .htaccess-fil i LimeSurvey-rotkatalogen
- max_execution_time: Angir hvor mange sekunder et skript får kjøre. Hvis denne grensen nås, returnerer skriptet en fatal feil. For å kunne eksportere store mengder undersøkelsesdata og statistikk prøver LimeSurvey som standard å sette den til 1200 sekunder. Du kan angi en lengre eller kortere tid ved behov. Kun tilgjengelig via php-konfigurasjonsfilen.
Utseende
- repeatheadings: Med spørsmålstypen Matrise har du ofte mange underspørsmål som, når de vises på skjermen, tar opp mer enn én side. Denne innstillingen lar deg bestemme hvor mange underspørsmål som skal vises før overskriftsinformasjonen for spørsmålet gjentas. En god verdi er rundt 15. Hvis du ikke vil at overskriftene skal gjentas i det hele tatt, setter du den til 0. Denne innstillingen overstyres i dialogen globale innstillinger.
- minrepeatheadings: Minste antall gjenværende underspørsmål som kreves før overskriftene gjentas i matrisespørsmål. Standardverdien er 3, og den kan endres i config.php.
- defaulttheme: Denne innstillingen angir standardtemaet som brukes for den «offentlige listen» over undersøkelser. Denne innstillingen kan overstyres i dialogen globale innstillinger eller endres i config.php.
- defaulthtmleditormode: Angir standardmodus for det integrerte HTML-skriveprogrammet. Denne innstillingen kan overstyres i dialogen globale innstillinger eller endres i config.php. Gyldige innstillinger er:
- 'inline' - Felt erstattes direkte på siden av et HTML-skriveprogram. Tregt, men praktisk og brukervennlig;
- 'popup' - Legger til et ikon som åpner HTML-skriveprogrammet i et popup-vindu ved behov. Raskere, men HTML-koden vises i skjemaet;
- 'none'- Ingen HTML-skriveprogram;
- column_style: Definerer hvordan kolonner vises for svar i undersøkelsen når du bruker display_columns. Den kan endres i filen config.php. Gyldige innstillinger er:
- 'css' - bruker en av de ulike CSS-metodene for å lage kolonner (se malens stilark for detaljer);
- 'ul' - kolonnene vises som flere flytende uordnede lister (standard);
- 'table' - bruker en konvensjonell tabellbasert layout;
- NULL - deaktiverer bruk av kolonner.
Språk og tid
- defaultlang: Dette bør settes til standardspråket som skal brukes i administrasjonsskriptene dine, og er også standardinnstillingen for språk i den offentlige undersøkelseslisten. Denne innstillingen kan overstyres i dialogen globale innstillinger eller endres i config.php.
- timeadjust: Hvis webserveren din er i en annen tidssone enn stedet undersøkelsene dine er basert, angir du her forskjellen mellom serveren og din egen tidssone. For eksempel bor jeg i Australia, men bruker en amerikansk webserver. Webserveren ligger 14 timer bak min lokale tidssone. Innstillingen min her er derfor «14». Med andre ord legges det til 14 timer på webserverens tid. Denne innstillingen er spesielt viktig når undersøkelser tidsstempler svarene. Denne innstillingen kan overstyres i dialogen globale innstillinger eller endres i config.php.
Undersøkelsens oppførsel
- deletenonvalues: Bruk denne funksjonen med forsiktighet. Som standard (verdien 1) settes irrelevante spørsmål til NULL i databasen. Dette sikrer at dataene i databasen er internt konsistente. Det finnes imidlertid sjeldne tilfeller der du kan ønske å beholde irrelevante verdier, og da kan du sette verdien til 0. Du spør for eksempel en mann om kjønnet hans, og han svarer ved en feil «kvinne» og besvarer deretter noen kvinnespesifikke spørsmål (spørsmål som er betinget av at man er kvinne, og som dermed bare er relevante for kvinner). Så oppdager han feilen, går tilbake, setter kjønn til «mann» og fortsetter i undersøkelsen. Nå er de kvinnespesifikke spørsmålene irrelevante. Hvis
$deletenonvalues==1, blir de irrelevante verdiene tømt (satt til NULL) i databasen. Hvis$deletenonvalues==0, blir de feilaktige svarene hans ikke slettet, så de vil fortsatt finnes i databasen når du analyserer den. - shownoanswer: Når et spørsmål av typen radioknapp/nedtrekksliste som inneholder redigerbare svar (f.eks. liste- og matrisespørsmål) ikke er obligatorisk og 'shownoanswer' er satt til 1, vises i tillegg alternativet «Ubesvart», slik at deltakerne kan velge å la være å svare på spørsmålet. Noen foretrekker at dette ikke er tilgjengelig. Denne innstillingen kan overstyres i dialogen globale innstillinger eller endres i config.php. Gyldige verdier er:
- '0': Nei;
- '1': Ja;
- '2': Undersøkelsens administrator kan velge.
- printanswershonorsconditions: Denne innstillingen bestemmer om printanswers-funksjonen skal vise svar fra spørsmål som var skjult av betingelsesforgrening (standard: 1 = skjul svar fra spørsmål som er skjult av betingelser).
- showpopups: Vis popup-meldinger hvis obligatoriske eller betingede spørsmål ikke er besvart riktig:
- '2' = bestemt av temaalternativet (standard)
- '1'= vis popup-melding;
- '0'= vis meldingen på siden i stedet;
- '-1'= ikke vis meldingen i det hele tatt (i dette tilfellet vil brukerne fortsatt se de spørsmålsspesifikke tipsene som viser hvilke spørsmål som må besvares).
Oppførsel for numeriske spørsmålstyper
- bFixNumAuto: Numeriske felt kan filtreres automatisk for å fjerne alle ikke-numeriske verdier. Som standard er dette aktivert, men du kan deaktivere det globalt. Denne innstillingen henger sammen med Fiks automatisk numerisk verdi i innebygde temaalternativer. Den var aktivert for Ja, og deaktivert for For uttrykk og Nei.
- bNumRealValue: Numeriske felt som brukes i uttrykksbehandleren kan fikses eller ikke. Som standard er de fikset. Hvis NUMERIC er et numerisk spørsmål: deaktivert eller 0 : {NUMERIC} med ugyldige tegn gir '', aktivert eller 1 : {NUMERIC} gir alle tegn som er skrevet inn. Denne innstillingen henger sammen med Fiks automatisk numerisk verdi i innebygde temaalternativer. Den var aktivert for Ja og For uttrykk, og deaktivert for Nei.
Utvikling og feilsøking
- debug: Med denne innstillingen setter du PHPs feilrapportering til E_ALL. Det betyr at hver minste merknad, advarsel eller feil knyttet til skriptet vises. Denne innstillingen bør bare settes til '1' hvis du prøver å feilsøke applikasjonen av en eller annen grunn. Hvis du er utvikler, setter du den til '2'. Ikke sett den til '1' eller '2' i produksjon, siden det kan føre til at stier avsløres. Standardverdien er '0', og den kan endres i config.php.
- debugsql: Aktiver denne innstillingen hvis du vil vise alle SQL-spørringer som er utført for skriptet nederst på hver side. Svært nyttig for å optimalisere antall spørringer. For å aktivere den endrer du standardverdien til '1' i filen config.php.
- use_asset_manager: Som standard deaktiverer feilsøkingsmodus ressursbehandleren (asset manager). Du kan tillate bruk av ressursbehandleren også når feilsøkingsmodus er aktivert.
Hvis du opplever en feil i applikasjonen, anbefaler vi på det sterkeste å aktivere feilsøkingsinnstillingen for å få en mer detaljert feilmelding som du kan sende inn sammen med feilrapporten:
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Hvis du jobber med tillegg og trenger en rask måte å skrive ut variabler på skjermen: du kan bruke funksjonen traceVar. Hvis debug er satt, bruker denne funksjonen CWebLogRoute for å vise utdata på HTML-siden. Bruk: traceVar($MyVariable)
E-postinnstillinger
Alle innstillingene nedenfor kan overstyres i dialogen globale innstillinger.
- 'emailmethod: Dette bestemmer hvordan e-postmeldinger sendes. Følgende alternativer er tilgjengelige:
- 'mail:' bruker PHPs interne e-postfunksjon;
- 'sendmail:' bruker sendmail;
- 'smtp:' bruker SMTP-videresending. Bruk denne innstillingen når du kjører LimeSurvey på en vert som ikke er e-postserveren din.
- 'emailsmtphost: Hvis du bruker 'smtp' som
$emailmethod, må du oppgi SMTP-serveren din her. Hvis du bruker Google Mail, kan det hende du må legge til portnummeret, for eksempel $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Hvis SMTP-serveren din krever autentisering, setter du denne til brukernavnet ditt, ellers må den være tom.
- emailsmtppassword: Hvis SMTP-serveren din krever autentisering, setter du denne til passordet ditt, ellers må den være tom.
- emailsmtpssl: Sett denne til 'ssl' eller 'tls' for å bruke SSL/TLS for SMTP-tilkoblingen.
- maxemails: Når du sender invitasjoner eller påminnelser til deltakere i undersøkelsen, brukes denne innstillingen til å bestemme hvor mange e-poster som kan sendes i én omgang. Ulike webservere har ulik e-postkapasitet, og hvis skriptet bruker for lang tid på å sende en omgang e-poster, kan det få tidsavbrudd og forårsake feil. De fleste webservere kan sende 100 e-poster om gangen innenfor standard tidsbegrensning på 30 sekunder for et PHP-skript. Hvis du får tidsavbruddsfeil når du sender store mengder e-post, reduserer du tallet i denne innstillingen. Når du klikker på knappen «Send invitasjon» i verktøylinjen for deltakerkontroll (ikke knappen til høyre for hver enkelt deltaker), sendes <maxemails> invitasjoner, deretter vises en liste over mottakernes adresser og en advarsel om at det er flere e-poster som venter enn det som kunne sendes i én omgang. Fortsett å sende e-post ved å klikke nedenfor. Det er ### e-poster som fortsatt skal sendes. Du får også en «fortsett»-knapp for å gå videre til neste omgang. Brukeren bestemmer altså selv når neste omgang skal sendes etter at hver omgang er sendt. Det er ikke nødvendig å vente med denne skjermen aktiv. Administratoren kan logge ut og komme tilbake senere for å sende neste omgang med invitasjoner.
Statistikk og gjennomgang av besvarelser
- filterout_incomplete_answers: Styrer standardoppførselen for filtrering av ufullstendige svar når du blar gjennom eller analyserer besvarelser. For en omtale av ufullstendige besvarelser, se wikisiden om gjennomgang av undersøkelsesresultater. Siden disse postene kan ødelegge statistikken, finnes det et alternativ for å slå dette filteret av eller på i flere skjemaer i det grafiske grensesnittet. Parameteren kan redigeres i config.php. Følgende alternativer er tilgjengelige:
- 'all': Lar deg vise både fullstendige og ufullstendige svar;
- 'complete': Viser bare fullstendige svar;
- 'incomplete': Viser bare ufullstendige svar.
- strip_query_from_referer_url: Denne innstillingen avgjør om avsenders URL lagrer parameteren eller ikke. Standardverdien er 'false' (i så fall lagrer avsenders URL alle parametere). Alternativt kan verdien settes til 'true', og parameterdelen av avsenders URL fjernes.
- showaggregateddata: når den er aktivert, vises ytterligere statistiske verdier, som aritmetisk gjennomsnitt og standardavvik. Dessuten aggregeres dataene for å gi en raskere oversikt. For eksempel legges resultater for skala 1+2 og 4+5 sammen for å få en generell rangering som «bra» (1/2), «gjennomsnittlig» (3) og «dårlig» (4/5). Dette gjelder bare spørsmålstypene "A" (5-punkts matrise) og "5" (5-punkts valg).
- PDF-eksportinnstillinger: Denne funksjonen aktiverer PDF-eksport for utskriftsvennlige undersøkelser og Skriv ut svar. PDF-eksportfunksjonen er helt eksperimentell, og resultatet er langt fra perfekt. Dessverre kan vi ikke gi støtte for den for øyeblikket – hvis du vil hjelpe til med å rette den, ta kontakt med oss.
- 'pdfdefaultfont': Angir standardfonten som brukes av PDF-eksportfunksjonen. Standardverdien er 'auto'. For å endre den må du sette den til en av PDF-kjernefontene.
- 'alternatepdffontfile': En matrise med språknøkler og tilhørende font. Standardfonten for hvert språk kan erstattes i config.php-filen;
- 'pdffontsize': Angir skriftstørrelsen for vanlig tekst. For tittelen på undersøkelsen er den <pdffontsize>+4, mens den for gruppetittelen er <pdffontsize>+2. Den kan redigeres i config.php-filen eller i dialogen for globale innstillinger.
- Grafinnstilling
- 'chartfontfile': Angir filnavnet på fonten som brukes til å lage de statistiske diagrammene. Filen må ligge i fonts-mappen i LimeSurvey-rotmappen. Den kan redigeres i config.php-filen;
- 'alternatechartfontfile': En matrise med språknøkler og tilhørende font. Den kan redigeres i config.php-filen.
- showsgqacode: Denne innstillingen brukes i funksjonen for utskriftsvennlig undersøkelse og er som standard 'false. Hvis du setter showsgqacode = 'true';, vises ID-ene til hvert spørsmål – og svar, hvis aktuelt. Disse ID-ene samsvarer med kolonneoverskriftene i tabellen Lime_survey_12345, som inneholder svardataene for en bestemt undersøkelse. ID-ene kan brukes til en kodebok for manuelle databasespørringer.
LDAP-innstillinger
Siden dette er et omfattende tema, har vi flyttet LDAP-innstillinger til en egen side.
Autentisering
Autentisering håndteres av tillegg. Innstillingene nedenfor brukes av tillegget for vevtjener-autentisering, se Autentiseringstillegg.
Delegering av autentisering til vevtjeneren
Systemadministratorer kan ønske å la undersøkelsesadministratorene autentiseres mot et sentralt autentiseringssystem (Active Directory, openLdap, Radius, ...) i stedet for å bruke den interne LimeSurvey-databasen. En enkel måte å gjøre dette på er å sette opp vevtjenerprogramvaren til å bruke dette eksterne autentiseringssystemet, og deretter be LimeSurvey om å stole på brukeridentiteten som vevtjeneren rapporterer. For å aktivere denne funksjonen må du:
- aktivere tillegget Webserver under Konfigurering > Tillegg og angi tjenernøkkelen som inneholder brukernavnet (standard: REMOTE_USER) i innstillingene for tillegget;
- aktivere autentisering på vevtjenersiden.
Merk følgende:
- LimeSurvey omgår da sin egen autentiseringsprosess (ved å bruke påloggingsnavnet som vevtjeneren rapporterer, uten å be om passord);
- dette kan bare erstatte LimeSurvey-autentiseringen i det grafiske grensesnittet, ikke invitasjonssystemet for undersøkelser (deltakergrensesnittet).
Delegering av autentisering uten automatisk brukerimport
Merk at delegering av autentisering som standard ikke omgår LimeSurvey sitt autorisasjonssystem – det betyr at selv om du ikke trenger å administrere passord i LimeSurvey, må du fortsatt definere brukerne i LimeSurvey-databasen og gi dem riktig sett med rettigheter for at de skal få tilgang til administrasjonspanelet.
En bruker får da tilgang til LimeSurvey hvis og bare hvis:
- brukeren er autentisert mot vevtjeneren;
- påloggingsnavnet er definert som en bruker i LimeSurvey-brukerdatabasen (brukeren får da rettighetene til brukeren som er definert i LimeSurvey-brukerdatabasen);
- brukeren har den globale rettigheten Bruk vevtjener-autentisering.
Delegering av autentisering med automatisk brukerimport
Når du administrerer en stor brukerdatabase, er det noen ganger enklere å importere brukere automatisk til LimeSurvey-databasen:
- auth_webserver_autocreate_user: Hvis satt til 'true', vil LimeSurvey forsøke å automatisk importere brukere som er autentisert av vevtjeneren, men som ikke allerede finnes i brukerdatabasen.
- auth_webserver_autocreate_profile: En matrise som beskriver standardprofilen som tildeles brukeren: fullt (fiktivt) navn, e-post og språk.
- auth_webserver_autocreate_permissions: En matrise med de globale rettighetene som tildeles brukeren.
Hvis du vil tilpasse brukerprofilen slik at den samsvarer med den påloggede brukeren, må du utvikle en enkel funksjon som heter hook_get_auth_webserver_profile i config.php – med denne funksjonen kan du hente det virkelige fulle navnet, e-posten og språket til en bestemt bruker fra en sentral brukerkontodatabase (for eksempel fra en LDAP-katalog).
Funksjonen hook_get_auth_webserver_profile tar brukerens påloggingsnavn som eneste argument og kan returnere:
- False eller en tom matrise – i så fall nektes brukeren tilgang til LimeSurvey;
- en matrise som inneholder de samme oppføringene som
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();
Hvis noen brukere har et eksternt brukernavn som er forskjellig fra LimeSurvey-brukernavnet, kan det være nyttig å bruke en tilordning av brukernavn. Dette gjøres i LimeSurvey ved hjelp av parameteren auth_webserver_user_map. Tenk deg for eksempel at du ikke har brukernavnet 'admin' definert i den eksterne autentiseringsdatabasen. For å logge inn på LimeSurvey som admin må du da tilordne ditt eksterne brukernavn (la oss kalle det 'myname') til påloggingsnavnet admin i LimeSurvey. Oppsettet for dette er:
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Etter vellykket autentisering med påloggingsnavnet 'myname' og vevtjenerpassordet får du direkte tilgang til å bruke LimeSurvey som brukeren 'admin'.
Dette har alvorlige sikkerhetskonsekvenser, så bruk det med forsiktighet. Beskytt også config.php mot skrivetilgang fra vevtjeneren.
Bruk engangspassord
En bruker kan åpne LimeSurvey-påloggingssiden på default.com/limesurvey/admin og skrive inn brukernavnet og engangspassordet som tidligere er skrevet inn i brukertabellen (kolonnen one_time_pw) av et eksternt program.
Denne innstillingen må slås på i config.php-filen for å aktivere bruk av engangspassord (standard = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Mer informasjon finner du i delen «Administrer brukere».
Krypteringsinnstillinger
application/config/security.php. Du kan flytte disse innstillingene til config.php hvis du vil, eller la dem ligge i security.php.Se datakryptering for detaljer om denne funksjonen.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Avanserte URL-innstillinger
- publicurl: Denne bør settes til URL-plasseringen til de «offentlige skriptene» dine. De offentlige skriptene er de som ligger i mappen «limesurvey» (eller hva du enn har kalt mappen som alle de andre skriptene og mappene ligger i). Denne innstillingen er tilgjengelig i config.php og brukes når LimeSurvey trenger en absolutt URL (for eksempel når e-poster med token sendes).
- tempurl: Denne bør settes til URL-plasseringen til mappen «/limesurvey/tmp» – eller til en mappe som LimeSurvey skal bruke til å levere midlertidige filer.
- uploadurl: Denne bør settes til URL-plasseringen til mappen «/limesurvey/upload» – eller til en mappe som LimeSurvey skal bruke til å levere opplastede filer. Dette gjør at du kan legge opplastede filer på et annet URL-domene.
Avanserte banEinnstillinger
- homedir: Denne bør settes til den fysiske plasseringen på disken til administrasjonsskriptene dine – for eksempel «/home/usr/htdocs/limesurvey/admin». Ikke legg til en avsluttende skråstrek i denne verdien. Standardinnstillingen i config.php forsøker å finne rotstien til alle dokumentene dine ved hjelp av PHP-variabelen
{$_SERVER['DOCUMENT_ROOT']}. I de fleste tilfeller kan du la denne stå og bare endre resten av strengen slik at den samsvarer med navnet på mappen du har lagt LimeSurvey-skriptene i. - publicdir: Denne bør settes til den fysiske plasseringen på disken til de «offentlige skriptene» dine.
- tempdir: Denne bør settes til den fysiske plasseringen på disken til mappen /limesurvey/tmp, slik at skriptet kan lese og skrive filer.
- uploaddir: Denne bør settes til den fysiske plasseringen på disken til mappen /limesurvey/upload, slik at skriptet kan lese og skrive filer.
- sCKEditorURL: URL til CKEditor-skriptet.
Andre avanserte innstillinger
Last opp filer
- magic_database: Gjør det mulig å bruke en annen MIME-database for finfo_open. Kan bare endres i filen config.php. Eksempel:
/usr/share/misc/magic.mgcfor Linux-distribusjoner basert på Red Hat. - magic_file: Gjør det mulig å bruke en annen fil enn den som følger med for å hente matrisen med filtyper per MIME-type. Må være en PHP-fil som returnerer en matrise. Kan bare endres i filen config.php.
Oppdatering
- updatable: Denne innstillingen ligger i version.php. Kan være true eller false. Hvis du setter den til true, sjekker LimeSurvey om en oppdatering er tilgjengelig og viser en advarsel når en superadministrator logger inn. Hvis den er satt til false, utføres ingen sjekk, og du kan ikke bruke ComfortUpdate.
Token
- allowedcharacters_pattern_token : Disse innstillingene lar deg angi regulæruttrykket (regexp) som brukes ved filtrering av token.