-
Notifications
You must be signed in to change notification settings - Fork 58
Rotate functionality #490
Rotate functionality #490
Conversation
Any comments on the functionality/code? Of course I am willing to fix the tests if you think overall the functionality is ok. |
@tomasz-grobelny As a general rule we try to only self-assign on tickets. Mentioning people should be enough. |
Signed-off-by: Tomasz Grobelny <tomasz@grobelny.net>
Signed-off-by: Tomasz Grobelny <tomasz@grobelny.net>
Signed-off-by: Tomasz Grobelny <tomasz@grobelny.net>
Signed-off-by: root <root@f076b06091fd>
84227e2
to
8a84ec3
Compare
@MorrisJobke, I don't see a lot of activity from @oparoz in nextcloud/gallery recently. I have added @juliushaertl as he committed to this repo relatively recently. Still, I think there is a general problem with getting timely feedback about proposed changes to nextcloud codebase... |
Thanks for your pull request and sorry I took a while to have a look at this @tomasz-grobelny I really appreciate your contribution, but I have some concerns regarding how this is implemented. Some bigger issue is that the rotation won't be reflected in the original images. Therefore previews won't be rotated as well as opening the image on other plattforms. I would actually prefer to have the modification stored right in the file by setting the exif orientation. We of course would need to check if the previews are properly generated with this information. For other modifications we need to think more about how we want to store and distribute modifications or metadata (like rating). Regarding the user interface we should probably hide modification actions in a 3 dots menu, since the list of icons in the slideshow is already becoming quite huge: cc @nextcloud/designers @nextcloud/gallery also for the bigger vision of the gallery app in the future. |
Yep, also ref Standardized file/image/document viewer nextcloud/server#12382. Also, I’d say before we pile up more functionality into Gallery, we should update it to Vue.js as early as possible, otherwise we need to just port more afterwards. What do you think? |
Ok. So I see two concerns here:
I just mention that because storing the modifications in file should not be viewed as the "obviously best" option. I can imagine that we could have a mix of both worlds - file modifications could be stored in table as it is now but then have a way to write all modification that can be written from this table to files (eg. Gwenview uses such idea). What do you think? |
I think we should make a clear distinction here: this functionality is all about file editing pictures (specific file type), not about viewing generic files. In my option these are two very distinct use cases. IMO a generic file viewer might be a completely new application, while gallery could get basic picture editing functionality. |
The image viewer and editor should be one and the same thing. At least for simple stuff like rotation there’s no reason to separate this. We need to keep it simple. That currently the image viewer is linked to the Gallery app is just implementation detail. |
Yes, image viewer and editor should be the same thing. My point is that generic document viewer should be something different so we shouldn't consider it in this context. |
Ah sorry – I was just referring to the issue because as @juliushaertl said:
as this is also talked about in the issue. So before we add any more interface elements, the file actions need to go into a menu. Documenation at https://docs.nextcloud.com/server/15/developer_manual/design/popovermenu.html |
@nextcloud/gallery, @juliushaertl - do you have any thoughts on this? Are you ok with the mixed approach (temp storage in table as currently + ability to write to files as a separate operation)? |
i don't like the idea. if one is able to rotate imaged from within the app, the image should be rotatet in files, too. A seperate table creates inconsistences between the different apps / sync clients. |
Understood. Do I understand correctly that you are ok with drawbacks of the other approach (mainly performance - eg. regenerating previews when not needed (applying a tag does not change preview), multiple modifications for one picture)? Or do you propose some other approach? If you are ok with the drawbacks, I will proceed to implement the direct file modification approach. |
Now, given the emoji approval I started having a look at how can metadata manipulation be done. And it seems that PHP is not the language of choice for people writing dedicated tools/libs. Options I found to get it done:
My suggestion would be to either:
@juliushaertl, @stefan-niedermann, @nextcloud/gallery - any thoughts on the above? Any other option that comes to your mind? My preferred option would be dockerized Exiv2 with REST interface. |
Just for info: It would probably be best if e.g. @rullzer @MorrisJobke @skjnldsv @juliushaertl have a look at the proposals before you dive into an implementation which might not work out with possible architectural plans. (And I guess some of them are on vacation at the moment.) |
Hope you had great vacation :-) Any thoughts on the proposed design? |
Hello to all. Wondering if beta tester are needed ? |
The gallery app has been replaced by the beautiful new app: Please checkout if your Pull request is still necessary there, and in case create it there or raise an issue for others to copy the change from here. |
For those of us on the stable channel, how long will this wait? Are there hopes to allow us to use this "beautiful new app"? |
No, it is available in 18 already, check the stable18 branch |
Adds functionality to rotate images. Next in queue is functionality to add rating, favourite, tags, flip h/v, etc.
Please let me know if anything needs to be fixed before this can be merged.