View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0019683||phpList 3 application||All Other||public||10-01-19 13:57||15-01-19 20:49|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||next minor||Fixed in Version|
|Summary||0019683: investigate duplicate subscriber attribute value prevention / validation options|
|Description||Currently it is possible to import subscribers which have values of particular subscriber attributes which are identical to existing subscribers. This can result in e.g. two subscribers with identical foreign key values. Where those attributes are used by external systems eg via an API this can cause serious problems.|
Investigate whether a validation mechanism already exists during import for duplicate detection and assess the work required to add such validation.
Ultimately validation could take the form of a field on the attribute configuration page which disallows duplicates and enforces this every time attribute values are changed.
|Tags||No tags attached.|
This could have been prevented if foreignkey was a unique index on user table.
A validation mechanism for duplicate detection should be used on other pages too that should be identified, eg : on edit subscriber page I can change the foreignkey to an existing one because there is no validation.
@xheni Re: index that's true. It's good not rely on MySQL for enforcing policies however as it limits options for error handling.
I agree that a function should be added which checks for duplicates each time these records are created or updated.
In the backend you can do this, but the frontend enforces it.
Adding a unique to the foreignkey may be an option, but we'd need to test that thoroughly..