[Enhancement] Additional functionality for tag hierarchies

Bug #1880264 reported by Nick Chomey on 2020-05-23
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Charles Haley

Bug Description

As I get my tags in order and start to make some sensible hierarchies (what a fantastic feature!), I find I'm moving them around a lot, consolidating many existing ones below a broader tag, etc... This takes a far bit of effort of renaming each parent and child tag to the new path.

Is there any possibility to be able to drag a tag name in the Tag Browser to another tag in order to become its child? It would work whether moving from Level 1 to any lower level, or from a lower level to a higher one. If a tag has children, they would be moved as well.

Completely understood if this is far beyond the current capability of the hierarchy function.

Changing the component for this bug.

 assignee cbhaley
 status triaged

Changed in calibre:
assignee: nobody → Charles Haley (cbhaley)
status: New → Triaged
Charles Haley (cbhaley) wrote :

Sorry, but this is way too much work for something I would never use.

Changed in calibre:
status: Triaged → Won't Fix
Nick Chomey (nick-chomey) wrote :

Understood. However, I do think this is a tremendously useful feature, so I have a more limited suggestion that *seems* do-able as it is effectively the same as renaming tags manually: forget about moving the children and only move/rename the selected/dragged tag, which would *simply* require the dragged tag to be renamed to the New Parent Tag + "." + Existing Tag Name.

The children of the dragged tags would remain behind, thus a "dummy" parent would stay there as well. But this already happens when I manually rename/move a tag. Once the children tags are also renamed, the "dummy" parent disappears.

e.g. I want to put the History hierarchy within the Nonfiction one.
History (10)
History.American (6)
History.American.Civil War (3)
Nonfiction (100)

Nonfiction (110)
Nonfiction.History (10)
Nonfiction.History.American (6)
Nonfiction.History.American.Civil War (3)

The simplified proposal would be to only move/rename one tag at a time. If that happens to be History, you get

History (6)
History.American (6)
History.American.Civil War (3)
Nonfiction (104)
Nonfiction.History (4)

If I then rename/drag History.American to Nonfiction.History.American, it looks like

History (3)
History.American (3)
History.American.Civil War (3)
Nonfiction (107)
Nonfiction.History (7)
Nonfiction.History.American (3)

and finally after renaming/dragging the Civil War child, the History hierarchy disappears altogether.
Nonfiction (110)
Nonfiction.History (10)
Nonfiction.History.American (6)
Nonfiction.History.American.Civil War (3)

The net effect is that I can drag the 3 (or, in reality, dozens/hundreds of) tags in 3 seconds vs multiple clicks and typing to rename them - maybe 30 seconds? Multipled across dozens or even hundreds of tags (and users) and the time savings adds up.

This appears to be possible, but I know nothing about actual coding and of course defer to your expertise and inclination. If still rejected, could it at least be left in a list of Open/Maybe/Wishlist enhancements rather than Wont Fix/Rejected?

Thanks for all your hard work and extreme responsiveness!

Fixed in branch master. The fix will be in the next release. calibre is usually released every alternate Friday.

 status fixreleased

Changed in calibre:
status: Won't Fix → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers