GP SoftwareTwitter
Opus FAQsManualCommandsObjects

One-Pane (Merged) Synchronized Browsing

I’m trying to find a file manager for a very specific purpose – I tried out Directory Opus & wasn’t able to determine if it supports this functionality, so I thought I’d reach out & ask :slight_smile:

What I’m after is a way to navigate a directory structure in a single pane, where the listings come from two parallel sources (i.e. internal HDD and NAS). The goal is to split my data between internal storage & NAS, but view it all combined, just by browsing one directory structure. I envision it looking like a directory listing where "externally sourced" items are interleaved in the normal listing, perhaps indicated by a different color or something.

Note that this is very similar to Filezilla’s File->Synchronized Browsing & File->Comparison, except:

  1. The results are shown interleaved in a single panel, not dual-pane, and

  2. It should work even if the full identical directory structure isn't on both sides. In Filezilla, Synchronized Browsing only remains active as long as the identical paths remain available in both panes; if you navigate into a folder i.e. on the left where no such folder exists on the right, Synchronized Browsing is disabled. In my usage, navigating into a folder that's "missing" on the other side would simply result in no supplementary file entries being taken from that side - but if you back up a level and then navigate into a folder that IS there on both sides, you’ll see files from both again.

Could something like that be possible in Directory Opus? :slight_smile:

Sounds solvable by a script that loops through the sources and creates a structure consisting of real folders and symbolic links to folders and files. Merging the NAS into the internal HDD this way should work as well. Label Filters could help distinguish between the two sources.

Not exactly a one-liner, but probably doable with reasonable effort.

Interesting idea, but not really what I'm looking for. Besides the legwork of getting it to work, having scripts build/maintain a whole parallel directory structure for my entire storage media seems like quite a bit of overhead, when really the desire is just for synchronized browsing. i.e. when browsing deeply-nested trees with thousands of files (for instance, a photo collection would be an example)...you'd have just as many thousands of symbolic links. Then as files are moved, renamed, or deleted from both ends...it has to rebuild everything, or track & update changes...

Libraries can merge two folders together, but only at the top level. When going into folders below that, you'd be in a particular folder of one parent or the other.

Navigation Lock may be of interest, in that it would let you open each folder on each side and navigate the two sides in parallel. But that's not really what you're looking for either.

A VFS plugin could be written which does exactly what you want, but that would require programming knowledge.

Thanks - knowing that a VFS plugin would be able to accomplish this precisely might make it worth attempting if it's not too time-consuming (I am a developer, but no experience with Directory Opus & not a ton of free time). I found the API spec from the SDK download here: https://www.gpsoft.com.au/dscripts/download.asp. If you're familiar with the set of existing plugins that are available, and could point me to any examples that might be most relevant/similar to this (aka as a starting point shortcut, rather than having to understand more of the api than necessary or start completely from scratch), it would be appreciated.

There's an opensource VFS plugin here: https://github.com/segrax/directory_opus_amiga_plugin

If you get stuck with anything, we can help out and provide info or sample code to do particular things.

The most difficult part is getting the plugin up and running, since you have to implement several functions before anything starts working at all. Once you're past that stage, it gets easier. So using that plugin as a starting point might make sense.

You'll also be able to get rid of quite a lot of the code since plugins that don't need to handle reading/writing archive (etc.) contents are easier; you can generally tell Opus where the real files are and let it worry about reading and writing them, and only have to worry about the directory listings and how to map things from the plugin's view of things to the real filepaths. At least in theory.

Perfect, thanks! :slight_smile: