notes
notes copied to clipboard
Add tags for notes [$100]
I know that in Nextcloud Notes I can use Categories that are subfolders, but I would find it more convenient to have Tags. I have this functionnality with QownNotes but it can't synchronize with Nextcloud Notes keeping tags. I first started an issue on QownNotes (https://github.com/pbek/QOwnNotes/issues/953) but here's what they answered:
@makayabou It appears that the Nextcloud notes app supports "categories", which is actually subdirectory, but does not support tags. Since tags are apparently in use and supported as a client-side feature for multiple clients of the Nextcloud notes app, lack of support for tags could be considered a design limitation in the notes app. Have you considered submitting a feature request to that project? The developers may have considered it redundant with categories, but if it is useful to the user base, they may want to know. If it is implemented, it could be simply supported by the API using the "Get all notes" call, which returns to the client a list of notes and their attributes, which could be augmented to include a list of tags for each note (see Notes API 0.2). Support in QOwnNotes would be possible if, the developers are interested in adding it. Although it would require a few design changes in QOwnNotes to talk directly the the notes app, it would not require a separate request for each note to synchronize state.
What do you think of it ?
BountySource is no longer directly supported or endorsed by this repository. See #547 for more information. There is, however, an existing $100 open bounty on this issue.
Yes, we decided to use categories (based on sub-folders), see #8. We also decided to realize only one type (i.e. categories OR tags) in order to keep the app simple.
However, I will leave this issue open in order to allow a discussion about this aspect. But I don't think that we will change the roadmap in this aspect soon.
The subfolder/category-based method is very "rigid", the "tags" would be a lot more flexible and easy to use ! I mean, each of my notes could be in 2 or 3 categories (or tags)... Moreover, the integration with QOwnNotes is not full because of that, tags are the "modern categorisation method".
Is there any chance that you change your mind about that roadmap ?
zotero use both method (tags and folder) and it's very usefull :D
Tags are already possible when accessing a note as txt/md via the Files app.
However, you cannot see or access those tags from inside the notes app itself. The only options you see pertaining to the note are Favorite, current Category and Delete.
Perhaps tags could become accessible from the Notes app, similar to how categories can be defined. A combination of tags and nesting covers many use cases, plus is a default design I'm used to from Evernote.
I tried to follow @makayabou suggestion to put a bounty on this issue, but: 1, I could not register to bountysource, it redirects me to CanWork. Should I register with CanWork instead? 2. How much is a reasonable bounty to get this issue solved, considering that developers do not seem to have much interest for this issue? 3. Also how Android could integrate with this? It seem in another thread @stefan-niedermann asked for API to do some integration, so perhaps solving this issue would mean also producing proper API.
Also, considering the huge amount of work involved in taking hundreds or thousands of notes, I would like to stress the importance of finding the single note you are searching, when you need it. If you are unable to find it, then the whole purpose of all your note taking work is wasted. The power to put multiple tags on a single note is critical in this sense. Thanks for reading best
- AFAIK you should be able to sign in with your GitHub account.
- I think it's about supply and demand. How much is it worth for you?
- Yes, extending the API is also part of this.
I have the same request now. Categories is a very important feature to manage notes, but tags are more useful to me than categories, notes with several tags at the same time are easier to search and read, BTW, I do NOT think it will be not simple if Notes support labeling notes while categorizing them.
There was posted a bounty (50$)! Could someone add the bounty label?
By the way: I totally support the request for tags. I don't think it's tags OR categories; they support different use-cases. The ability of tags to be assigned to multiple notes is very important for me (and others, I think).
Tags would be absolutely excellent as a feature, as others have described. The freedom it giving for organising/searching without a rigid folder structure in unbeatable.
Tagging with an intuitive search via tags would have this app competing with Evernote for sipmle usage (which is what 90% of the world needs).
Please consider this feature request.
I've just added $50 to the Bounty
@carbontracking Please use GitHub reactions 👍 to show that you are affected by the same issue. Please don't comment if you have no new or relevant information to add.
As explained multiple times we want to keep a folder & files based approach to avoid a vendor lock-in and allow simple export of the notes as well as synchronizing them with every WebDAV client and the Nextcloud Desktop sync client. Suggestions about how to enable tags in this scenario are welcome. While we all understamd the benefits of tags, a plain "I want this" will not solve this issue. Constructive proposals and ideas about how this kind of mapping might look like are welcome contributions, though.
It's possible to add tags to files, so shouldn't it be possible to add tags to notes (which are basically files)? How are tags stored in the files app? Is there a database for them? Or are they directly attached to the files as some kind of metadata?
How are tags stored in the files app?
They are stored in the database, not as file meta data.
How about storing #Tags in plain text and offering an interface which allows to filter notes by tags. This is done by Laverna, which also allows to format notes in markdown.
Lavernas UI has some nice features like clicking on a tag to see all notes with the same tag. See below a screenshot of the editor, you are free to try it in your own browser.
The strength of nextcloud is its file-based syncing capabilities using standard protocols. Using plain text tags does not require any complicated API and maintains maximum compatibility. Indexing of notes to search for tags is simply done by client side applications.
Now this is an interesting idea. Hashtags. This is definitely worth further investigation and while we can't store separate attributes like colors, we could use it theoretically for searching or displaying an alternative navigation structure.
I understand that the goal is to have a simple structure to make exports easy. I understand you want a single system, tags or categories for ease of use.
I am coming from Carnet, which is a separate app, and it supports both, so when I used the Notes app I got surprised there was no tag support. I understand the concerns why though.
Now, for the hashtags inside the text files, this would implies having to parse each file in order to extract the tags, in order to build a tag list. I don't think that's scalable with a large amount of files. In the end you will want to put the tags somewhere else like in the database to increase performance and then that would break the ease of "exporting the notes easily" philosophy.
In the end I have no solutions, as the Note app is based on the filesystem we can't have a single Note in multiple locations. Maybe if we could make some symlinks from inside Nextcloud... then we could have a single Note in multiple locations. That sounds hackish anyway.
I think going with the Categorization instead of Tags here https://github.com/nextcloud/notes/issues/8 was a mistake.
- Because in practice, "having a simple structure to make exports easy" is not going to happen everyday, and it is still possible to export Notes with tags by just "flatifying" the tags into a folder structure, putting multiple copies of the Notes in the folders (giving a zip to the user).
- Because in practice "the degraded UI because of the tags" is about changing the category dropdown selector into a multiple categories selector with a checkbox for each category. The rest of the UI would stay unchanged. It's actually simpler, because you can show tags on the left menu without any "subfolder" / tree concept.
Now, for the hashtags inside the text files, this would implies having to parse each file in order to extract the tags, in order to build a tag list. I don't think that's scalable with a large amount of files. In the end you will want to put the tags somewhere else like in the database to increase performance and then that would break the ease of "exporting the notes easily" philosophy.
It's possible to parse notes once, cache tags to db and then only reparse edited notes while keeping text tags in notes as is thus maintaining easily exported notes. So I don't see much problem in that.
It's possible to parse notes once, cache tags to db and then only reparse edited notes while keeping text tags in notes as is thus maintaining easily exported notes. So I don't see much problem in that.
yes, that's what I wrote
In the end you will want to put the tags somewhere else like in the database to increase performance and then that would break the ease of "exporting the notes easily" philosophy.
Can you elaborate on how app-specific db for cached breaks "exporting the notes easily"? It's really unclear to me.
Can you elaborate on how app-specific db for cached breaks "exporting the notes easily"? It's really unclear to me.
It depends on how the exporting is done:
- Either we are in a "folder" mindset, where the tags are seen as multiple categories, and then to export these you'd have to "flatify" the stucture and have duplicate notes. Reproducing a filesystem from the tags
- Or we are in a real tag mindset where everything is flat, no folders, and then we can export easily just the notes, since the tags are inside each note in the form of a hashtag string. There is not even the need to export anything, it's right there in the Nextcloud folder
I actually like the 2nd option which is what you are proposing, but I am not sure this conforms to the discussion in #8 where people seem to want to have a folder structure representing their "tags"
@RedKage I see now, thanks. Welp, my guess is that you can show the tag structure in sidebar, building it in runtime from cached data from db, especially since there is no straighforward way to have multitagged notes on real filesystem. So you can have plain and simple exporting and folder structure with tags.
One idea that seemed worth throwing here: modern OS should all have links (soft or hard) these days, right? If so, you could consider creating the following structure, when exporting:
- one directory that contains all the flat notes
- then one directory per tag, each containing links to the files (of the flat note directory) that contain the tag
Of course, this only works if the export is a snapshot of the current database state; it's not possible to have something that would reflect changes to this folder structure over time (renaming, moving things around).
(bonus points for making a FUSE based on the notes' tags, so that it can actually reflect changes)
@bnjbvr that's almost what @RedKage proposed as first possible solution. However you variant is even more complex in terms of final export artifact. Just copying seems more bulletproof and not copying at all is the simplest. If you're going to import notes somewhere else after export you're gonna do some manual work in any case so those complications aren't winning anything imo.
Maybe take a look at how they mange their tags: https://github.com/pbek/QOwnNotes (sqlite, i guess)
They also have a browser extension, just saving links in a markdown. You can tag those links similar to this https://github.com/nextcloud/notes/issues/299#issuecomment-752432115 apporach.
E.g. a saved link looks like: - [Timnit Gebru: Wie viel Ethik verträgt Google? | ZEIT ONLINE](https://www.zeit.de/digital/2021-02/google-ethik-timnit-gebru-technologie-forschung) #Soziales
Where #Soziales
is the tag, beeing parsed by the browserextension.
Another appreach to tagging and handling note metadata might be the addition of a "frontmatter" section to the markdown files. Such sections are becoming increasingly common[^1] and would help standardize the format and solve a bit of the pain in adding tags inside the files themselves (and thus having to completely extend/change the markdown parser). Not to mention that there's a wealth of readily available packages and parsers for frontmatter in yaml format that would (almost) transparently go before a markdown parser with minimal work required.
I still fully support the idea of parsing such frontmatter (and the tags therein) and putting them in an easier-to-search and easier-to-index format in a database somewhere else. This might be the biggest sticking point, as far as this feature goes, as well as adapting current Notes ui to handle this change.
[^1]: See: YAML frontmatter on Jekyll blog's, YAML frontmatter on obsidian, Dendron's summary of frontmatter feature and concepts
I would argue that having tags as Hashtags #sometag
is the most practical thing from a user stand point. It avoids having to awkwardly tag each note with some clickable interface. Obsidian also does this, and is IMHO the best note taking app available, doing everything right except being OSS.
Tags as hashtags would make shared note pool between nc notes and obsidian (or other apps with similar format) more usable.
+1 on using tags in frontmatter like Obsidian. I'm importing notes from Obsidian, would be nice to have tags.
I dindn't really think of frontmatter tags, but that would certainly be useful too. Personally, I prefer having #tags
anywhere in my notes.
Joplin uses frontmatter to export the tags (and other meta-information):
---
title: My title
updated: 2024-03-16 08:55:22Z
created: 2020-12-06 11:48:10Z
author: Peter Tandler
tags:
- tag1
- another tag
- even more tags
---
Note content
Another vote for tags! They are essential. Would really appreciate seeing them in any further version of this app.