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

support for tagging folders/directories #13

Open
novoid opened this issue Apr 19, 2018 · 12 comments
Open

support for tagging folders/directories #13

novoid opened this issue Apr 19, 2018 · 12 comments

Comments

@novoid
Copy link
Owner

novoid commented Apr 19, 2018

I'd like to use filetags within directories same as within file names.

@novoid
Copy link
Owner Author

novoid commented Dec 19, 2021

Please note, that directory support would come with many implications you may not think about.

Here is a selection of things that need to get addressed conceptually:

I'm unsure if I can find proper answers to those questions. For the moment, I'm thinking that filetags won't get dir-support for tags. Please contribute to the discussion if you do have thoughts about that.

@novoid novoid added the wontfix label Dec 19, 2021
@dppdppd
Copy link

dppdppd commented Jul 9, 2023

I was excited about this workflow only to discover that folders aren't supported.

I exclusively manage/tag folders and have no intention to tag files. Maybe there's a solution that avoids file/folder conflicts by assuming it's one or the other?

@nbehrnd
Copy link
Collaborator

nbehrnd commented Jul 9, 2023

In my experience with tags within Karl's set of tools of the set of (date2name, filetags, move2archive), tags work best on files without a dependency to other files. Photographs (blog post), pdf which are not research publications but e.g. (scans of) individual invoices fit this well; the time stamps nicely add a second property orthogonal (independent) to the one of the tags to narrow a search in the archive. On the other hand, folders containing source code are better managed by git (and if they contain non-ASCII data such as .png, .jpg, .pdf, git-lfs on top). See e.g. Karl's My Folder Hierachy; the screen photo provides an illustration that not every thing should enter the path ~/archive/events_memories/

2018-07-22 my folder hierarchy overview -- publicvoit - scaled width 560

The approach nicely can be complemented with a desktop indexer as, for example, recoll then extending to «the other stuff». Conceptually related is the find that notes equally can be organized with tags and time stamps as in Memacs or denote as an extension to Emacs orgmode.

@dppdppd
Copy link

dppdppd commented Jul 10, 2023

That's all fine and understood if the feature isn't generally interesting.

But I don't imagine my situation is exceptionally unique.

I have folders that need non-hierarchical organization where the individual files are not interesting to tag (e.g., all of the pages of a scanned book as tiffs), or the content is third party (e.g., digital assets I purchased where the filenames should not be changed because they get updated periodically and need to be matched/overwritten).

In these cases it doesn't make sense to tag every file.

I would convert the directories to zip files and use filetags as-is if that didn't introduce its own set of problems.

@novoid
Copy link
Owner Author

novoid commented Jul 10, 2023

That's all fine and understood if the feature isn't generally interesting.

I completely disagree here.

The feature is certainly interesting. I just don't know a way to implement it without causing problems with people who don't have the background what is working and what is not working when you start using filetags with directory names for the reasons above.

So this is not a discussion about whether or not applying tags to directory names would be feasible (it is!) but rather not breaking working mental/cognitive models that come with filetags already.

But I don't imagine my situation is exceptionally unique.

Absolutely true.

I have folders that need non-hierarchical organization where the individual files are not interesting to tag (e.g., all of the pages of a scanned book as tiffs), or the content is third party (e.g., digital assets I purchased where the filenames should not be changed because they get updated periodically and need to be matched/overwritten).

In these cases it doesn't make sense to tag every file.

That depends on the way you're managing your files and directories. You could choose a different method (like I did) where directories don't need tags at all.

Or you could choose a different tagging tool which doesn't come with issues once you start using tags for directories. Disclaimer: you'll end up with different issues again because other tools don't have the same positive features/effects compared to filetags. ;-)

For me, the beauty of the filetags method also lies in its simplicity and consistency. I don't want to lose that for a certainly interesting feature you do not necessarily need in order to make use our of filetags in the first place.

Therefore I "solve" this trade-off by not sacrifying the current user workflows and conceptual models by implementing directory-based tags.

I would convert the directories to zip files and use filetags as-is if that didn't introduce its own set of problems.

That's a workaround, yes. For projects you have archived and where you don't need access to its content for tools that aren't able to index/parse/access ZIP file content, that's probably even a good idea.

@dppdppd
Copy link

dppdppd commented Jul 16, 2023

Thanks for taking the time to respond.

I went ahead and added support for taggable directories for my use case.

Sharing here in case anyone else finds it useful: https://github.com/dppdppd/filetags/tree/allow-tagging-dirs

@novoid
Copy link
Owner Author

novoid commented Jul 16, 2023

I went ahead and added support for taggable directories for my use case.

Sharing here in case anyone else finds it useful: https://github.com/dppdppd/filetags/tree/allow-tagging-dirs

Thanks for the fork! It's great to have it here as a reference in case there is somebody else who needs this feature and who is able to deal with the side effects I was describing above!

The concept of FOSS is great, isn't it? ;-)

@dppdppd
Copy link

dppdppd commented Jul 16, 2023

It is!

I sidestepped the side effects by treating directories (that have extensions) as endpoints. So there’s no descending into them. They may as well be zips.

Cheers.

@ilmc888
Copy link

ilmc888 commented Jan 17, 2025

I also would like to be able to tag directories, as part of a light-weight project management. I don't want to tag all individual files inside the project folders.

  1. I think browsing by tag (tagtrees) will just work right? Folders are symlinked which gives me access to all files within
  2. For searching inheriting tags would be useful, so you can search for files in TypeA projects starting with foo*.

@ilmc888
Copy link

ilmc888 commented Jan 17, 2025

Couldn't tagtrees be exposed using a virtual fuse filesystem? Instead of symlinking; hardlinks, or copying the files, you can dynamically generate / populate the filesystem. Changes to the underlying files and tags will be immediately visible.

https://thepythoncorner.com/posts/2017-02-27-writing-a-fuse-filesystem-in-python/

@novoid
Copy link
Owner Author

novoid commented Jan 18, 2025

I also would like to be able to tag directories, as part of a light-weight project management. I don't want to tag all individual files inside the project folders.

I can understand this desire.

1. I think browsing by tag (tagtrees) will just work right? Folders are symlinked which gives me access to all files within

2. For searching inheriting tags would be useful, so you can search for files in TypeA projects starting with foo*.

Please read above list of things that need to be solved. I don't see any concept addressing those issues (or even listing all relevant issues after thinking much more) so far, which allows for an easy to understand and use implementation.

@novoid
Copy link
Owner Author

novoid commented Jan 18, 2025

Couldn't tagtrees be exposed using a virtual fuse filesystem?

Yes, there are many implementations that follow that direction. You have plenty of other products that do provide that already. I guess some of them are also mentioned in my thesis: https://karl-voit.at/tagstore/en/papers.shtml

However, it was a design goal for my tools that it must not require databases or other complex technologies. filtetags and Co will never ever support this concept because it would be a different tool altogether with large subtle and not so subtle implications. Sorry for that, but you have many other options for that.

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

No branches or pull requests

4 participants