Actions

General FAQ: Difference between revisions

From LimeSurvey Manual

(Add SQL to set password for user 1)
(Waring for users)
Line 220: Line 220:
*MS SQL Server 2000: Maximum number of 1024 columns
*MS SQL Server 2000: Maximum number of 1024 columns
*Postgres: Maximum number of 250-1600 columns depending on column types. The maximum number of columns can be quadrupled by increasing the default block size to 32k. See [[Installation FAQ]] and [http://www.postgresql.org/docs/faqs.FAQ.html#item4.4 PostgreSQL FAQ].
*Postgres: Maximum number of 250-1600 columns depending on column types. The maximum number of columns can be quadrupled by increasing the default block size to 32k. See [[Installation FAQ]] and [http://www.postgresql.org/docs/faqs.FAQ.html#item4.4 PostgreSQL FAQ].
Take care here: please think about what you do before you do it: an array of 10 x 10 items already costs you 100 columns. Rule of thumb: every item on the screen that can be filled in or selected costs one column!


<!--T:44-->
<!--T:44-->

Revision as of 09:20, 3 May 2016

Getting started

If you don't want to read half the manual to get a feeling what can be done with LimeSurvey we recommend to watch some videos (see below).

After that the Creating surveys - Introduction manual page might be a good start.

I need a quick introduction for LimeSurvey

For a first start have a look at our very basic LimeSurvey Video-Tutorial.

There is another tutorial which shows you how to get started with using Lime Survey to conduct online surveys. In this video we'll create our first survey, deliver it to a user and then view the submitted results.

There are some more videos on YouTube:

LimeSurvey:

Old PHP-surveyor videos:

Survey design and layout

How can I remove index.php from the URL path to get a shorter URL

If you want to use fancy URLs and so not have /index.php in every URL please edit /application/config/config.php and change

'showScriptName' => true,

to

'showScriptName' => false,

For this to work properly you must use an Apache webserver with a properly installed mod_rewrite module.

If you are using the Nginx http server (with php running via FastCGI) and want to use the 'urlFormat' => 'path' setting, consider the following Nginx site configuration:

server {
    set $host_path "/PATH/TO/LIMESURVEY";
    server_name  YOUR.SERVER.FQDN;
    root /PATH/TO/LIMESURVEY;
    charset utf-8;
    try_files $uri /index.php?$args;
    location ~ ^/(protected|framework|themes/\w+/views) {
        deny  all;
    }
    #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;
    }
}

How do I get rid of the * (red asterisk) of mandatory questions?

In LimeSurvey Version 1.80 and above the red asterisk of mandatory questions is set within the template.css file ("asterisk" class). To hide it:

  • Open the template editor
  • Create a copy of the template you wish to modify
  • Select the "template.css" file and search for the asterix class
  • Add the following line at the end of the asterix class".asterisk {display: none;}".
  • Save template.css
  • Clear your browser cache so that the edited template.css is reloaded and not taken from cache.

In LimeSurvey Version 1.53 the red asterisk of mandatory questions is set within the css "asterisk" class. To hide it:

  • Open the template editor
  • Select the template you wish to modify so that the asterisk doesn't show
  • Select the "startpage.pstpl" file
  • Add the css ".asterisk {display: none;}" into the css stylesheet area.

Earlier Versions

  • Open qanda.php in your text editor
  • Search for the string "asterisk"
  • Comment out this line with two slashes "//" at the beginning of the line
  • Example:
    • original: $qtitle = ''.$clang->gT('*').''.$qtitle;
    • modified: // $qtitle = ''.$clang->gT('*').''.$qtitle;

How can I embed a flash file?

First go to Global settings and deactivate the XSS-filter. Please also read up in the implications deactivating that filter. The following steps won't work if the filter is active.

  1. Navigate to the place in your survey where you want insert your Flash file. This can be anywhere where you can use the integrated HTML editor, for example in questions, subquestions, answers, survey welcome/end text and many more.
  2. Open the full-screen editor mode by clicking the 'LimeFitWin' button on the editor tool-bar.
  3. On the full-screen editor tool-bar you will find a little button with a Flash symbol. Click on it. A dialog will open.
  4. In this dialog you can give either the path to an existing Flash file somewhere OR you click the 'Browse server' button.
  5. If you clicked the 'Browse server' button you will be presented with a file browser and on the bottom an file upload field. Choose now an existing file or upload a file first.

That's it! If you find this description incomplete please update it accordingly.

How to remove one of these texts from my survey

"There are X questions"

"A note on privacy..."

question code

All these texts are inserted at the template you are using by placeholders. You can easily remove them. Go to the Template Editor and remove the {THEREAREXQUESTIONS} / {PRIVACYMESSAGE} / {QUESTION_CODE} placeholder(s).

Survey configuration

How do I create a survey which is open to everyone?

To make a survey public to everyone you should:

Your survey should then be listed at the root page of your limesurvey installation. You can publish the link to the survey on your website/blog and everyone can take the survey without restrictions.

How can I stop the system from sending confirmation emails

If you are using tokens and a participant fills out the survey, a confirmation email is sent to his/her email address. If you don't want this message to be sent just delete the whole confirmation email subject and message. You have to switch to source code mode to be able to delete all the text. Save the empty message and no confirmation emails should be sent anymore.

Help, I accidentally...

I forgot my admin password. How do I reset it?

version 2.00

  1. Access to your server with a command line (ssh for example)
  2. Ensure you have php command line access (see http://php.net/features.commandline.php).
  3. Go to your limesurvey directory
  4. Launch this command php application/commands/starter.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASSThe php can need complete directory access, example /usr/bin/php

Directly change the password at the database

If you have direct access to the Limesurvey database you can change the old password there by uploading the new password as SHA256 hash. You can create the SHA256 hash of your password here.

For example, you can use this instruction to set password to password:

UPDATE lime_users SET password = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438 WHERE uid =1;

Here with prefix to lime_ and database selected.

version 1.47 to 1.53 only

  1. Download this file and copy it to /<your limesurveydir>/admin/install/ .

version 1.7 to 1.92

  1. Restore your /<your limesurveydir>/admin/install/ directory from the download package
  2. Execute resetadminpw.php using your browser by pointing it to
    http://www.your_domain.com/your_limesurvey_dir/admin/install/resetadminpw.php
    
  3. After removing the /install directory again you should be able to login with $defaultuser (Default: admin) and $defaultpass (Default: password) set in config.php.

How can I restore data from a deactivated survey?

We recommend to always use the time-out option instead of deactivating a survey. If you closed your survey accidentally it is important that you don't change anything in the survey.

Then, and only then the following steps will work:

  1. Activate your survey again
  2. Go to the "Browse responses for this survey" menu.
  3. Click at the "Import answers from a deactivated survey table" button.
  4. Choose your source table.
  5. Click at the "Import responses" button.

I deleted a question/question group/survey!

This is bad luck. If you delete it, it is really gone. In that case only a backup will help you (which of course you did regularly, didn't you?).

Hard- and Software requirements

For general requirements please refer to our installation instructions.

What limitations does LimeSurvey have...

...regarding speed

There is no existing speed limit on LimeSurvey. It all depends on how fast your server and your connection is. If you expect a large number of users within a short time and you are not sure if your server can handle this check our forum for according topics about other users' experience.

...regarding survey size

Note: 'Survey size' refers to the maximmum number of questions (and answers) in your survey - don't confuse this with the number of replies on your survey (there is no limitation on that). Theoretically there would also be no limit on the maximum number of questions/answers in LimeSurvey. But the database engine you are using has several limits. The most important one is the limit on the number of fields(columns) in the result table.

  • MySQL ISAM: The sum of the lengths of the VARCHAR and CHAR columns in a table may be up to 64KB.
  • MySQL InnoDB: Maximum number of 1000 columns
  • MS SQL Server 2000: Maximum number of 1024 columns
  • Postgres: Maximum number of 250-1600 columns depending on column types. The maximum number of columns can be quadrupled by increasing the default block size to 32k. See Installation FAQ and PostgreSQL FAQ.

Take care here: please think about what you do before you do it: an array of 10 x 10 items already costs you 100 columns. Rule of thumb: every item on the screen that can be filled in or selected costs one column!

The mySQL ISAM engine is the most tricky one (see mysql documentation for more information). As it allows only up to 65,535 bytes per row and utf8 characters can require up to three bytes per character the maximum may be only 21,844 characters (but this depends on your DB encoding).

You can roughly calculate the size of your survey like this:

  • Every multiple numerical question: 20 chars for each answer
  • Every multiple choice & array question answers: 5 chars for each answer
  • Every other question type: 5 chars
  • Add 10% for the usual overhead

How to increase the maximum number of columns in PostgreSQL

In case your survey contains too many questions you can define a different block size in PostgreSQL so it is possible to create more columns. This might be tricky because you have to recompile PostgreSQL and set BLCKSZ to a higher value, like 16kiB or 32kiB. Watch for the configuration option "--with-blocksize=BLOCKSIZE". For details see the archives of the PostgreSQL mailing list or ask there (pgsql-patches(at)postgresql(dot)org).

Instructions for Debian (thanks to 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

Note: the above could not be reproduced on Ubuntu 14.04 in August 2014. A patch is required (the configuration option is not enough). See (tested with PostgreSQL 9.3 on Linux): Instructions for increasing the maximum number of columns in PostgreSQL on Linux

Fatal error: Allowed memory size

Depending on your server configuration you might run into memory problems being reported by an error like "Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296".

You can try to raise the limit by adding an optional setting to LimeSurvey's config file.

Please mind that such local settings by an application can always be overruled by global server settings. To increase the memory limit to 128M directly on your server you could try adding:

  • memory_limit = 128M to your server's main php.ini file (recommended, if you have access)
  • memory_limit = 128M to a php.ini file in the LimeSurvey root
  • php_value memory_limit 32M in a .htaccess file in the LimeSurvey root
  • ini_set('memory_limit', '128M'); in your config.php

Specific configuration

Under certain circumstances, you need tu update LimeSurvey configuration in application/config/config.php

2 limesurvey instance on same domain

With 2 limesurvey instance on same domain, but different directory, you need to update the session configuration.

For example, if you have example.org/ls1 and example.org/ls2 : update the ls1 config file

        'session' => array (
            'cookieParams' => array(
                    'path' => '/ls1',
                ),
            ),
        'request' => array(
            'csrfCookie' => array( 'path' => '/ls1' )
        ),