Skip to content
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

Ability to assign more than one label to a torrent #13

Closed
ghost opened this issue Aug 11, 2012 · 80 comments
Closed

Ability to assign more than one label to a torrent #13

ghost opened this issue Aug 11, 2012 · 80 comments

Comments

@ghost
Copy link

ghost commented Aug 11, 2012

qBittorrent does not support assigning more than one label to a single torrent.

@cdumez
Copy link
Contributor

cdumez commented Aug 11, 2012

Would indeed make sense. The issue lies in the "Append label to save path feature". I'm still not sure how to support both features.

@drakkenson
Copy link

Perhaps making each label become a folderwithin the folder of the preceding label. This would also need a way to change the order of the labels for a given torrent.

@nivensd
Copy link

nivensd commented Oct 7, 2012

With Linux/UNIX systems, at least, a hard or soft link could be utilized to have the torrent files in both folders. Hard link would be preferable, as removing a tag from a torrent would mean just deleting one of multiple pointers to a storage address, versus the soft linking requiring a move of files before the original is deleted.

Example:
Torrent a gets downloaded and tagged with both "StuffILike" and "StuffXLikes". Original files go in folder "StuffILike" and soft link goes in "StuffXLikes". Now if you remove the tag "StuffILike", you must now delete the soft link and move the original files to "StuffXLikes", as the soft link points to location in the directory "StuffILike".

Versus creating a hard link which points to the actual location on the disk.

@Gelmir
Copy link
Contributor

Gelmir commented Feb 27, 2013

Hard links will be pain in the ass to manage on multiplatform.
NTFS supports hard links, not sure about FAT.
Qt has QFile::link, but it will only create soflinks ( which are .lnk shortcuts on Windows). So this approach will require platform-dependent code; and don't forget about OS/2 port.

Using subfolders for each label is not ideal either: we cannot predict what label will be assigned first, second, third, etc. And some users may prefer a strict folder hierarchy for multi-label.

My suggestion: use a master label (which will be appended to path); other labels will not contribute to path expansion.

@GitHub-devel
Copy link

I used this in uTorrent - it really helps for organizing your torrents.

@Belove0
Copy link

Belove0 commented Apr 10, 2013

I commented on a newer repeat post of this feature request already;
It's very handy -
uTorrents solution is to have a main label (and other labels). The main label is used for the save path feature. The main label can be changed with right-click menu (other labels can too, I forget exactly what the menu structure is).

This also calls for the ability to select multiple labels on the sidebar. uTorrents original behavior was to have "OR" (inclusive) logic when multi selcting with ctrl and shift, but, I understand, recently they added an option to use "AND" logic instead (which is the only logic I find useful for the way I use labels).

Thanks and good day to you :)

@Belove0
Copy link

Belove0 commented Apr 10, 2013

Regarding hard links - yes NTFS supports them, but without Windows GUI features to manage them (at least one third-party plugin is available though).

FAT does not support them. There's no reference counter. You can cross-link files if you're especially clever, but CHKDSK will "fix" your work for you :).

The file system for Windows 8 I believe does away with both hard links AND symbolic links, but adds a new type of ".LNK" like file that behaves similar to symbolic links. This from my vague recollection from reading the release notes some time ago. So basically, forget hard links in Windows.

This was referenced Jul 21, 2013
@jaredmcateer
Copy link

When implementing this features I would like to recommend having a list of checkboxes rather than a dropdown for both the add torrent dialog as well as the RSS downloader.

It's a bit of a ux pain in the butt to have to choose a single label in the add dialog, then locate the torrent in the list and right click then navigate to labels then select another label (and repeat for all the labels you plan to add.)

It does add a bit more complexity if dealing with the primary label problem but you could always make it clear the first choice is the primary and then give an option for changing it.

@DancingDirty
Copy link

May I suggest a double labeling-tagging system? so you keep the labeling system AS IT IS, BUT you ADD-CREATE a new system that you call it TAG/TAGGING something like that that you allow for only inner qBittorrent organisation of torrents.

So what I suggest:
1.Label system stays as it is (maybe rename to archive system or Filing system)
2.add a tagging system for inner qBittorrent torrent management

as "AsaRossoff commented 5 months ago"
""This also calls for the ability to select multiple labels on the sidebar. uTorrents original behavior was to have "OR" (inclusive) logic when multi selcting with ctrl and shift, but, I understand, recently they added an option to use "AND" logic instead (which is the only logic I find useful for the way I use labels)."" that should be impemented in my tagging system!

Also I am gonna make a new post about my idea (as it is kinda a new idea on the subject) in order to make it more popular!

@JinxDojo
Copy link

JinxDojo commented Jan 6, 2014

I would also like to see multiple labels/tags. @cdumez: simply make the first label "primary" and the rest auxiliary. While hard/symbolic links are an interesting idea, I don't think it is realistic for qBT to "force" a tag system into a hierarchal directory system--not without a tag-based filesystem.

Please don't let that issue stop you from adding multiple labels!

@Kervius
Copy link

Kervius commented Mar 30, 2014

Since this is the ticket about multiple labels, and in the context people often express need for hierarchical label tree (aka sublabels), allow me to dump an idea here.

If QBT implements sublabels/label tree, then there is an interesting opportunity: when sorting torrents by label, show the label tree right inside the torrent list. (IIRC Qt's listview supports that right out of the box.) In spirit, that is very similar to how QBT shows the batch torrents with subdirectories.

That would keep the UI still simple, since there is no need to change the UI paradigm to make space for the tree.

Bonus feature: collapsing/folding a label would hide the torrents assigned to it.

FYI.

@buinsky
Copy link
Contributor

buinsky commented Feb 8, 2015

23

@qbittorrent/qbittorrent-frequent-contributors

Should the labels system be redesigned in such a way? What do you think?

@buinsky
Copy link
Contributor

buinsky commented Feb 9, 2015

@sledgehammer999 What if I will redesign labels system to look above? This can close multi-labels per torrent and sublabels feature requests.

@glassez
Copy link
Member

glassez commented Feb 9, 2015

@buinsky I think you will not be difficult to implement the assignment of the labels to torrents. But what to do with what the labels needed? I mean, sorting, filtering, and effects on the save path. Have you thought about this? Leave the description.

@buinsky
Copy link
Contributor

buinsky commented Feb 9, 2015

@glassez Will be main label which will be assigned to torrent (like in uTorrent). It will displayed in labels collumn like label1/sublabel1/sublabel2 . Each label will have default save path ({default save path}/{label path}). Will be ability to assign custom path per label. Selected item of the tree will be used as label filter. Checked state of the tree items will be changed according to selected torrents:

  • checked if label assigned to all of selected torrents;
  • unchecked if label is not assigned to any of selected torrents;
  • indeterminate if label assigned to part of selected torrents.

@glassez
Copy link
Member

glassez commented Feb 9, 2015

It is clear (in theory - wait implementation).
But you have mentioned about multi-labels per torrent. What about this?

@glassez
Copy link
Member

glassez commented Jan 24, 2016

Guys, now I'm considering the implementation of Advanced Saving Management subsystem. It, in particular, will allow you to specify arbitrary paths (either relative or absolute) for labels.

@FerdinandoLM
Copy link

@glassez even better! So i don't necessarily have to keep the label name the same as the folder name.

@JinxDojo
Copy link

@ALL: Please consider creating a new, separate thread for "save path" issues; this thread was and should be about assigning labels. As I said last November: we have let this get far too muddled in the save path issue--unnecessarily.

All we need is a simple "tag" system for UI selection. That is much more fundamental and is all this thread should be focused on. We do not need a hierarchy of labels. We do not need to worry about advanced saving paths. As has been stated above: if a label really must be associated with a save path, let each torrent have a "primary" label (or call it a "category"--with the distinction that torrents automatically inherit attributes from their "category").

Personally, I don't see why a label should even be associated with a save path in the first place. Each torrent has its own save path stored in memory. Whatever assigns the label could just as well assign the save path, no? Perhaps we could consider just eliminating the label:save-path relationship?

Regardless, discussing ways of handling the save path much further than what's necessary to enable the label system does not seem beneficial/appropriate for this thread, which is about assigning multiple labels ("tags"). We need to clarify this issue if we're ever going to get something implemented.

@mesvam
Copy link

mesvam commented Jan 27, 2016

I would support a dichotomy of labels vs tags, as @JinxDojo has suggested. This would not require any change to existing behavior, so people can still use it for save path management if that's what they really want.

Personally, I don't see why a label should even be associated with a save path in the first place. Each torrent has its own save path stored in memory. Whatever assigns the label could just as well assign the save path, no? Perhaps we could consider just eliminating the label:save-path relationship?

I agree. When you add a torrent, it already prompts you for a save location. Using labels to further modify that path is redundant and makes it more confusing for me. What I would like is a tagging system, because there exists no workaround for this problem.

@EraYaN
Copy link

EraYaN commented Jan 28, 2016

The labels and seperate directories can be used for automation (different labels for different post processors)

@mribichich
Copy link

+1

1 similar comment
@dogancelik
Copy link

👍

@WillfulChild
Copy link

After switching from utorrent, I'm finding the lack of multiple labels a significant handicap. Why not have a primary label for save path, and allow multiple secondary labels, like utorrent does?

@mesvam
Copy link

mesvam commented Jun 19, 2016

It seems @glassez was planning on implementing a tagging subsystem as a part of #4696 back in January.

Is that still part of the plan? #4784 shows as merged without the feature.

@mesvam
Copy link

mesvam commented Oct 28, 2016

So are there no current plans for tags? Not even a rudimentary tag system? I've seen a lot of progress for subcategories.

@tgregerson
Copy link
Contributor

I've also been putting off switching from uTorrent due to this feature, so I finally broke down and started implementing it myself. I have a working prototype for a Tags system using the main GUI. Compared to Categories, the primary differences are:

  • A torrent can have any number of Tags.
  • Tags are unstructured. You can assign two tags to a torrent without needing one to be a child of the other.
  • Tags are just user-defined text metadata, and aren't linked to any other specific function in the system (unlike Categories, which map to save paths), so you can change tags without consequence.

Tags are intended to be as flexible as possible, so end users may utilize them for whatever niche use case they have. Personally, I have a hard time remembering whether I've actually listened to that album I downloaded, so I use tags to add a TODO to a torrent that I can remove when it's done.

Aside from that, they should be pretty familiar for users of Categories:
qbt-tags-all

qbt-tags-choose

Only simple single-tag filtering is possible right now, but you can get AND filtering in combination with the Category and Torrents filters:
qbt-tags-select

I also played around with a uTorrent-like approach of solving the Category -> Path mapping problem. Instead of having separate Category and Tags systems, you would just have a single "main" Category designated for a torrent and multiple "non-main" Categories, and only the main Category would be used to determine the save path. However I felt like this was more complex and confusing to users than logically separating Categories and Tags.

These features seemed like interesting future extensions, but not necessary for the initial implementation:

  • Ability to select multiple tags in the filter widget and do AND / OR filtering
  • Facility for adding / removing multiple tags in a single action
  • Support for defining rules to auto-assign tags

Feedback is welcome.

@mesvam
Copy link

mesvam commented Jun 4, 2017

This looks perfect! Just what we've all been waiting for. Are you going to submit a pull request?

@tgregerson
Copy link
Contributor

Thanks for the kind words. You can see the PR linked above.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests