https://bugs.kde.org/show_bug.cgi?id=402288

Daniel Laidig <lai...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lai...@kde.org

--- Comment #3 from Daniel Laidig <lai...@kde.org> ---
I stumbled across the same issue yesterday. In an effort to achieve
compatibility between digikam and darktable, I used Settings > Metadata >
Advanced to only enable Xmp.lr.hierarchicalSubject for tags, only to then find
out that my tags are deleted by a digikam->darktable->digikam roundtrip.

Then I tried the workaround suggested by you, Maik, i.e. creating a new entry
that is a duplicate of Xmp.lr.hierarchicalSubject but with TAG_XMPSEQ instead
of TAG_XMPBAG and enabling only that one. That seems to make the roundtrip
work, but I guess you might lose tags now if they are stored in a
standard-compliant way.

What darktable does, btw, is to accept both Bag and Seq when reading xmp
sidecars but then to always write the sidecar back using a Seq. Wouldn't this
be an option for digikam as well (reading both, saving as Bag)? I see that the
functions MetaEngine::getXmpTagStringSeq and MetaEngine::getXmpTagStringBag are
almost identical. Why not change them so they try to find the specified item
(Bag or Seq) first but if this not found and there is only the other type, this
one is read instead?

I don't have experience to judge if there would be unintended side effects. But
regardless of what is conforming to the standard, I think compatibility and
avoid data loss is more important.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to