Automatic image and attachment management

I’d request to add feature to automatically manage attachment / images similar to OneNote or others :

  1. Attachment should be able (or had option at least) to be “attached” to specified notes instead of filled in common folders when being added as link or copied to note. (Plugin “Custom Attachment Location” works okay on new attachment but I believe a native solution would works more smooth and reliable)

  2. When attachment reference / links being removed from notes, it should have capability to remove the attachment automatically to avoid orphan attachments / images.

Scenario for 1 and 2: I work mainly on a daily note to collect daily meeting / discussion / note with many images and attachments. When I review the daily note and want to digest and re-allocate the notes to other specified notes, I want to minimize the efforts to manually re-allocate the images and attachment files one-by-one to move together with the individual notes and delete them in the attachment folder associated with original note.

  1. Provide capability to hidden certain folders (i.e., attachment folder) so that explorer can show more notes for easy note access.
8 Likes

I’m a great fan of obsidian, but I believe that this is a big shortcoming which drives me mental when moving notes around

Definitely a +1 from me

Right. I really wish this feature was made. It’s stressful because of the management of attachments such as images, audio, and pdf. When you delete a document, make sure that the attached files are also deleted. If you clip and paste from the Internet, make sure that the image is also saved on the hard disk.

1 Like

I have the same problem with attachments, and my solution is to use folder notes. When I need to attach a file to a note I make it into a folder note and move the attachment in the folder. This works well for me. The only complication is when using dataview to query notes.

I agree with the previous post. My vault is quite disorganized, with attachments scattered in incorrect folders and some that are no longer associated with any notes.

It would be great if there were a feature that users could enable or disable as needed.

Each note could be structured as a folder containing one Markdown file and all of its attachments. This approach would maintain compatibility with future updates, other tools, and remain GitHub-friendly, for example.

Like explained here: New "default location" behavior for attachments/images: Automatically convert the note's .md into a container-folder itself that holds all embeds and cleverly hide it throughout the UI by treating it as a regular note

Important introduction

When designing a system and its UI/IX, one can have 2 different approaches/views:

  1. Technology-centric (process-oriented)
  2. User-centric, functionality-centric (result-oriented)

It’s about who needs to adapt to which way. In the former, humans must learn and adapt to how computers operate. In the latter, the human needs and way of doing/thinking are on top, and the UI/UX/software does whatever is needed to translate this human way into the computer-understandable form.

Examples:
Programming languages: assembler vs. higher-level languages like Ruby.
Doors: a block of wood to barricade the medieval door vs. button in the app, that sends a signal and that automatically opens the door.
Cars: manual shift vs. automatic shift.

The first approach has its place, but generally speaking, the second one is better, especially in consumer products. It is the approach that will lead to the product being easier to use, more appealing, and more popular.

People want to do FunctionX as effortlessly as possible (with just enough control, not too much and not too little) with software parts handling all the necessary steps, not doing all of the technical steps manually. At the end of the day people want function and don’t care how it is done underneath.

  • That’s why one can drag-and-drop files and directories from one file manager window to another, even though that is a drastic omission of actual reality (especially with moving recursive directories located on different disks (or even one of them on the internet drive)).
  • That’s why you can copy-paste files from one folder to another even though copying files has nothing to do with the system clipboard.
  • The mere fact that the term “folder” is used instead of the “directory”. Just to make it more understandable to humans even if it makes it not correct.

And thankfully Obsidian developers understand that. Eg. that’s the reason why Obsidian moved from Edit/View modes to one WYSIWYG mode. This is a good development (as well as leaving more control for people who need it).

And here we finally come to my issues and suggestions.

From the same point of view, Obsidian is still lacking in some areas. Namely:

  1. deleting notes
  2. moving notes

The core issue is that people (Obsidian users) care less about the physical (electrical) files and the combination of such files which constitutes “the note (abstract)”. They care and operate on the level of the abstract “note” (which included both the physical note file as well as all the images and attachments).

Use case1 - Deleting notes

Sometimes I want to delete only one note file. But more often than not, when I want to delete a note, I want to delete an abstract “note” - I want to remove it together with all the images/attachments (that are not used elsewhere).

When I copy&paste an article to create a note, I do it with images (Local Images plugin is helpful). I view text+images+attachments as one thing. And when I want to delete the note, I also want to delete the whole abstract “note” (note + attachments).

This is exactly the same even if I wrote the note manually, combined information from multiple sources and added illustrations, but then decided that I don’t need it anymore.

Optimally there should be 3 options (2 new):

  1. It’s good to leave the current “Delete current note file only” as an option.
  2. Add “Delete current note with unlinked attachments”. This should be the default hotkey action.
  3. Add “Delete current note including all attachments, even if linked from elsewhere”.

Use case2 - Moving notes

SettingsFiles & Links

  • Default location for new attachments = In subfolder under current folder
  • Subfolder name = “attachments”

Similarly, when I want to move a note, I want to move the abstract “note” and not only the physical note file without its attachments.

Proposed solution

The solution to the case of “Deleting notes” is straightforward: delete attachments that are linked only from the note currently under deletion.

The “Moving notes” is a bit more complicated:

  1. Sometimes the files don’t need to be moved (depending on the Default location for new attachments setting and whether the attachment is linked elsewhere.
  2. if the person changes mentioned settings somehow.

Basically should check if the current attachment path is legal and if it isn’t, move the attachment to the new primary attachment path. The current attachment path can be legal even if the note is moved, because:

  1. maybe the attachment is linked elsewhere and it is located in another note’s folder/subfolder
  2. maybe the settings are such that all attachments are stored in one common folder (vault’s or a specific). If settings are not changed, the attachment doesn’t need to be moved anywhere.

If speaking in a form of pseudocode:

function isAttachmentPathLegal (notePath, attachmentPath) {
    (...)
    return result;
}

function returnPrimaryAttachmentPath (notePath) {
    (...)
    return result;
}

function moveAttachment (oldAttachmentPath, attachmentName, newAttachmentPath) {
    (...)
    return result;
}

function syncAttachmentPath (oldAttachmentPath, attachmentName, newNotePath) {
    let primaryAttachmentPath = returnPrimaryAttachmentPath(newNotePath);
    if (primaryPath == attachmentPath){
          moveAttachment(oldAttachmentPath, attachmentName, primaryAttachmentPath);
    }
}

----------------------------------------------------------------------------

if (isAttachmentPathLegal(newNotePath, currentAttachmentPath) == false) {
    syncAttachmentPath(currentAttachmentPath, currentAttachmentName, newNotePath)
} 
else // isAttachmentPathLegal(newNotePath, currentAttachmentPath) == true
{
    // leaveAttachmentBe();
}

I hope this was more helpful than not (I apologize if there are bugs :slight_smile: ).

The code takes into account the possibility of changing the Default location for new attachments and/or Subfolder name settings (I don’t know what happens to the attachment files in case the settings are changed; if there is already a sync process that moves files to their new valid locations) in which case the previously correct path becomes invalid.

Optimally there should be 2 options (1 new):

  1. It’s good to leave the current “Move current note file only” as an option.
  2. Add “Move current note including attachments”. This should be the default hotkey action.

Additional considerations

  • The lack of functionality of “deleting notes together with attachments” is disappointing, but is still understandable and wanting it feels like a valid and important, but feature request nevertheless.
  • But not having the “Move current note incl. attachments” (as default) feels like a proper bug, at least on the emotional and conceptual level. “What do you mean that I told Obsidian to move the note, but it did not move my whole (abstract concept of the) note?! This is a bug and must be fixed”. This is an absolute necessity for somebody like me, who uses folders/subfolders a lot and actively moves notes around. I was considering filling 2 different reports (deleting = feature request; moving = bug), but then decided against it, as combining the issues under one umbrella felt more fitting at the time of the writing. Tell me if I should create a new bug report instead. As you can see from my whole note, I understand that the situation is not trivial and implementing it is not straightforward. But I still hope you empathize with the needs of us the folder-centric users and make this feature request a priority.
  • Should something be done about the attachments after cloning/copying the note?.. I didn’t have time to think about this deeply.
3 Likes

+1 on this

Would love to see this feature as well.

Digital storage tends to clutter up easily.

Being able to rely on any system requires that it be cleaned up every once in a while to keep it current.

1 Like