x

Main chapters

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Quick start guide
  3. LimeSurvey CE - Installation
  4. How to design a good survey (Guide)
  5. Getting started
  6. LimeSurvey configuration
  7. Introduction - Surveys
  8. View survey settings
  9. View survey menu
  10. View survey structure
  11. Introduction - Questions
  12. Introduction - Question Groups
  13. Introduction - Surveys - Management
  14. Survey toolbar options
  15. Multilingual survey
  16. Quick start guide - ExpressionScript
  17. Advanced features
  18. General FAQ
  19. Troubleshooting
  20. Workarounds
  21. License
  22. Version change log
  23. Plugins - Advanced
 Actions

Upgrade from version 6 to 7

From LimeSurvey Manual

This page contains changes which are not marked for translation.


LimeSurvey 7 Major Version

This page serves as an overview of the major changes introduced with LimeSurvey 7 and links to the relevant documentation pages.

  This information mostly applies to the LimeSurvey Community Edition (CE).


Major changes in LimeSurvey 7

Modified response table and field name structure

LimeSurvey 7 introduces a structural cleanup of how response tables and fieldnames are generated. This change improves consistency and makes the platform easier to maintain and extend.

Find more details here: Fieldname and response table refactor - LimeSurvey 7

New question editor

LimeSurvey 7 also introduces a new question editor with an updated user interface and improved workflows for creating and managing questions.

Find more details here: New Question Editor in LimeSurvey 7

RemoteControl API changes

The responses from RemoteControl 2 API have been improved by returning error codes in addition to the error text. Please check out the RemoteControl 2 API documentation for these changes. Depending on how you handle return values, this should be backward compatible - however it might not be properly handled in your implementation.

Find more details here: RemoteControl 2 API

Time zone changes

In version 6 and earlier recorded timestamps were undetermined regarding timezone and depended on the server date/time. With migration to version 7 the old 'Time difference' setting is migrated if possible, and all timestamps going forward are recorded as UTC timestamps. Old timestamps are not migrated. It is possible to set a global timezone as default in global settings and an individual one can be set per user. These apply only on the display of data. Export and RemoteControl API will only accept/deliver the raw timestamps.

Custom survey themes

All survey themes compatible with LS6 will stay active after, If the surveytheme was incompatible with LS6 they will be uninstalled, and the theme options in the global, group and survey settings will be reset to the new default.

Upgrade Strategy:

  1. Export the survey theme from the old application
  2. Before importing it into the new application, make sure the compatibility tag is set correctly: https://manual.limesurvey.org/Extension_compatibility#Survey_themes
  3. Import it into the new application
  4. Check the code you customized for the survey theme and update it in accordance with the new version of the application you want to use.
  5. Export your updated customized survey theme from the new application
  6. After upgrading your survey themes compatible in LS6 will stay active while older themes will be uninstalled.
  7. If you choose to update a survey theme, you can now import it. And after you confirm that it has been updated correctly, you can choose to delete the old one.

Custom admin themes

The default admin theme will be enabled by default. Custom themes will stay untouched but cannot be reactivated unless they are updated.

for self-hosted application:

  1. Before copying the admin theme to the new application, make sure the compatibility tag is set correctly: https://manual.limesurvey.org/Extension_compatibility#Admin_themes
  2. Copy the existing admin theme from the old application to the new application https://manual.limesurvey.org/Custom_Admin_Themes
  3. Check the code you customized for the admin theme and update it in accordance with the new version of the application you want to use.
  4. After upgrading your old application, our new admin theme is displayed by default. To update your previously installed admin theme, either:
    • Manually update the code of the admin theme currently marked as incompatible
    • Delete the old admin theme and install the new one you previously updated in your test environment.

for Cloud users:
Please contact our support.

Custom question themes

Custom question themes that do not match the current version cannot be installed, but will still be active after the upgrade. More information about question themes can be found here Question themes. Custom JavaScript inserted into the survey theme or any of the questions in a survey will likely not work anymore as well.

Upgrading your customized question theme:

  1. Download the question theme from a website or export the current question theme
  2. Before uploading, make sure the compatibility of your custom question theme is set correctly https://manual.limesurvey.org/Extension_compatibility#Question_themes
  3. Try to upload your question theme into the new application.
  4. If it is a self-created question theme, make the necessary adjustments
  5. After successfully uploading, please check if the question theme is displayed and working as expected.

Upgrading a theme you do not own:
Try to see if an update is available from the website or developer that provided it

Custom plugins

Custom plugins that do not match the current version will be deactivated during the upgrade process.

for self-hosted application:

  1. Check if the plugin can be installed on the new version.
  2. Update the plugin or contact the plugin author to update the plugin.
  3. Manually override the plugin with new files in your application which will preserve settings or uninstall the old version and reinstall the new version, in that case all settings will be reentered.

for Cloud users:

  1. LimeSAML will stay active
  2. Check if the plugin can be installed on the new version.
  3. Update the plugin code or contact the plugin author to update the plugin.
  4. Installation options:
    • Uninstall the old version and reinstall the new version (all settings will be lost and have to be reapplied)
    • Contact support to make an update to the plugin without loosing configuration data

Requirements

LimeSurvey 6 LimeSurvey 7
PHP 7.4 or higher 8.1 or higher (8.3 recommended)
MySQL 8.0 or higher 8.0 or higher
MariaDB 10.3.38 or higher 10.3.38 or higher
PostgreSQL 12 or higher 14 or higher
MSSQL 2016 or higher 2019 or higher
URL format get or path path, required for the new editor

You do not need Node.js or npm. The new editor is included in the LimeSurvey package and is ready to use.

Make a full backup of your files and your database before you begin, and test the upgrade on a copy of your installation first. Once the upgrade has run, there is no way back other than restoring that backup.

Plan a maintenance window. LimeSurvey switches the site into maintenance mode while the database is being upgraded, and on installations with a lot of response data this can take a while.

Recommended: Use our ComfortUpdate service

The easiest and safest way to upgrade is to use our ComfortUpdate service. It downloads and installs the new version for you, so you do not have to replace any files manually.

If you prefer to upgrade by hand, follow the steps below instead.

Upgrading manually

  1. Back up your files and database, and put the site into maintenance mode.
  2. Keep the following files and folders from your old installation:
    • application/config/config.php
    • application/config/security.php
    • application/config/allowed_hosts.php
    • the upload/ folder, which holds your uploaded files, user themes and user plugins
    • the plugins/ folder, if you installed plugins into it by hand
  3. Download the LimeSurvey 7 package and update the installation using one of the following methods:
    1. Delete the old files first. Move the files listed above out of the way, delete everything else in your LimeSurvey directory, unpack the new package into it and put the kept files back.
    2. Or copy the new files over the old ones. Unpack the new package over your existing installation and let it overwrite what is already there, leaving the files listed above untouched.
  4. With either option, use the new .htaccess from the package, as the 6.x one does not work with the new editor. Afterwards, empty tmp/runtime/ so no cached data from version 6 is left behind.
  5. Set the URL format to path in application/config/config.php.
  6. Make sure your web server serves the /editor/ folder directly and passes the Authorization header through to PHP. More details: New Question Editor in LimeSurvey 7
  7. Run the database upgrade. LimeSurvey detects the older database version and offers to upgrade it. Confirm, and let it finish without interrupting it.
  8. When it completes, switch maintenance mode off and work through the checklist below.

After the upgrade

  • Check the version number in the footer of the admin pages.
  • Re-activate the plugins you need, one by one.
  • Open a survey and confirm that the new editor loads.
  • Run one full test response through each active survey, covering conditions, quotas, e-mails and the end URL.

Troubleshooting

"Action needed" message about the URL format. The URL format is still get. Change it to path and clear tmp/runtime/.

The editor loads but stays empty. The Authorization header is not reaching PHP.

/editor/ shows a LimeSurvey page or a "not found" error. Check your web server configuration and make sure the /editor/ folder is served directly instead of being routed through LimeSurvey.

"You cannot use this theme with the new question editor". The survey uses a theme that is not based on fruity_twentythree. Switch the theme, or continue in the classic editor.

A plugin causes errors after being re-activated. It is not compatible with LimeSurvey 7. Deactivate it and check with its maintainer.

Notes

Each major change is documented on its own page. This helps keep the documentation focused and makes it easier to find the information relevant to your setup.