View Issue Details

This issue affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
20510Bug reportsImport/Exportpublic2026-05-08 16:18
ReporterMazi Assigned To 
PrioritynoneSeverityblock 
Status newResolutionopen 
Product Version6.16.x 
Summary20510: Survey copy no longer transfers survey-level plugin settings (regression since 6.1.3)
Description

When copying a survey, survey-level plugin settings (stored in lime_plugin_settings with model = 'Survey') are no longer transferred to the copied survey. The copy receives default values instead of the settings configured on the original survey.
This is probably a regression. The behaviour was working correctly in LimeSurvey 6.1.3: copying a survey correctly duplicated all survey-level plugin settings to the new survey ID. In current versions of LimeSurvey 6 the copied survey shows only plugin default values.

This can cause serious issues to many users relying on automated work-flows by creating survey copies. We know at least 5-6 customers alone which have tools in place to copy surveys with important plugin settings e.g. for course evaluation or project status surveys. With the plugin settings broken, work-flows like email sending or other plugin related features are fully broken.

AI generated code details:
Support for copying plugin settings was originally introduced in October 2017 via commit cfbe597, which resolved feature request 09235. The implementation works by including a <plugin_settings> block in the XML export of a survey (surveyGetXMLStructure() in application/helpers/export_helper.php) and re-importing it under the new survey ID (XMLImportSurvey() in application/helpers/admin/import_helper.php).
Starting with LimeSurvey 6.14, the survey copy workflow was refactored: the dedicated Copy tab was removed and replaced by a modal dialog. It is suspected that the $exclude parameter passed to surveyGetXMLStructure() during the copy operation now includes plugin_settings, or that the new code path bypasses the plugin settings export/import entirely. The export code itself (export_helper.php) still contains the plugin settings query and has not been removed.
Verification of the regression can be done by checking whether lime_plugin_settings receives any rows for the new survey ID after copying.

Steps To Reproduce

Steps to reproduce

Install and activate any plugin that supports survey-level settings (i.e. subscribes to beforeSurveySettings and newSurveySettings).
Open any existing survey and navigate to Survey settings → Simple plugins (or the plugin's settings tab).
Change one or more plugin settings from their default values and save.
Confirm the custom values are stored: verify via Survey settings → Simple plugins or directly in lime_plugin_settings WHERE model = 'Survey' AND model_id = <original_sid>.
Copy the survey using the survey list action (the modal dialog introduced in 6.14+).
Open the copied survey and navigate to the same plugin settings section.

Expected result

The copied survey has the same survey-level plugin settings as the original survey. The lime_plugin_settings table contains corresponding rows for the new survey ID with identical values.

Actual result

The copied survey shows default plugin values. No rows exist in lime_plugin_settings for the new survey ID (or only auto-generated default rows). The custom settings configured on the original survey are lost.

TagsNo tags attached.
Bug heat4
Complete LimeSurvey version number (& build)6.16.9
I will donate to the project if issue is resolvedNo
Browser
Database type & versionMySQL
Server OS (if known)
Webserver software & version (if known)
PHP Version8.3

Users monitoring this issue

There are no users monitoring this issue.

Activities

Mazi

Mazi

2026-05-08 14:24

updater   ~84817

@DenisChenu, can you reproduce?

@tibor.pacalat, this is a blocker for any automated process relying on plugins and survey copies. It can cause serious issues to automated workflows.

lajosarpad

lajosarpad

2026-05-08 16:18

developer   ~84818

Tested this in version 6.17.2 and the problem did not reproduce, I can see my changes in the copied survey

image.png (125,332 bytes)

Issue History

Date Modified Username Field Change
2026-05-08 14:22 Mazi New Issue
2026-05-08 14:24 Mazi Note Added: 84817
2026-05-08 14:24 Mazi Bug heat 0 => 2
2026-05-08 16:18 lajosarpad Note Added: 84818
2026-05-08 16:18 lajosarpad File Added: image.png
2026-05-08 16:18 lajosarpad Bug heat 2 => 4