nextcloud / gallery

DEPRECATED Gallery app was replaced by Photos
https://github.com/nextcloud/photos
GNU Affero General Public License v3.0
108 stars 58 forks source link

Show favourites [$250] #61

Closed oparoz closed 4 years ago

oparoz commented 8 years ago

From @oparoz on July 26, 2015 0:37

It would be nice to also be able to only see one's favourites in Gallery.

capture_favorites screenshot by joephein

What to expect

New issues need to be created for these suggestions:

There is a $250 open bounty on this issue. Add to the bounty at Bountysource.

Copied from original issue: owncloud/gallery#230

oparoz commented 8 years ago

@joephein - I closed your other issue a bit too quickly as it was a subset of this issue, but since you're already sponsoring this one, I'm going to modify it to make it match your original request and split the rest in another ticket about a global search for favourites, which requires a working search engine.

Do you agree with the following scope? It's OK if you don't, it's just so that we can meet your expectations.

Specifications (rejected)

oparoz commented 8 years ago

From @joephein on October 27, 2015 19:56

That is a good start. Ideally it should also show only those albums (folders in the Files section) that contain photo's that have been marked as favorite including the thumbnails of those photo's that were marked as favorite. If this would require more work I can try to get some more backers :-)

Can this be based on the same functionality that already exist in the Files view? Of course for photo's it would be even better if they could be rated with stars from 1 to 5 like in picturelife but I would not consider this right now and use the already existing flag from ownCloud that hopefully can be easily used in the gallery+ app

capture_favorite_files

oparoz commented 8 years ago

@joephein The way Files is doing it is different from my understanding of the filtering idea you've described earlier. Files just shows all Favourites on one page, it's not a filter, more a search engine with a locked query.

Would you prefer it if it worked just like in Files? In that case, I don't think the favourite button should be part of the sorting section as that acts only on the current album. We could have a new button in the controls, on the left, but users may still think it acts on the current album only. We can't easily add a left sidebar, so that's not really an option.

That leaves a new button on the right...

@jancborchardt ?

oparoz commented 8 years ago

From @jancborchardt on October 28, 2015 5:24

It gets to the point where a sidebar for Gallery makes sense. Although unlike Files, I would say it should be collapsed by default as it is on mobile & tablets to focus on the content. (Similar to what we should do for Calendar and Maps.)

What do you think @oparoz @owncloud/designers

oparoz commented 8 years ago

I agree, but it has to be built from scratch as there are no re-usable GUI components in ownCloud and it's not part of the base template. The side-bar is tracked here: https://github.com/owncloud/gallery/issues/401

oparoz commented 8 years ago

From @joephein on October 28, 2015 14:39

The sidebar might indeed give more ways to show more options. I agree that it should be collapsed by default. I have made a word document with more screenshots and an explanation how I think it should work. However it should not work the same as in Files. It would be good though if the favorite flag is shared between the Files and Gallery+. I really like the option to work with the photo's in both views depending on what is needed.

With regards to the UI, for me it does not really matter where the favorite filtering option is. It can be next to the current sorting icons until the sidebar has been sorted out. Currently the AZ and Date filtering are not working for me.

https://cloud.hein.nu/index.php/s/dAiDG9A8s7PG2YB

oparoz commented 8 years ago

From @jancborchardt on October 28, 2015 22:14

@oparoz sure – just use <div id="#app-navigation"> and in there an <ul> with <li> elements for the entries. Just as described in https://doc.owncloud.org/server/8.2/developer_manual/app/css.html#navigation

For hiding the sidebar by default we can introduce an additional class which will trigger the mobile CSS (where the sidebar is hidden and a toggle is inserted) also on desktop.

oparoz commented 8 years ago

From @jancborchardt on October 28, 2015 22:15

@joephein you use Sugarsync to share a docx document here? Smells like treason. ;)

oparoz commented 8 years ago

@jancborchardt - Ah yes, I forgot about the navigation template. I wanted to get the exact same side-bar as Files though, but there is too much to rewrite. We can start with favourites and add the rest as needed.

It would be good though if the favorite flag is shared between the Files and Gallery+. I really like the option to work with the photo's in both views depending on what is needed.

@joephein Favourite is a special tag and all tags are stores in the DB, so we're not creating our own tagging engine.You should even be able to switch between the Files and Gallery view.

Currently the AZ and Date filtering are not working for me.

@joephein Do you mean there is a bug or is it that it doesn't fit your workflow?

I've looked at the document. I'm thinking:

oparoz commented 8 years ago

From @joephein on October 29, 2015 7:44

@jancborchardt I use at least 6 cloud services and was very happy to discover owncloud recently when searching for a picturelife / trovebox solution that I can fully host on my own server. I have updated the link in my original post. I think you like this more :-)

oparoz commented 8 years ago

From @joephein on October 29, 2015 8:8

@oparoz

Currently the AZ and Date filtering are not working for me

It is strange but I just tried it again and it does work as expected. So please ignore.

You have to go in-out-in-out. It's much nicer to have them all in plain view from the start I think and only have favourite folders shown as albums

We can make a compromise here based on API limitations and the need to build code from scratch. However for me it is crucial to keep the photo's organized. If I have 15 folders each corresponding to a different event (for example: Birthday party of our son, Trip to Prague, Team building with my colleagues, etc.) I do not want to have those photo's all mixed up in one single level view. In general I would maintain a depth of 2 levels only: lvl1: year, lvl2: event name (maybe prefix with Month number (or date) to allow easy sorting). In theory 1 lvl could work as well but using two levels will reduce the number of folders/events/albums that need to be shown at the same time and prevent performance issues.

The only reason to have a single level view would be to create some kind of timeline of my favorite photo's but to me this is a separate feature.

oparoz commented 8 years ago

From @jancborchardt on October 29, 2015 9:23

@joephein yeah, I was kidding a bit. ;) But it’s good to both dogfood, and also evaluate other services – so welcome to the ownCloud community! Your knowledge of the different services can be very helpful to improve ownCloud Gallery. :)

oparoz commented 8 years ago

Specifications

Moved to the OP

oparoz commented 8 years ago

@joephein - I've given it some thoughts and I think one folder depth is achievable. Anything above that will be complex to render because you then need to show some images in a top album as well as in a sub-album or have more levels, etc.

oparoz commented 8 years ago

Also, bear in mind that if there are a thousand tagged images, they will all need to be referenced in memory. In other words, it won't scale.

oparoz commented 8 years ago

From @warent on December 18, 2015 1:3

I don't really do mobile development so I can't be much help here, but perhaps I can make a suggestion?

Say a user wants to view their favorites. Upon requesting viewing favorites, "loading, loading, loading, etc." during this period the server side will be gathering all the favorited images from the user. Then, say maybe for every 25 images you can compile them into a single bitmap, compress it way down, and place it in a cache (i.e. Redis) for later referencing. Provide the user with the compressed 25 image bitmap, decompress and explode into individual images again on the client side.

Either repeat this process until all images are loaded, or include some kind of trigger (scrolling, "show more", etc) to request additional images from the server.

Just going out on a limb here; I've personally never used owncloud.

oparoz commented 8 years ago

Specs have been moved to the OP.

@jospoortvliet @jancborchardt @karlitschek @LukasReschke I need your feedback.

I think that putting favourites in their folder is going to be a problem.

Let's look at this example Son -> 2015-> first_glasses Daughter -> 2015-> graduation

Flat view first_glasses graduation

Works, but everything is mixed up

1 folder view 2015-> first_glasses 2015-> graduation

User will have no idea which 2015 is which

I think the flat view, like in Files, offers the least problems, but there may be a better alternative.

oparoz commented 8 years ago

From @jancborchardt on December 28, 2015 11:18

I'd say if in doubt, let's do it like in Files. Flat view is the simplest and quickest way to actually access favorites too.

oparoz commented 8 years ago

OK, I've updated the OP. Flat view to begin with and a future plan to introduce a way to let users alter that presentation by setting the number of levels they need for their favourites organisation.

oparoz commented 8 years ago

From @manishbisht on May 3, 2016 5:54

Is anyone working on this issue ?

One more thing i want to suggest taking the same example given by @oparoz

Son -> 2015-> first_glasses Daughter -> 2015-> graduation Daughter -> 2015-> July-> g

Here Son, Daughter, 2015 and July are folders/directories and first_glasses, graduation and g are files. And we have marked first_glasses and g as favourites.

Flat view first_glasses g

Gallery favourites View Son -> 2015-> first_glasses Daughter -> 2015-> July-> g

The folders/directories displays only the files which are marked as favourites.

oparoz commented 8 years ago

From @jancborchardt on May 3, 2016 16:54

@manishbisht as said, it should work like in files. A flat list, the same as in the Files app. If there are conflicts, then in parentheses behind them the parent folder can be shown (up to the folder where the conflict ends) – and only for those folders/files where there are conflicts.

oparoz commented 8 years ago

@manishbisht - #401 is blocking this. Once that's solved I'll let you know if I need help with this. There are other items which work the same way and require #401, like #532

oparoz commented 8 years ago

From @joephein on May 9, 2016 12:2

And #401 is waiting for #22347 and this one for ownCloud release 9.1. Looking roughly at the release history ownCloud 9.1 might be ready during the summer period.

oparoz commented 8 years ago

From @joephein on June 3, 2016 6:38

ownCloud 9.1 beta is out but I am not sure that #22347 will be implemented. Instead a fork of ownCloud was made by ownCloud contributors as nextCloud. What are the plans to get this implemented?

oparoz commented 8 years ago

There is still time for #22347 to be implemented in 9.1 as fixes are still being commited, so the plan is to currently wait for the fix.

youphyun commented 7 years ago

I created a new bounty in the Nextcloud Bountysource to show that this is still high on my wish list. Nextcloud 11 is out and I wonder if some progress can be made on this ticket by now. At the same time I saw many tickets related to tag and tag filtering functionality. Tags can also be used to solve this feature request.

In the meantime I started using tagspaces and use a special tag to mark favorites. I am using the hidden .ts files functionality because I do not want tagspaces to add tags to the filenames. But this is not cloud based and not very well integrated with nextCloud.

000712_2017-01-03 10_40_51

manishbisht commented 7 years ago

Yes, I am also thinking about this issue. @oparoz Is there anything that is blocking to start working on this issue ?

Also I think its better to add the feature as it was implemented in files. Because I think to save the tags feature to implement the more advance feature. Below is the description of this.

Can we add image recognition in nextcloud so that whenever the image is uploaded either through Files or Gallery it automatically gives the tag to the uploaded images through this system. It will then help to do filtering images later. Then it can be integrated with the Contacts app also to recognise the persons in the images.

oparoz commented 7 years ago

The main blocker is #90, but the OP needs to be re-evaluated against NC 11 as things may have changed regarding FileInfo and metadata handling.

under-score commented 5 years ago

What about some less ambitious approach? Just highlight a marked picture and write status back into exif file? Works for me in another gallery for years. Can submit client + server code.

skjnldsv commented 4 years ago

Implemented with the new photos app

https://github.com/nextcloud/photos/blob/906072dccdef0338f44a0b73e45403dec40604f6/src/router/index.js#L80-L88