View Issue Details

This issue affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
20704Bug reportsCentral participant databasepublic2026-10-29 18:14
ReporterDenisChenu Assigned Toc_schmitz  
PrioritynoneSeverityminor 
Status confirmedResolutionopen 
Product Version7.0.x 
Summary20704: Different behaviour about duplicate by firstname/lastname email when import participant
Description

When duplicate is found with import CSV : use owner_id
When duplicate is found with import from token table : do not use owner_id

Steps To Reproduce

Steps to reproduce

As super admin
As super admin import included central_checkImportById-2.csv
Create an user with survey create+import / CPDB create and import
As this new user
Import included LSA
Go to particpant management
Select the participant
Try to move it to CPDB
Receive duplicate information #1 (participants are not updated: good)
Go to CPDB
Import checkImportByName
The participant is imported

Expected result

Receive duplicate information #1 (participants are not updated: good)

Actual result

Duplicate created by name+email (but not by owner_id)

TagsNo tags attached.
Attached Files
checkImportByName.csv (80 bytes)   
firstname,lastname,email,MAP1,MAP2
John,Doo,John@example.org,Updated,Updated
checkImportByName.csv (80 bytes)   
Bug heat4
Complete LimeSurvey version number (& build)7.1.2
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionnot relevant
Server OS (if known)not relevant
Webserver software & version (if known)not relevant
PHP Versionnot relevant
Git branch / Pull Request URLN/A

Users monitoring this issue

There are no users monitoring this issue.

Activities

c_schmitz

c_schmitz

2026-10-29 17:43

administrator   ~86994

Confirmed. The two import paths check for duplicates differently. We need to agree on which behaviour is right before fixing it, because each option has drawbacks:

1. Look for duplicates among all participants, whoever owns them (what you expect)

  • A user can find out whether a person exists in the central database, even one they're not allowed to see. Entering a name and email is enough to check.
  • The user gets a "duplicate" message and nothing else. The existing participant stays invisible to them, the survey participant isn't linked to it, and their data isn't saved anywhere they can see.

2. Look for duplicates only among the user's own participants (current CSV import)

  • The same person can appear several times in the central database, once for each user who imports them.
  • Participants that were shared with the user but belong to someone else are not found either, so they get duplicated too.

3. Look for duplicates among participants the user can see (owned + shared)

  • No hidden data is revealed, and duplicates within what the user can see are prevented.
  • Your scenario would still create a second record, because the admin's participant isn't shared with the new user.

I would go with option 3 for both import paths. What do you think?

DenisChenu

DenisChenu

2026-10-29 18:14

developer   ~86995

PS : I have only one client (very old; he has hired developers for years now) using Particpant.
He wants to share the participants with all teams. We don't have such an option?

I really think the good solution for starting is 3. Look for duplicates among participants the user can see (owned + shared) : more complex SQL here.

Issue History

Date Modified Username Field Change
2026-09-18 08:41 DenisChenu New Issue
2026-09-18 08:41 DenisChenu File Added: checkImportByName.csv
2026-09-18 08:41 DenisChenu File Added: survey_archive_CPDBImportByName.lsa
2026-09-18 08:41 DenisChenu File Added: Capture d’écran du 2026-09-18 08-39-50.png
2026-10-29 17:43 c_schmitz Note Added: 86994
2026-10-29 17:43 c_schmitz Bug heat 0 => 2
2026-10-29 17:43 c_schmitz Assigned To => c_schmitz
2026-10-29 17:43 c_schmitz Status new => confirmed
2026-10-29 18:14 DenisChenu Note Added: 86995
2026-10-29 18:14 DenisChenu Bug heat 2 => 4