Skip to content
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

[Suggestion] Support for tags? #38

Closed
joebywan opened this issue Jan 16, 2019 · 10 comments
Closed

[Suggestion] Support for tags? #38

joebywan opened this issue Jan 16, 2019 · 10 comments
Labels
enhancement extension Features that won't go to the main app, but should be possible to implement them as extension

Comments

@joebywan
Copy link

Had a look at the demo, and love the design, but one thing I'd need before using it is support to tag photos for searching later.

@bpatrik
Copy link
Owner

bpatrik commented Jan 16, 2019

Hi,

can you clarify it a bit?
The app reads the exif/iptc tags/keywords of the photos and shows them. You can also search based on these tags.
Since the app access the files in a read-only way, you can not add/change tags (or do any other edit on the photos) through the app. For editing you need to use 'your favorite photo editor' app.

@softbrix
Copy link

Hi!
Do you have any plan for accessing the photos with write mode? Or at least be able to add manual tags to the db.

@bpatrik
Copy link
Owner

bpatrik commented Jan 30, 2019

Hi!

Lately I was considering optimal metadata writeback to the photos. (like keywords and so on).
My current roadmap is something like:

  • fixing upcoming bugs on the way
  1. adding face region support (mostly done): reads from XMP data, that apps like PS lightroom writes
  2. adding ML based face detection and face recognition
  3. adding tasks support (like reindex databasse twice a week, look for new faces on new photo inserted)
  • since face detection and recognition is too resource intensive and database is fragile (I delete them basically with every update) it would be the best to write those face data back to the photos.
    • once I have write back I can extend it to keywords and other metadata
  1. adding enhancement suggestions from the github issues
  2. adding advanced search, like you should be able to write something like
    • Landscape photos of John with Katie within 10km of New York between 02/04/2018 and 05/08/2019
    • Two persons out of John, Katie, Bob and Alice, etc..

I got relatively busy lately, upto 3, I'll probably do it in the next few month. 5 most likely wont happen this year.

@softbrix
Copy link

Hi!

Really impressed by your answer. Feels like you have thought everything through.

I have been building my own gallery application (shatabang) for a while when I discovered this a couple of weeks ago. I've been testing it and modifying it a bit to fit my current needs and I must say it looks really good.
You have added features that I have in my pipeline like face tagging, metadata and image on a world map. But you lock other features that I have like uploading, finding images with open cv.
But the idea with my application is to be the first place to go with your images and mix images from camera, mobile or other. So I handle imports a bit different with sorting by date and displays the images in a reversed chronological order, and I would like to keep it this way.
My idea is to create a block in a calendar with a date interval and then all images which has been taken between these two dates would show up in that album. Simple to add new images from a second or third camera and they will show up in the specified album.

I really would like to contribute to your application with these features and you could have them as a configuration on the settings page. Some of the features might also require a write mode enabled on the images to be able to write information back to the meta-block.
Preferably you could have some sort of module import so these features would live in their own space, but designing the interface for the module is not an easy task.

Another thing could be that you specify what you want and I could develop the things as a node module. I've already seen that you showed some interest in one of my models for xmp-import and I could add some more features to it if you need. I cant't promise a fixed deadline since I'm developing these thing on my spare time which got less and less with a growing family. But the need for this kind of application goes the other way with a growing family =)

@bpatrik
Copy link
Owner

bpatrik commented Feb 3, 2019

Hi,

I would love to check your app (https://github.com/softbrix/shatabang). Sorry no time now for install, but If you would add some screenshots / docs, I think that would also help your repository.

Your are very welcome to contribute.
I have a relatively strong view, how this app should develop, so I might not accept all contributions, sorry for that in advance.

I think the best way for contributions would be to have some kind of plugins.
If you can somewhat formally describe / write a specification about your needs / plans, I think I can come up with some nice interface that any one can use to implement a plugin.
In this way that project stays clean (as I like it), but anybody can extend it in any direction (and also the contributor can keep its repository too).

I think the plugin should be fairly simple if it only effects the backend. Plugging the fronted might be challenging tho, but can be possible at some extent.

On the other hand I'm actually thinking about rewriting the metadata loading to some custom solution.
I'm using this class for loading metadata: https://github.com/bpatrik/pigallery2/blob/master/backend/model/threading/MetadataLoader.ts, but its a mess. I'm using 3 different module for that.
What I actually want to have is to read only as much bites of a file as needed not more not less. (Now I'm reading a predefined amount of bites and I hope that it contains all metadata)
And then parse the data the most efficient way. I find that this part of the app is relatively slow and without using a DB, on a raspberry its basically not usable. Furthermore I also just want tom minimize the number of (production) dependencies.

What do you think?

@softbrix
Copy link

softbrix commented Feb 6, 2019

I also think the plug-in concept would be great for this kind of feature enrichment.

I have previously been working with prestashop which was using hooks for the plug-in to react upon.
One product which I think have a really good plug-in ecosystem is the octoprint. They can enrich both the front end and the backend. And I think their tab/block strategy is nice. Because then the plug-in is responsible for its own area.
I will keep following your progress and when I have some more time I'll add another feature request 8-)

@bpatrik
Copy link
Owner

bpatrik commented Feb 8, 2019

Thank you I'll look into them and try to come up with some plug-in solution.
I'll let you know, once I'm there, but cannot promise any deadline :/

@bpatrik
Copy link
Owner

bpatrik commented Dec 16, 2022

Im closing this as it goes against with the current philosophy of the app:

😥 Its simple. Shows what you have that's it. No gallery changes (photo delete, rotate, enhance, tag, organize, etc), your gallery folder is read-only.

@bpatrik bpatrik closed this as completed Dec 16, 2022
@02015678
Copy link

02015678 commented Mar 12, 2023

I think there is a Github repo for reference.
https://github.com/Webreaper/Damselfly

It is possibly still in early stage, since it has lower forks and stars than this project.
But it does provides add/edit/remove EXIF/IPTC tag feature, which is very useful to organize photo.
It also provides AI face recognition and auto tagging by Azure API.

It not only provides an unified web user interface for across PC/Mac/Mobile devices, but also provides native client for Windows, Mac or Linux desktop.

While on the other hand, Damselfly is NOT as light-weight as PiGallery2.
PiGallery2 docker image is about 245MB, plus additional MariaDB image 115MB, in total 360MB.
While Damselfly is about 1.1GB, which is even larger than Photoprism 630MB.
That is possibly why PiGallery2 keeps working in read-only fashion, at least for now.

I'll say I will have a try on Damselfly. But currently I am not sure whether it can run fast.
PhotoPrism speed is not good. And PiGallery2 is optimized to be blazing fast.

/////
PiGallery2, stated that it can run fast for up to 100'000 photos (5000 for each folder), which is clearly true.
Damselfly, stated that it can run fast for up to 500'000 photos. Very curious about whether it is true or not.

@pepa65
Copy link

pepa65 commented Dec 4, 2023

I need to be able to delete pictures only. I don't need or want any face detection, or tag manipulation, so going to something way more bloated is not attractive... But if it is still fast and offers the same functionality, maybe I should try it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement extension Features that won't go to the main app, but should be possible to implement them as extension
Projects
None yet
Development

No branches or pull requests

5 participants