laurent22 / joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
https://joplinapp.org
Other
46.37k stars 5.04k forks source link

[Feature request] Hierarchical tags #375

Open ghost opened 6 years ago

ghost commented 6 years ago

Like a Evernote: evernote_2018-04-04_10-57-16


Operating system

Application

BenoitBotton commented 6 years ago

yes please, this would help tremendously with using Joplin for https://thesecretweapon.org/

ghost commented 6 years ago

And it would also add the possibility to use it as a kanban board with limitation of wip

foxmask commented 6 years ago

I don't see the link between tag and kanban 🤔 Joplin is just a markdown editor, it's very very far from a kanban software isn't it?

ghost commented 6 years ago

Yes you are right it is far from usual board-software. But with hirarchical tags you could create a tag for each project and group under each project the different stages of wip. With the feature request for notes per folder/tag you could see in a second the status of each project ... Not that visual but in my opinion it would do the job

ivangretsky commented 5 years ago

Would be super useful, allowing multiple ways to organize notes.

cable729 commented 5 years ago

To aid in search, I'm mentioning the keywords "nested", "parent", "children".

bmscc commented 5 years ago

Dear all, congratulations for the development of Joplin.

My professional/personal note-taking workflow (Evernote Web), heavily relies on Hierarchical Tags to organize information: example: hierarchical_tags Having a "flat" Tag visualization instead of a Tree view makes it a lot harder to browse the database.

Are there any plans to implement this feature in a foreseeable future?

Thanks in advance

Best regards

JLKM commented 5 years ago

Hierarchical tags would provide a kind of taxonomies. This would be really awesome, and perhaps it's not so hard to implement. How about handling \\, \, //or / as separators in tags? Like country\\region.

jemag commented 5 years ago

I agree that this would be amazing. Having imported my notes from Evernote, instead of having 5-6 top level tags, I now see hundreds of them in the tag list. Definitely making me reconsider if I should switch over or not

luckydays commented 5 years ago

Hi@laurent22. Could you get back to this feature request, please? We're really struggling without here :)

In general - how much realistic this can be in the nearest future, and how does it currently look like from the WIP features?

Thank you for this amazing product!

cspk commented 5 years ago

This would be a really, really nice feature. Moreover, if you have hierarchical tags, you no longer need notebooks at all—your notebooks may be represented as top-level tags. Notebooks in fact start feel too rigid and restricting after you've become acquainted with the hierarchical tags. I've yet failed to find a self-hosted, no BS note-taking software implementing this.

Standard Notes has it, but I had troubles setting it up, plus it tags notes both with the parent tag and a child tag. This should not be the case: if a note is tagged with a subtag of a tag, it must imply tagging with the parent tag. QOwnNotes gets it out of the box but lacks an Android app. Trilium has similar, but inferior concept of cloning: you have to do stuff manually to expose notes/folders to various parent folders.

pconwell commented 5 years ago

I agree with @cspk . Organizing notes into 'notebooks' feels unnecessarily rigid. It makes much more sense to be able to tag a note with multiple tags (versus only being able to put it in one notebook). The topic of a note might overlap with multiple topics, and if you are forced into organizing by notebook you can have a really hard time deciding which notebook to put something in. And when you try to find the note 6 months later and you can't remember what you filed it under it becomes frustrating. Tags, on the other hand, make much more sense.

I mean, gmail ditched folders for tags and it has been hugely successful.

cablop commented 5 years ago

I adhere to this request, hierarchical tags.

It is one of the two features that are preventing me to move my GTD system from Evernote to Joplin. Nested Tags would be so useful.

cablop commented 5 years ago

This would be a really, really nice feature. Moreover, if you have hierarchical tags, you no longer need notebooks at all—your notebooks may be represented as top-level tags. Notebooks in fact start feel too rigid and restricting after you've become acquainted with the hierarchical tags. I've yet failed to find a self-hosted, no BS note-taking software implementing this.

Standard Notes has it, but I had troubles setting it up, plus it tags notes both with the parent tag and a child tag. This should not be the case: if a note is tagged with a subtag of a tag, it must imply tagging with the parent tag. QOwnNotes gets it out of the box but lacks an Android app. Trilium has similar, but inferior concept of cloning: you have to do stuff manually to expose notes/folders to various parent folders.

I disagree with getting rid of the Notebooks. Notebooks work good as currently intended, and provide a rigid structure to save the notes in. Tags, in the other hand should be for a more flexible way to store data, and combined you have a drawer, a notebook, to hld the content, while tags describe the status of that content inside that container.

pconwell commented 5 years ago

while tags describe the status of that content inside that container.

That's not the way I envision using tags, personally. Tags, to me, are not a status indicator but rather a topic - basically the same way gmail uses tags. EVERYTHING goes into one 'folder' (all mail) and everything else is just a tag. For example, gmail does not have an actual inbox, it's just items that have the 'inbox' tag.

Now, it's an easy fix (as in easily described, not necessarily easily coded), if you want to use notebooks you can still use them. If you don't want to use notebooks, just put everything into one 'master' notebook.

Personally, if nested tags were an option I would not use the notebook feature at all. Everything would get dumped into one master notebook and I would only use tags. Organizing information into discrete notebooks makes no senses to me. An individual note may fit into multiple 'categories' and currently notebooks do not allow you to have the note in multiple notebooks (I guess you could make duplicates technically?). Imagine you had to go to an extensive training program for work. Would you put it in the work notebook? Training notebook? Or what about a note that has code snippits for various work and personal projects? Does that go into the coding folder? Or the work folder? Or the home folder? All of these are easily fixed by forgetting about folders/notebooks and just tag everything.

Again, all that being said - you don't have to actually get rid of notebooks, just don't use them. But honestly, I don't see the point in using notebooks when tags solve a whole bunch of problems and don't introduce any issues. You can functionally use tags exactly like notebooks anyway.

miciasto commented 5 years ago

Further to @pconwell's comment, a notebook could instead be a list of notes selected by a tag filter

For example, I might want a "Work" notebook to contain all notes with tag "work" and without the tag "archived".

Or a "Garbage Bin" notebook might list all notes with the tag "deleted"

simonsan commented 5 years ago

The nice stuff about tags is: you can use them as you like. I would prefer the way mic704b wants to use them. But for sure you can also use them the way you want pconwell. :-)

pconwell commented 5 years ago

If you've ever used RTM, what @mic704b is describing is a Smart List, which I use quite a bit. Very useful.

stale[bot] commented 4 years ago

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

ivangretsky commented 4 years ago

Hey, bot! This is probably one of the most potentially influential issues for Joplin's future, so please leave it as it is)

aashish108 commented 4 years ago

BAD BOT!!!

ghost commented 4 years ago

really bad bot, I really want to have this feature

pconwell commented 4 years ago

@stalebot - the only reason this is "stale" is @laurent22 hasn't chimed in yet.

laurent22 commented 4 years ago

Done, it's immune from stale bot now.

ghost commented 4 years ago

could this be a feature implemented during GSoC?

EL-SHREIF commented 4 years ago

Is this still available as GSoC project?

monkeydump commented 4 years ago

Just another voice here wishing for hierarchical tags & the prospect of GTD paradise!

pheidrias commented 4 years ago

I would very much appreciate hierarchical tagging, too!

luckydays commented 4 years ago

@laurent22 could you perhaps comment on whether this feature is in the pipeline, please? It would so incredibly awesome to have the hierarchical tags in Joplin!

laurent22 commented 4 years ago

@vsimkus has implemented it in this PR and I'm planning to review it soon.

simonsan commented 4 years ago

Wohooo! :-D

jpessolani commented 4 years ago

Nice! Waiting for Hierarchical tags to become a thing before migrating to Joplin

fidel-perez commented 4 years ago

Same here @jpessolani . I want to migrate from Notable, which already does this, into Joplin, but cant go back away from nested tags, they are just mandatory, you guys will see when they are finally implemented here. The main reason to migrate is that it has become non-open source recently and you guys already have Dropbox sync, which the other one lacks yet and might be behind a paywall in the future.

macgrouther commented 4 years ago

First, thanks for creating Joplin! I have already migrated from Evernote and am very happy with the transition. Please add my name to the list of people requesting hierarchical tags. I use the stacked notebooks and tags together, so I wouldn't want to see the notebooks feature go away.

tawfeqfauzi commented 4 years ago

Hi. Any updates on this feature? I would love to start using and export everything to Joplin. This might very well be the only thing holding me back.

amsmeier commented 3 years ago

This feature would be very useful.

tsilvs commented 3 years ago

This feature is being developed by @vsimkus.

A PR #2572 has been merged but later reverted in November 2020 due to some performance issues

It has been reverted due to performance issues. The original author will look into it when he has more time. Originally posted by @tessus in https://github.com/laurent22/joplin/issues/2572#issuecomment-733087807

No major activity since then, AFAIK. I guess anyone skilled in frontend development is welcome to resolve & contribute.

adam-jones-net commented 3 years ago

I'm just jumping ship from EverNote like a ton of people right now due to their disastrous version 10. Found Joplin but no tag hierarchies is one of two or 2 or 3 reasons why I can't go to it. Please add this and maybe I can check it out again later.

BeatLink commented 3 years ago

I really hope this feature will be implemented soon. I'd be willing to pay a bounty for this issue

EDIT: I have created a bounty: https://www.bountysource.com/issues/56607967-feature-request-hierarchical-tags

BeatLink commented 3 years ago

In terms of implementation, the easiest way to do so (if not attempted already) would be to have every tag only have a parent ID (which can be null for top level tags) This is all the information needed to generate ancestry and children trees for the tags on the fly. This is preferable to having each tag contain its full parent/ancestry information

BeatLink commented 3 years ago

In fact, it seems that notebooks already use the parent ID method for generating hierarchy. Couldnt tags use the same implementation that notebooks uses for hierarchy?

kimcosmos commented 3 years ago

Instead of hierarchical tags I use hierarchical notebooks and manually add secondary tags. That lets me search by parent or child. With (notebook:) and (any:1) without (tag:) hierarchy. To make this work well I need the ability to add a tag to batch tag notes from a search result (select all/none checkboxes). That lets me search a child notebook: -tag:ToBeAdded then batch tag. Having the search show the notebook of each result would make untagging easy too. Its not drag and drop tagging but it has more fine control. It might be an alternative to the tag.all performance bottleneck. To make this hierarchical, search notebook: would need to also search subnotebooks

Auzout commented 3 years ago

Can tags collapse if they have similar start string?

I use many tasks and make the same category with the save starts. For example, art category, I have tags like this

If I can collapse them, it will work similar to nested tags.

Thank you

darkphase commented 3 years ago

This would be implemented just as splitting tag strings by user configurable seperator ( / . : ) and rendering it into a tree view... Creating parent - child relations on tags simply against the tagging methodology.

Strict hierarchies are not really found in real world so; Also disabling notebooks completely on the left menu with a config parameter would be nice...

ivangretsky commented 3 years ago

This would be implemented just as splitting tag strings by user configurable seperator ( / . : ) and rendering it into a tree view... Creating parent - child relations on tags simply against the tagging methodology.

Strict hierarchies are not really found in real world so; Also disabling notebooks completely on the left menu with a config parameter would be nice...

Maybe the tags could be done as you proposed, but displayed ad hierarchical?

darkphase commented 3 years ago

Please Check the APP in the link.. Just about how it handles grouping... I'm not making any hidden suggestion about any other feature that app may have.

PURPOSE: Handling categories like that is simply allows us put a note into multiple categories...

My personal opinion about tag cloud is it would be completely useless in that use case. And in any other similar case, if you're trying to emulate a tree hierarchy via tags.

https://github.com/notable/notable Regards

darkphase commented 3 years ago

Is there any development in this issue?

JackGruber commented 3 years ago

I think not at the moment. Before this feature would implemented the issue https://github.com/laurent22/joplin/issues/4251 would have to be fixed, because the last implementation caused even more performance problems (If I remember correctly).

darkphase commented 3 years ago

I'm trying to say that the performance issues about the currently "abandoned" one, are because the implementation is already seems wrong. It should keep tags as is.

eg: For single note may addressed as;

TAG1 : Books / Programming / Languages / Python TAG2 : Programming Languages / Object Oriented / Python TAG3 : Writers / Guido van Rossum TAG4: Writers / Fred L. Drake Jr.

and its categorical hierarchy may fairly easily be translated (and implemented ) while rendering as

Books
 |------ Programming
                |-------- Languages
                              |----------- Python
Programming Languages
 |------- Object Oriented
                 |-------- Python
Writers
 |------- Guido van Rossum
 | ------ Fred L. Drake Jr.

NOTE: "/" separator should be configurable of course.

Regards.

tessus commented 3 years ago

@darkphase how come? are you a SW engineer? you apparently have a solution how separate tags in a hierarchy are really separate entiies and when searching for a tag, you will get all children returned. The only issue you have addressed was the rendering of tags, which is the least of any problems.

If you have a better solution, creata a new PR. But keeping tags as-is won't introduce a hierarchy.