stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
8.72k stars 774 forks source link

[Feature] Adding a folder structure of some sort which can be used for organising videos #1029

Open secondfolder opened 3 years ago

secondfolder commented 3 years ago

Summary

Currently when Stash imports videos any folder structure is ignored when it comes to presenting those videos in the Scene view. The user is essentially presented with one big flat list which is filterable and sortable and such but does not offer any visualising of that original folder structure. When it comes to the experience of browsing though your videos Stash essentially says each video in the list is of roughly equal independent value to you. But sometimes you have a set or collection of particular videos in which you would like to be presented with the collection when browsing though the Scenes view but which you don't necessarily want every video in that collection filling up that list.

Detailed description of issue

Say you've got a Stash db filled with a modest sized number of nicely tagged videos that you know you'd be roughly equality interested in watch any of them. You can pull up the scenes tab and browse though and you see a broad variety of videos allowing you to find something that takes your fancy at that current moment. The current flat hierarchy system works perfectly fine here.

But then say you wanted to import a folder (or number of folders) with a potentially hundreds of even thousands of videos containing largely the same type of content of which, as you watch though them, you might find a few you would be interested in seeing again. For example you might have a SiteRip with hundreds of videos of one particular type of porn. Or maybe you have a dump of whole bunch of videos about a particular fetish. The issue here is adding these to Stash is that it can quickly swamp all the other videos in Scenes. Now when you just want to browse though your videos to find something you're interested in the scenes view is full of the videos from those huge unsorted folders rather than a broad variety of videos you know you're interested in.

Sometimes it is possible to exclude videos from such a folder with some clever search filtering. This is clumsy even when you're only added one large folder of unsorted videos. If you find a filter that works you have to ensure it's applied very time you want to casually browses though your collection without having to sift though all these extra videos you might not be very interested in watching individually. But it quickly becomes a non-started when you have imported several such folders full of bulk unsorted videos.

It might seem like the obvious course of action is to just not add these sorts of folders full of mass videos to Stash and instead sort though those videos out of Stash and only add videos you would like to rewatch into Stash one at at a time as you come across them. But the whole point of having Stash it to make it easier to access your porn. Stash allows you to easily view videos on any device with Stash seamlessly handling any necessary transcoding. If you can't import into Stash big collections of videos that you intend to sort though over time then you are forced to watch all that porn out of Stash. Which you would probably have to do with a computer rather than a phone or tablet since file management and dealing with wide variety of codecs isn't the strong suit of mobile devices.

Proposed solution

I would be interested in hearing other peoples potential design solutions to this but after some time thinking about this I keep coming back to a particular solution: the ability to create folders in the scenes & images views. When you open up either of these views you would be presented with a list of top level videos/images but the list would now also include folders which you could navigate into to view any videos/images/sub-folders contained within. This folder structure might not necessarily correspond to the folder structures of videos/images as they are found on the disk (indeed it may well be beneficial to arrange your videos/images in stash in a way that differs from how they are stored on disk) however there should at least be the option on import to recreate in stash the folder structure of any videos you are importing. I'm using the word folders here which implies the same video can only exist in one place (be it at the top level of your videos/images or in a specific folder). But potentially you could have the same video/image in multiple places at once. That starts to break the folder metaphor so maybe if you went that route "collections" might be a more appropriate term.

Challenges with the proposed solution

The introduction of folders may break some fundamental assumptions in Stash and thus could potentially be quite a huge amount of work to implement (someone formillar with the Stash codebase would be much better placed to comment on this). However I believe that equally it could be hugely beneficial. While I have outlined a fairly specific use case above I would anticipate such a generic and flexible feature could be used in all sorts of different and unexpected ways. The "curb cut effect" could therefore also be huge.

One of the immediate considerations is that Stash already has two entities for grouping video and images, i.e. Movies and Galleries. However folders would be a more generic/flexible solution which I believe would make them useful for different situations and thus should have no trouble co-existing alongside these more specific grouping methods, at least conceptually if not technically.

A Movie or Gallery allow for a single level for grouping and is design for grouping media that has a very specific relationship to each other. In the case of a Movie it's built for representing a standard porn movie make by a studio. The movie entity would still remain the best way to represent this. However you would use folders for videos that you wish to group together for organisational purposes but do not all come from the same movie (see https://github.com/stashapp/stash/issues/1028). This would including the use case outlined above but also would defiantly not limited to this. There are any number of reasons you might want some videos grouped together. Where folders would really differ from Movies/Galleries is that Movies/Galleries are currently designed to be very separate entities to Scenes/Images. You view instances for each entity in completely different views (e.g. scenes in the Scenes tab as compared to the movies under the Movies tab) but one thing that makes folders suitable for a different range of use cases to the use case of Movies/Galleries is that folders would allow unstructured media to exist alongside structured media. By unstructured media I mean media existing in the top level of the folder hierarchy, essentially Scenes and Images as they are today organised today. Structured media in this context is media inside a folder. These would be found in the list of unstructured media (the Scenes view and the Images view) just as a folder on a computer can be made up of a mix of files and other folders.

If you really wanted to push this approach even further folders could include both images and video! Rather than separating them into separate views (Scenes & Images) you could have a Media view which includes both. This makes a lot of sense when say you have a particular photo shot which includes a combination of images a short video clips. Separating these loses the context in which were intended to be viewed.

secondfolder commented 3 years ago

As another example of how folders/collections, being a pretty general use concept, could be used: https://github.com/stashapp/stash/issues/999 If folders/collections were usable in Galleries view this person could possibly use that as a way for collecting all their comics in one place.

secondfolder commented 3 years ago

I've just come across this which would also address my original use case in a different way: https://github.com/stashapp/stash/pull/988

I still thing the folder/collection idea is a useful one for a variety of other situations so I will leave this issue open for now. But if after some time no else seems interested I'll close it :)

Pompey69 commented 3 years ago

I agree about the folder structure. Especially to organize

jocphi commented 3 years ago

One of the few things missing ... folder/tree-view

kriss6557 commented 2 years ago

Hello, I fully support this request and believe it would be really useful for all users. Is this considered to be developed any time (soon)? Thank you for your very good work so far.

scruffynerf commented 2 years ago

If you want folder organizing, use the new @Belleyy Renamer/Mover plugin https://github.com/stashapp/CommunityScripts/pull/70 Stash's default of not touching original files is worth keeping for those who want it. Those who want to reorg into folder/etc can do so without Stash having to do anything new.

kriss6557 commented 2 years ago

If you want folder organizing, use the new @Belleyy Renamer/Mover plugin stashapp/CommunityScripts#70 Stash's default of not touching original files is worth keeping for those who want it. Those who want to reorg into folder/etc can do so without Stash having to do anything new.

Thanks for the link, but actually it's not about organizing in my case (can be done before import), but more the feature to view scenes grouped in galleries like for images.

scruffynerf commented 2 years ago

That's what Movies is right now. And many of us are advocating for a Grouping object to replace Movies, and allow all sorts of grouping options.

kriss6557 commented 2 years ago

Then I fully agree and join you in supporting a more generic/advanced grouping object feature.