aidenlx / alx-folder-note

Add description, summary, and more info to folders with folder notes.
MIT License
243 stars 13 forks source link

[FR] File Notes i.e. Replicants #135

Open Servinjesus1 opened 5 months ago

Servinjesus1 commented 5 months ago

Replicants: Markdown Files for Non-Markdown Files

This seems like a rather large ask, but I wonder if there's community interest in an ability to add a markdown file as a sort of meta-Note for non-markdown files to one's Vault. Let me explain why I think this is useful. In short, I would love to see a Folder Note plugin implement the same UI features for non-markdown files as they do for folders. A folder is really just a kind of non-markdown file (to a file system), so the logical progression from applying Obsidian features to folders to a general metacognitive notion of applying Obsidian features to any non-markdown items seems consistent with an extension to a folder note plugin. Though the work to do this might justify its own plugin, I don't know.

Files, Hobgoblins of Fragile Systems

It's often the case that files we create are created for some application, and the application isn't necessarily associated with the creators of the file. Sure, if I'm a project manager, I would store all my files for a project in one place and have an In/Out system. However as knowledge workers, the boundaries of our projects aren't as well defined. Most of the time, content we work with applies in different meaningful ways to a multitude of projects, and it's the unique application of this content that gives us our value. This can lead to disassociation between sources, logs, and projects. For me, I create images, I analyze data, I read papers. I version track my creators - code and files for programs that create other output - as well as keep a dated archive of my work to keep track of what I'm doing. Then, when creating a report, I assemble members of my archive to support some conclusion. It's incredibly easy, therefore, for the creators to exist in one space, the archive another, and the export yet another which can become desynchronized, leaving me wondering "where did this plot I used in this report actually come from?", etc.

If you've experienced this, you've experienced how files are like migrating hobgoblins, on a journey to find their purpose and interacting with different spaces of your system on their way.

Tracking Hobgoblin's Journeys

Two solutions exist for tracking the journey of files around your system: links and replicants. Replicant is a term I take from DevonThink, where the database model is capable of creating "pointers" (if you know code) or "symlinks" (if you know file systems) which can exist in different places but associate to the same data. This is especially nice because it means updates to the data translate everywhere and the data itself is not duplicated, wasting space. Links are essentially the data stored in a replicant, just in another file. A Folder Note is a great example, because one could put links in the folder note to files associated with that folder for some reason (i.e. maybe created by the Creators in that folder) which will track the journey of the file even if it moves. I call these links 'replicates' (chopping off the 'n' makes it sound like a smaller, ethereal version of a replicant) and they're like the ghosts of hobgoblin files' pasts.

Note on a third tracking option: labels

There's a third option for tracking files, which is metadata in and of the file itself, like a label. This can be added to a file (e.g. the author property in a PDF) but what's available depends on the file type. Otherwise, this would look like some database under the hood which internally assigns metadata to its file objects (which is how basically everything works). However users only read, not manipulate, these parameters or have otherwise tightly controlled access to what properties they can add.

The Sad Reality of Text Based

Clearly the features a database can offer in terms of replication is powerful, but goes against the very notion of Obsidian: text-first, your data, no proprietary database. This means that the assignment and tracking of metadata about files must also fall on the user to implement, and what I propose with Replicants is a text-based way to do this.

The Imp in Implementation

Replicants would be like File Notes that users can create for any file that's not a markdown file. They would show up just like Folder Notes as underlines on a non-markdown file, which upon clicking on non-markdown files would open the replicant, not the non-markdown file.

At bare minimum, I would put a link in the replicant to the actual file. Then, any references to that file are instead links to the replicant, so things in my Vault stay self-consistent regardless of where the file is. Granted, the idea is to move things around in Obsidian and keep the replicant and file synchronized via the File Notes plugin anyway. The real power comes from other Obsidian tools available only to markdown files: backlinks, tags, properties, queries, the list goes on.


Thanks for reading this, let me know if you're interested. I could involve other plugins like Lost Paul's Folder Note or Unitade (which involves non-markdown files anyway).

colintedford commented 5 months ago

I didn't read your whole post so this recommendation may be off-base, but the Binary File Manager plugin may do what you want. (You may not have found it when searching plugins because its name and summary don't match what I think most people would expect.)

Servinjesus1 commented 5 months ago

OK yes, although this plugin does the bare minimum of what I'm looking for, it's unfortunately too buggy. Mainly, because it can only store meta notes in one directory, name conflicts can arise, and it loses track of what non-md files are new vs old too easily, maybe because it is using the file names in its meta note directory to filter the non markdown file names, i.e. endless conflicts and duplicates.

Since the owner's not touched it for nearly two years, I worry it won't be maintained. Plus, this plugin has all the features I'd want in a meta note plugin so I would love if Aiden considered it.

If others have found the binary file manager useful or my idea worth building on, please let us know so we can generate momentum.