rr- / szurubooru

Image board engine, Danbooru-style.
GNU General Public License v3.0
725 stars 181 forks source link

Feature request: Album like grouping #162

Closed joshuaavalon closed 4 years ago

joshuaavalon commented 6 years ago

A feature that allows grouping a set of images would be nice. A set of images that have order to view. It would be nice. You can use tag to this. But you not order the images or give it a title.

rr- commented 6 years ago

Post relationships achieve that goal to a certain degree.

joshuaavalon commented 6 years ago

@rr- Post relationships is current state is a bit useless in my opinion. If you want to make a 50 post album, you need to add the relationships individually (49 times). It would be easier if I create dedicated tag instead.

Using dedicated tag is a work around but you cannot maintain the order or give it a title.

rr- commented 6 years ago

Yeah, that's why I added "to a certain degree" :)

rr- commented 6 years ago

(technical discussion follows)

@ReAnzu maybe your idea of associating multiple files with a single post would work here? I'd rather avoid creating a new DB table post_groups since that would greatly complicate post listing and searching. Plus you'd have to tag each post in an album separately which sounds like a great pain.

joshuaavalon commented 6 years ago

I don't think you should treat posts in a album different from normal post. Let the album to have all the tags will be a mess. The user can find the post by tag and discover the album anyway.

I think a album should only contain title, description and posts with order. Searching album with title only should be enough. While integrating all into one search will be great, I think it should be on a separate page for browsing and search album, just the post page.

imtbl commented 6 years ago

Just a quick idea from my side since this is also something I‘d like to see:

The way hydrus does it is it allows you to sort by namespace (= tag categories). You could for example sort by creator-series-title-page (in that order, order weight descending). Depending on the DB structure, this could be a very heavy query though, so maybe just sorting by a single tag category would suffice (because you could still add a tag like sort:creator-series-title-page manually and sort by that to achieve basically the same thing). Requires work on the user side as well (to add those tags), but I‘m currently writing a server that uses the hydrus server DB and does it this way and it works quite well as a workaround.

This would effectively eliminate the need for albums since you'd have all the images belonging together grouped in a logical way and still limit the results via search.

Just throwing this out in case this might be easier to implement.

ReAnzu commented 6 years ago

I think this sounds a lot like the Danbooru concept of pools (http://testbooru.donmai.us/pools, http://testbooru.donmai.us/pools/5). Which, in the most basic implementation would involve atleast two more tables separate from the post tables, along with a new view, a new api endpoint, and some modifications to existing views/controls.

pool:
    title
    description
    owner

pool_post:
    post
    order

This is something I've considered adding, and is on my list of someday ideas. however it wasn't near the top because I'm not particularly familiar with the codebase and this involves a decent amount of UI changes. Not that I'm opposed to working on this sooner than later as I've been picking up the codebase quickly thanks @rr-.

I'm not sure associating different images with a post is ideal in this case. That suggestion was more around allowing multiple formats for the same post, and then the administrator could define default mime types to display. I think in particular the view post UI wouldn't be an ideal place to show a bunch of thumbnails representing a user defined collection of ordered images.

I like the idea of being able to define an order to sorting via tags, but it raises a few questions.

I think the advanced sorting would be missing at least two of the mentioned desired features however.

imtbl commented 6 years ago

@ReAnzu:

In regards to your questions sorting via tag categories:

In regards to missing features:

But I think I'd lean towards your pools suggestion as well. After reading through OPs request again I think that I'm shooting off target a bit with my suggestion. I still think sorting by category would be cool to have, but it doesn't really solve everything OP would like to see.

rr- commented 6 years ago

I like @ReAnzu 's ideas save for pool auto suggestions. I think the UI for tag suggestions is a failure, so I'd avoid copying it in another part of the application.

Getting navigation within an album right would be tricky since there's already ❬ and ❭ used for navigation between posts with regards to search query the user reached given post from. One idea is to add a new search query such as album:<ID>, to which all albums UI would link to – this would integrate with ❬ and ❭ out of the box.

imtbl commented 6 years ago

On the topic of auto suggestions:

I think auto suggestions are not necessary for the intended use cases. If I understand the proposal correctly, the main benefit of having albums is being to able to group together posts while also arranging these in a specific order inside the album.

To me, that sounds like a nice way to group pages (= posts) of a manga (or any other series of images that belong to a bigger set) together. Those can (and often will) have very different tags depending on the content, e.g. one image could show two characters speaking and another one could show a landscape. So auto suggesting an album based on tags would probably fail in these cases.

Another good use case (imho) might be to group together posts based on „moods“ (I‘m sure there is a better word), e.g., nice landscapes. Tags might no be sufficient here because one would probably tag an image of a beach and a mountain range very differently (so auto suggestion would fail here as well), while they both fit the description of nice landscapes. The definition of nice landscapes is also something that‘s up to the individual user so adding that as a tag (e.g., nice_landscape) to group together such posts in that way (instead of using an album) is not a good idea (because on an installation with multiple users you probably don‘t want any tags stating personal opinions, only facts).

I can‘t think of any good use case for albums that would require auto suggestions where just adding tags to group such posts together would not be the more logical thing to do. Because if I want to see posts that show, e.g., astronauts in space I'll just search for astronaut space – I don't need to have szurubooru suggesting to add such images to an album when I can simply search by tags to get the desired result instead.

I wouldn't mind if auto suggestions for albums are added, I just think it's not really necessary.

ReAnzu commented 6 years ago

I see the point about auto suggesting. Pools/Albums really are more of a personal user thing so it doesn't make sense to suggest adding an image to a pool. I think when I wrote about auto suggesting albums I wasn't particularly clear, looking back at the comment I think it was the idea that just like when you start typing tags, an ajax call will suggest tags matching a like query of what you've typed, sorted by usage.

And in thinking about functionality there are perhaps a few more considerations.

It sounds like album would be a fitting name for this feature, does anyone know/have ideas why other board software chose to label them as pools? Perhaps album is a name that is overly focused on pictures, where a pool could have pages in a web comic in order, or pages of a manga. Though, I'm not really sure a pool is a great way to display such media, and a dedicated feature might make more sense for that. Especially since for collected works like that there facts that make sense to tag on a collection, that a post might not have.

rr- commented 6 years ago

Should albums have a privacy feature where only the owner can view it?

No, users have their HDDs for just that.

Should albums only be editable by the owner, or should albums be able to have 'moderators'?

Everyone should have permission to every album. If someone can't play nice they deserve to get banned anyway.

szurubooru used to have much more complex permission system where one could edit only their own posts, and site administrators could pretend there is no NSFW content on the site through specifying who gets to see NSFW posts. It was bloatware: it complicated the code for no real gain as nobody really used this feature.

Should albums be able to be featured?

Nah, I'd feature only regular posts (= also posts that happen to belong to some album).

Should there be limits to how many albums a user can own/manage?

No, just like there is no limit how many posts a user can upload.

Should albums be able to have their own tags that can be searched?

Yes*.

Should albums be able to have score like posts?

IDK. I'd say yes*.

Should albums be able to have comments?

If one can rate an album, one should also have the ability to comment on it, IMO*.


* Generally I'd rather keep albums as lightweight as possible. IMHO they should be more of a "multi posts" like on pixiv (= each post in the album shares its artifacts such as comments, score, tags, relations, whatever) rather than gelbooru's pools "pictures I think look nice". We have tags for the latter.

That's also the reason why I suggested to associate multiple files with a post in the backend rather than doing all the heavylifting that comes with creating new tables, API endpoints etc.

ReAnzu commented 6 years ago

Ok, so thinking of this as a structure, and keeping it basic.

So, this way albums are really just custom orderable collections of images without a lot of functionality of their own. The beauty of which is they simply serve as a way to group id's when searching.

Hearing where szurubooru came from in regards to permissions, I think I now understand the permission system better. it is slightly tedious to add permissions and preventing custom groups definitely keeps things simple.

ReAnzu commented 6 years ago

In regards to the multiple images per post, I'm really starting to lean away from that. It does seem like the scope of the changes required would outweigh the usefulness of the feature.

I think my biggest pain point is I have some large files that I load and I'd prefer to have a resized default smaller, resized image, with the option to load the large image if I need to. But that is a different feature request when I figure out if that really solves my issue.

Hunternif commented 5 years ago

I'd love to see this feature! Is anyone working on this?

rr- commented 5 years ago

I'm not.

GlassedSilver commented 5 years ago

Adding my vote for this feature.

MaxValue commented 5 years ago

Mine too.

catchra commented 4 years ago

Mine too. will be great for CG galleries