Sun Oct 27 01:32:15 BST 2019
* Renaming a tag or moving it up/down in the tag hierarchy doesn't update the IPTC metadata on images that had the original tag. Again this disturbs multi-user synchronisation based on IPTC. This one can be worked around luckily: don't rename/move tags. Instead create a new tag, assign it to all the images that have the tag you wish to rename/move and then remove the old tag from those images. But one issue still remains:
* Synchronizing databases on multiple PC's after a tag was renamed or moved on one PC does add the new tag on all the PC's, but the old tag remains in the tag hierarchy as well. I'm not even sure if the old tag is stripped from all the retagged images (right now, I don't feel like testing this on a 17.000+ repository with a libexiv2 < .018).
* I also work with volatile tags (TOEDIT, FORPERSONX,...), which are only temporarily assigned to images in order to mark a step in the workflow. However synchronizing via IPTC only ports tags to other PC's/users that are actually assigned. In my case that means that some PC's/users only have a subset of the predefined tags in their tag hierarchy. This makes it harder for all users to use a common set of temporary tags. This can be worked around by setting up the missing tags on all PC's manually. Unfortunately this is tedious and error-prone.
All of the above hassles make working in a multi-user environment difficult. IPTC and tags don't map 100% in all cases, so I think IPTC is not the answer to the multi-user problem.
I wonder if someone sees a better approach. I don't see it with the current digikam.
But with some development, I think most of this can be fixed by focusing on digikam's database: digikam currently uses sqlite as it's database backend. As far as I know sqlite is not multi-user safe. But if digikam was extended to allow multiple database backends (like mysql, postgresql,...) then all of digikam's internal data could be stored in there and accessed from multiple PC's by multiple users at the same time. And updates by one user would be immediatly visible to other users.
O wait, I just found a feature request for this:
I hope someone knows enough about digikam and mysql (or any other rdbms) to implement this.
Any comments are welcome.
More information about the Digikam-users