SUMMARY Some Face Tags have been renamed within Digikam and written to files, but the region fields in the XMP are not updated and continue to display the OLD face names. The NEW names display correctly within Digikam: the Faces list, the Tags list, and the Face labels on the preview. The OLD names persist in the files in these XMP fields: [XMP-mwg-rs] RegionName [XMP-MP] RegionPersonDisplayName In the IdentityAttributes table I can see that both the NEW and OLD names are here and they share the same id. EXPECTED OUTCOME: NEW names are written to XMP metadata, replacing OLD names.
We have discussed this problem before. Renaming tags (not just face tags) can affect a large number of images. The result would be a metadata writing job that could take a long time. Therefore, use the maintenance tool and limit the selection to the appropriate tags. Maik
Where are you doing the renaming exactly? I can just see in the code that we write the metadata up to 100 affected images immediately or then ask the user. Maik
A test here with the Windows version works as expected, the corresponding image metadata is written, including the names of the face regions. Renaming was done in the (people) tags tree. Maik
I continue the self-talk ... Renaming in the Tags Manager does not write a face tag update. Maik
This situation is the Face Tags have already been renamed and saved to files in a previous version of Digikam. It seems this step did not write the metadata well. Now in the current Digikam there is no visibility of the OLD tags, they all display as the NEW tags. Yet in the file the XMP Region fields are still using the OLD tags. Here is the issue I am trying to troubleshoot: writing the metadata to files in the current Digikam is still not updating or overwriting the tags in these XMP Region fields.
Via Menu-> Write Metadata to File, the face area metadata must also be updated. If that doesn't work, see if there are any error messages in the terminal / DebugView. Maik
Via Menu->Item->Write Metadata to File. In Digikam v7.2.0 there are no errors, the file is modified but the Region names are not changed. In Digikam v7.3.0-20210428T170519 there are no errors, the file is modified bu the Region names are not changed. The console reports some messages: Digikam::ExifToolParser::slotErrorOccurred: ExifTool process for action "Load Metadata" exited with error: QProcess::FailedToStart Digikam::ExifToolProcess::kill: ExifToolProcess::kill(): shutdown ExifTool instance... Digikam::ExifToolParser::Private::prepareProcess: ExifTool process cannot be started ( "././/bin" )
I found the OLD Face names were persisting in the database: Tags table id|pid|name |icon|iconkde| --|---|--------|----|-------| 19| 18|NEW Name| | | TagProperties table: tagid|property |value | -----|--------------|--------| 19|person |OLD Name| 19|faceEngineId |OLD Name| 19|faceEngineUuid|{uuid..}| As suspected a previous Tag rename action in Digikam had left the database in what looks like an inconsistent state. It also appears Digikam is not able to repair or rectify this inconsistency via Metadata scanning or maintenance. If I manually rename the OLD values in TagProperties then the correct Face Regions are now written to the file metadata.
With next digiKam 7.4.0 release, AppImage bundle is compiled using a more recent Linux Mageia 7.1 host. Last stable Qt 5.15.2 and KF5 5.84 are used. ImageMagick codec 7 and libav 58 (ffmpeg) are used to supports extra image and video formats. https://i.imgur.com/XV1tZkL.png Please check if problem still reproducible with this version available as pre-release here: https://files.kde.org/digikam/ Gilles Caulier
Renaming faces or tags now works fine in digiKam-8.0.0. Maik