Dijji / XstReader

Xst Reader is an open source viewer for Microsoft Outlook’s .ost and .pst files, written entirely in C#. To download an executable of the current version, go to the releases tab.
Microsoft Public License
479 stars 70 forks source link

Feature Request: Open/Search Multiple Files #34

Open AdamJCavanaugh opened 3 years ago

AdamJCavanaugh commented 3 years ago

Summary: It would be beneficial to be able to have multiple files open and searchable in XstReader at the same time.

Rationale: I rotate my PST files on a time basis (a new PST file every 6 months). The intent is to keep the files small (~2GB) for quicker indexing and loading. (Side-note, this might be a false belief?) It would be easier, if I don't know when an Outlook item is from, to be able to load all my PSTs into XstReader at once and have an integrated search, rather than loading and searching PSTs one at a time.

Dijji commented 3 years ago

Your scenario certainly makes sense.

I do the same thing with my own .pst files. However, this is mostly about keeping the files to a manageable size, as there is no big penalty involved in even very large .pst files. The real limitation comes with the size of a single folder: opening a folder involves building a table describing all the messages in it, which can involve gigabytes of memory for very large folders.

So even if I had, nominally, multiple open files, this would just involve showing their folder trees on the left, but only opening one folder at a time, just as Outlook does.

Search would involve a serial search through a series of folders. One question would be, which folders? All folders in all open files? A set of folders selected in the folder tree? Note that search times could get very long, as only one folder will be open at a time. Another question is, if you still have to use the open file dialog multiple times before a search, is the saving very significant compared to repeated open/search operations, if the search criteria are retained across file open? Or would some entirely different packaging, for instance, as a command line program, be more appropriate? There is some partially complete work in progress on a command line version which could be a vehicle.

Also, are there any other multi file scenarios which might help determine the answers and drive up the priority of this work?

AdamJCavanaugh commented 3 years ago

In my particular use-case, I do have all my emails in just 1 folder in each PST, but it seems that, regardless, opening one or many files with as many emails as I'm describing has serious performance and memory considerations.

I would expect such a search to check all folders in all open files, but a dialogue to select specific ones might also be helpful in some circumstances.

As a SysAdmin, a CLI option would be ideal, frankly... I'm sorry I don't know the first thing about C# to actually help.