-
-
Notifications
You must be signed in to change notification settings - Fork 130
Add exif tags to systemtags table #1431
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add exif tags to systemtags table #1431
Conversation
|
Maybe this should be behind a settings flag to be disabled by default? I can imagine this will be surprising to many users if enabled by default, but the option will be appreciated by others. |
Wow, thanks for the first step. That looks very promising. Unfortunately, I'm not a developer in the community, but I'm happy to see the first real progress. |
|
I've been working on extending this embedded tags feature and wanted to share some thoughts on the approach. First off, thanks @JonaLoeffler for getting the ball rolling on this! Having support for embedded tags from EXIF metadata is a great addition to Memories, especially for users like me who tag their photos in other applications. I've been thinking about how to handle these tags, particularly in shared environments where privacy becomes important. Instead of using the systemtags table, I've implemented a dedicated table specifically for embedded tags that preserves their hierarchical structure. The approach I've taken is:
I agree with @NJugel that this should probably be behind a settings flag initially. And @pkciuk's suggestion of starting with a simple read-only display in the image info panel is a great first step. One thing I've been particularly concerned about is how to handle tags in shared photos. We need to be careful with sensitive tags (like face tags or classified information). I'm thinking of a layered approach:
This gives us flexibility while maintaining privacy. The base implementation is straightforward, but it can be extended for more complex sharing scenarios. I created a separate PR that implements part's of the approach I've described here and and the ideas mentioned here. |
|
Based on my Plugin for Roundcube, i have created a small PHP file. Save it as phtags.php somewhere, where your webserver user can read and write data. This should be not accessible by the browser. Replace the values for database, dbusername/password and so on, with your own values. This file should not be called from the browser, but via the command line. For example, with I just fiddled around with this during my lunch break, so I suspect there are still various logical and conceptual errors in there. At least the first run successfully read the tags for my user and added them to the photos. It's important to note that these are system tags. This means that the tags are not at the user level, but system-wide. A shared photo will therefore also show the same tags for another user. Personally, I would prefer a tagging table exclusively for memories at the user level. However, the current structure does not allow for this. BTW: There are more Metadata, which could be read, thats why there are the commented lines with some other data. For this variant, i use the php internal exif function. This is relative slow, compared to exiftool on the commandline. For a huge directory with more than 1TB of data, i would recommend to use exiftool on commandline instead. |

This PR contains a prototype for #891
I know this implementation might have a few issues, I just wanted to get the ball rolling and understand how one would even start to work on this feature.
I am actually more interested in supporting Digikam's face tags, which are stored as Exif tags as well.