Use case or problem
There are a number of use cases where a user might want to have his notes scattered in several unrelated folders across the filesystem without specific hierarchy, but still allow some degree of interlinking between them.
Some example can be:
- Keeping the notes together with other relevant files in project-specific folders
- Integrate the notes within an existing filesystem structure
- Syncing with different providers
- Some notes might need to live on a separate server or computer
- Encrypting part of the notes
- Sharing part of the notes
- To keep focus, allowing only a certain subset of notes to interact with each other
- Avoid “vault overload”, once again only loading a specific subset of relevant notes.
- Create software-like “knowledge modules” that can be “imported” as needed
- General organisation, without the “all notes inside a main folder” constraint
- … and possibly many more use cases.
In general, I think there are a lot of compelling arguments for a more flexible approach to the current “one vault per folder and no cross-talking” approach: see also the related requests and discussions linked below for more arguments and use cases.
Proposed solution
Inspired by VSCode’s Multi-root workspaces, I would like Obsidian to import different and potentially unrelated folders (vaults) into the same workspace.
All the imported folders should then behave as if they were all subfolders inside the same (meta)vault, but without the need of actually moving (or symlinking) them into a single folder.
Obsidian should then allow the metavault to be saved as some kind .metavault file, which would essentially contain the relative paths of the metavault “members”, the workspace itself and (optionally) some additional logic to steer how plugins, themes and other settings are handled.
As a bonus, Obsidian could handle link autocompletion differently, using the traditional [[wiki style]]
for links between the same subfolder, but replacing them with obsidian://vault/my vault/my note
for linking to notes in another sub-note.
This way, the links themselves would still work across different machines with the subvaults stored in different paths, as long as the local Obsidian installation knows about a corresponding vault with the same name.
Additional functionality could be implemented so that If a “subvault” is moved or renamed so that Obsidian no longer finds it, the missing links are highlighted and Obsidian offers a way to re-add the (sub)vault.
Current workaround
I think similar functionality can be achieved by symlinking different folders into a main folder, and using the main folder as a vault.
However, manually handling symlinks is not particularly user friendly, internal links are broken as soon as the symlink is deleted and there are additional considerations to be made if the symlinked folder are vaults on their own.
The proposed solution could still be implemented internally by using symlinks (as example, creating a temp folder symlinking what is in the .metavault file), but these would be internally handled by Obsidian, with additional logic to handle things like multiple .obsidian folders conflicting with each other.
Related feature requests
There are plenty of topics and discussions about cross-vauilt linking (here and here and here), vault nesting (here and here and here), editing files outside the vault and more in general handling and organising multiple vaults, including having vaults interact with each other.
I believe that adding a relatively simple “meta-vault” layer on top of the current (folder based) vaults would add a lot of flexibility, allowing to address most of the issues that those discussions bring up without complicating life for those who live happily with only one (or several but unrelated) vaults.