Equivalent to Xyplorer's Drop Stacks (and Paper Folders)?

I was wondering if DOpus already had, or was planned to have in near future, anything similar in function to Xyplorer's "Paper Folders" and "Drop Stacks" features? I've been playing with them a bit, and they can be extremely useful, esp. for collecting inputs to subsequent button-triggered, scripted actions.

For reference, see "Paper Folders" and "Drop Stacks" for brief descriptions of the mentioned Xyplorer features.

As a quick summary, "Paper Folders" represent virtual folders where the contents are drawn from text files. "Drop Stacks" are literally icon drop points, and when files/folders/etc. are dropped on them, they are added to the associated virtual folders (not limited to paper folders in Xyplorer, there are other kinds, but certainly most used with paper folders).

Libraries and Collections should cover what Paper Folders describes.

Any toolbar button which goes to a folder will let you drag files to the button to do the same as if you dragged to the folder itself. You can create such buttons easily by dragging folders to the toolbar while in Customize mode.

"Paper Folders" seems to be a rough equivalent of the File Collections that Opus has had for at least seven years.

You can configure buttons in Opus to copy files to a specific folder (including a file collection), and files dropped on it will go to that location automatically - is that what "Drop Stacks" are?

Yeah, I was actually wondering about whether File Collections were somehow equivalent to Paper Folders, but the description of File Collections never specifically talks about a method which simply stores the reference's path/name within a text file. From reading that description, File Collections (like other DO virtual folders/fs) are more closely akin to Xyplorer's virtual folders.

Is there a specific means of having File Collection represented as a disk text file that I somehow missed? That would be directly equivalent to Xyplorer's Paper Folders. It's the combo of drop-to-virtual-folder and virtual-folder-as-text-file which I find interesting for setting up scripting operations, driving certain test tools, etc.

BTW, I do understand it should be possible to write a File Collection "plugin" that loads/saves the files to a text file as well. I was inquiring whether anyone had already produced such a plugin (or if it was already built in)?

Thanks!

Close, but not quite. Paper Folders refers to a specific implementation of a virtual folder type which stores the referenced files/folders as path/file info in a text file on disk, with precise formatting of how path/file is stored, relative/absolute paths, etc. is part of the Paper Folder metadata/config. Xyplorer has functionality similar to File Collections in terms of labeled junction references to virtual folders/fs as well, Paper Folders are more specific in terms of the precise kind of virtual folder underneath.

Well, yes and no. Once there's support for a virtual folder type that's stored as a text file, then depending on how add/remove file/folder are implemented, potentially DO's "folder reference buttons" would just work akin to Xyplorer's "Drop Stacks". As I understand it, "Drop Stacks" just refers to the precise way drag-and-drop works when the folder target is a "Paper Folder" -- as I understand it, previously Xyplorer couldn't drag/drop to Paper Folders, unlike other types of virtual folders.

Hope that helps. AFAICT, the missing piece for DO having equivalent functionality is the "text file" virtual folder plugin element. I might take a look at writing one if I have time, first need to see how well the SDK describes the requirements for virtual folder plugins (as that seems where "storage vs reference" issues are most likely to arise during implementation).

File Collections are stored as XML files, but I don't understand what functional difference you would get from having them as plain text?

Opus buttons can copy to any folder including file collections (which will add the file references to the collection).

BTW, because it isn't immediately obvious from the Paper Folders description: When a file is added to a Paper Folder, the original location (path/name) is what is stored in the text file. From that point, the filename shows up as present in the Paper Folder, but any file operations (drag-copy out, etc.) are essentially invoked against the referenced original file. Upon deletion from Paper Folder (or equivalent like move), the reference is removed from the text file, but nothing is done to the original (referenced) file. Note that when original referenced file is moved/deleted (incl. outside Xyplorer, it seems), that does appear to be reflected in the text file reference information, which suggests they're listening for fs events regarding the referenced files.

Aside, looking at the DOpus VFS SDK, I can kind of broadly see how one might implement such functionality, though a fair number of demons appear to be hiding in the details, esp. in terms of tracking when operations occur on the original referenced file. I'm not yet sure everything needed is present w.r.t. notification/event hook handling. In any case, I suspect implementing such a plugin would exceed the quantity of spare cycles I have at my disposal.

Yes that's exactly the way file collections work. Maybe give it a try :slight_smile:

Well, plain text, file-per-line formatting allows (significantly) easier parsing as input file list for further processing within scripts, compared to XML. That's the main plus I can think of for plain-text files.

File Collections might well be exactly what I want, I agree. my confusion about them could just be due to my misunderstanding semantic differences in the descriptions. I'm not seeing how to create a File Collection and arbitrarily set where the backing file is located, it seemed like it needed an existing virtual folder to reference directly. Am I misunderstanding? If so, can you provide a pointer where to look in the documentation?

There are occasions where the place where you want to hang the virtual folder would not be amenable/appropriate for locating a user-writable file, so having the ability to create backing file at arbitrary location is fairly important.

I really appreciate the help with this!

The link in my original reply (File Collections) describes how to create file collections. The underlying data files are stored as part of your Opus configuration. You don't need to create the "text files" yourself, Opus will do that for you.

Were you able to get this to work? Yell out if you have any other questions.

Note that XML is just a bunch of "garbage" characters added to a file. One could easily write a VBScript to read the XML file, strip the XML and write the data to another (user specified) file thus creating the text file requested by the OP. Or, one could write the above logic as a subroutine that would return one text formatted file name from the collection file each time it is called.

While the Dopus method is not identical to the XYplorer operation it can be made to look that way with a fairly simple program (assuming the XML formatting is simple).

I still don't understand why the format of the "backing file" is important. But anyway, Opus provides a way to manipulate file collections programatically. Messing with the data file should never be necessary.

Sometimes the flat text file representation is, in and of itself, the desired output (for use as per-line input into subsequent scripts, etc.). If DOpus only supports XML disk representation, that requires either intermediate conversion from XML to text file list, or a final consumer tool/script/whatever that can take XML file lists as input.

Most cmd-line tools that support batch operations also supporting applying said operations on all elements of a plain text file "list of files" (with input file per line). It's less common to find tools that support XML lists of input files instead, is all, so having ability to store as plain text list avoids need to process backing file before use.

Either way, ultimately, works. I was able to make it work using the existing functionality. I really appreciate the explanations and help with details. Thanks!

It's trivial to write a command or script that outputs a text file with all the file names or paths from the current folder, if that's what you're looking for.

"SelectEx" can do it, just in case..

2 posts were split to a new topic: Questions about File Collections