Digikam in a multi-user network environment

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Digikam in a multi-user network environment

Geert Janssens
Hi, I've been using Digikam since 0.8.x and I'm quite happy with its many features.

Recently I started using digikam in a networked environment, with multiple users on different computers accessing a central image store on a server.

I have come across some issues in this setup that I would like other's opinions and suggestions on.

1. Tagging
---------------
As the image store is growing large (over 17.000 pictures at this moment), I turned to tagging in an attempt to organize the images. This worked nice on my pc, but when I wanted use the tags on another pc, I found out the tags were not set on that PC !

I found a partial solution: I now store the tags as IPTC keywords. But this has it's own set of problems:
* When I set tags on one system, I have to synchronize the database with the images on all the other systems. For my image store, it takes more than 15 minutes to synchronize on one other PC. When tag information is frequently updated by the different users, this becomes cumbersome.

* Digikam seems only capable of altering IPTC information (and other metadata) on jpeg files and not on any of the other image formats it supports (like png, tif, bmp, xcf). So if the image is not jpeg, the tags can't be synchronized via the above IPTC trick.
From a previous list message and some research, I found that a more recent version of libexiv2 (>=0.18) solves a large part of it. The one that still bothers me is xcf (Gimp's native format), but it seems Gimp itself is not clear with IPTC yet, so this could be a serious issue.

* 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:
https://bugs.kde.org/show_bug.cgi?id=127321

I hope someone knows enough about digikam and mysql (or any other rdbms) to implement this.

Any comments are welcome.

Geert

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users