Bug 402283

Summary: Duplicate entries drive to unpredictable performance
Product: [Applications] digikam Reporter: Loukournan29 <paul.hervin>
Component: Setup-MetadataAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: metzpinguin
Priority: NOR    
Version First Reported In: 5.9.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 6.0.0
Sentry Crash Report:

Description Loukournan29 2018-12-18 09:03:48 UTC
SUMMARY
Duplicate entries drive to unpredictable performance

STEPS TO REPRODUCE
1. Using the french version of DigiKam
2. Enter into the Setup/Metadata/Advanced menu
3. Select 'Tag' ('Etiquette') in the left combo
4. Select 'Read options ('Options de lecture') in the right combo
5. Check the default 'Xmp.lr.hierarchicalSubject' setting entry is available (not editable)
6. Click on the 'Add' ('Ajouter') button
7. Fill a new setting entry named 'Xmp.lr.hierarchicalSubject' and save it

OBSERVED RESULT
1. The entry is recorded without any warning about the duplicate name
2. The entry is recorded with a duplicate key into the digikamrc file
3. Digikam read the duplicate entry without warning
4. Digikam have an unpredictable performance about the duplicated setting entry

EXPECTED RESULT
An duplicated entry cant be recorded with the same key into the digikamrc file.
Only one of the duplicated entries can be activated.

Note : I duplicated an entry because the default one doesn't work and I cant edit it.


SOFTWARE/OS VERSIONS
Windows: 7
MacOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Maik Qualmann 2018-12-20 18:24:52 UTC
Git commit 4bc818cab7e29a295bc1774a9de8994ddf694584 by Maik Qualmann.
Committed on 20/12/2018 at 18:23.
Pushed by mqualmann into branch 'master'.

remove deleted namespaces entries from the config file

M  +16   -7    core/libs/metadataengine/dmetadata/dmetadatasettingscontainer.cpp

https://commits.kde.org/digikam/4bc818cab7e29a295bc1774a9de8994ddf694584
Comment 2 Maik Qualmann 2018-12-20 19:13:45 UTC
Git commit f5cf09269a7b2a09b81db51d9805e6575dac3666 by Maik Qualmann.
Committed on 20/12/2018 at 19:10.
Pushed by mqualmann into branch 'master'.

use a number for the namespaces entries in the config file
FIXED-IN: 6.0.0

M  +2    -1    NEWS
M  +27   -14   core/libs/metadataengine/dmetadata/dmetadatasettingscontainer.cpp

https://commits.kde.org/digikam/f5cf09269a7b2a09b81db51d9805e6575dac3666
Comment 3 Maik Qualmann 2018-12-20 19:20:41 UTC
The creation of duplicate entries to replace the default is intention. Keep in mind that the order of the entries plays a role and is aborted when metadata is found. Not all possible namespaces entries are tried out.

Maik