Mikescher/AlephNote

[Feature request] Tags in filesystem account

Opened this issue · 1 comments

I like to use tags in organizing notes, but I can only use tags either on server-side accounts (e.g. Standard Notes, etc) or as headless.

If it's possible to implement tagging for filesystem accounts, that would be greatly appreciated.

The reason that the filesystem plugin currently does not support tags is the following:

The design of AN enforces that all data is stored on the remote end, so that in theory you can at every moment delete your local data and download all data anew.
Otherwise would need to spend more effort in tracking additional client-side data for each note.
This means that tags are only supported where the remote end also supports tags, this is a problem for the filesystem-plugin, because here we only have raw files in some directory, which only have a title (filename) and content.

There are some ways in which we could support tags for these files:

  1. Somehow track the tags in AN. This would either be hacky (but at least restricted to thats pecific plugin) or need a bit of restructuring of AN code
  2. Save the tags together with the files in some kind of file metadata (eg NTFS alternate data streams), but I don't think there is anything filesystem-agnostic and I really don't want to limit everyone to NTFS
  3. save the tags directly in the file with some kind of special syntax. But this would pollute the (previously totally plaintext) files with these tags-syntax. Also I would a little bit break backwards compatibility and we would need would think what happens when someone inserts invalid data in these files

The best / most practical solution would probably to either update the fs-plugin to track tags locally or even create a new plugin (fs-with-tags) as a fork of the original fs-plugin to support tags there.

I can put it on my todo list, but I don't know when I will find time for it (also there are currently other things I think are more important).
But if you want to try your own hand at it and write a PR I would definitely support that. You can simply create a draft-PR and we can talk a bit more in-depth how that could be solved

 

~ Mike