-
Notifications
You must be signed in to change notification settings - Fork 66
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
implement plug-in system #135
Comments
Hi @JohnnyDarks Thank you for using HomeGallery and propose the Plugin feature. I am happy that this gallery covers most of you needs. Indeed I am considering this feature and would be happy to discuss further steps and also possibilities how to contribute. Regarding the backend to extend the extractor or the database creator I do have ideas. But it is different to the Web App. What functionality would you like to add as plugin in the Web App? The Web App is written in React and I have only a rough idea how to provide pluggable features to a React App. Do you have experience with plugins and react? |
Some ideas I had include saved searches, a search builder (an advanced search tool that allows you to select order by, media type, and tags from a list of possible values), animated GIF support, video player settings like auto-play with sound and auto-looping, and a slideshow mode with auto-advancement to the next file. These are smaller features that allow for easy extensions without requiring feature bloat in the main app or deviation from the main app's objectives. While I have experience using plugins, I don't have experience making them. I also have some experience creating educational and visualization content in React/Lit |
Hi @JohnnyDarks
Thank you for your improvement suggestions.
Currently the database schema is flat and has only one "table". Via the feature of face names from #132 this might change and the database schema might have several "tables" like "faces", "searches" or "albums"
This should be done quite easy with the new plugin system. Things would work well to just support other image formats
This could be a general setting. Either a global one or a single one via the detail view. To bring this feature as plugin it would be tricky IMHO.
Same as the video player which requires a own renderer of some media files. I am trying to define the interfaces for a plugin system. Currently it is work in progress on the branch feature/plugin. Maybe you can check the interfaces in src.
That sounds awesome! I would like to have a private conversation with you as sparing partner to talk about requirements and functions of the plugin. Would that be possible? |
I am happy to announce the first experimental plugin feature in the current master! See docs.home-gallery.org/plugin for further details! |
Support for animated GIFs would be very much appreciated. I installed Home Gallery yesterday and am surprised that animated GIFs did not 'play'. Thank you. |
@APT37 would be a nice try for the new plugin system. The video extrator plugin would be a good start. Maybe it would be sufficient to detect that the image has a duration by inspecting the exif data? But I am not away of GIFs in detail and I assume the frame rate differs from normal video files and therefore it need some special handling... BTW GIFs are not played as video because I do not have GIFs in my gallery but you can change that ;-) |
@APT37 Thank you for the honest feedback. I am happy that you found your solution 👍 |
I've release v1.16.0 with experimental extractor, database and query plugin interfaces! With the query plugin it was a breeze to implement user based filters so that not every user will have full access to the database! Check it out! |
I've been using this and find it meet most of my needs. However, I believe implementing a plugin system could greatly enhance its flexibility and extend its functionality. Preferable for the Web App.
Would you be open to considering this feature? I'm happy to discuss further and contribute where I can.
The text was updated successfully, but these errors were encountered: