Portable Mylio that comes included in external drive vaults

Inspired by this: Can the Mylio Catalog be stored in vault on external drive?

It would be cool if you could run mylio independently on an external drive, much like other “portable” apps like portable firefox and such. External drive vaults can optionally come with a copy of portable mylio for macos and windows right on the device, so they wont need a ‘computer’ vault on them to actually access their data. Would be nice for some travel situations, emergency situations and so on.

Since most of the catalog is already there on an external drive vault, adding the rest of settings and such should not be much of a stretch.

As a corollary, you can also install mylio as a portable app in general too on a computer, keep all its info self contained to a singular folder for example.

That’s a really interesting idea! Never thought of that.

There is unfortunately two complications so it’s not quite as easy:

a) SQLITE on a USB drive with multi-threaded access, which the Mylio user interface does and depend on, will almost instantly corrupt the catalog. We’ve tried that before. The best we could ever do would be to open it in read-only mode, but that would mean Mylio needs to have read-only plumbing throughout the system.

b) The indexes that are needed to display the Mylio user interface is not on the USB drive, and would slow down general writes to the USB drive a lot. We could create them but that means writing to the USB drive… which… see (a).

I really like this idea, but it’s unfortunately not as simple as just adding the settings and run it. Wish it were :frowning:

Ah no big deal. Wouldn’t think it would be worth it if it’s a lot of work.

One idea although, is currently the mylio app works fine if installed on a single computer with a single hard drive, and that single computer is the masters vault. Couldn’t you hypothetically do this with a USB drive today, by installing mylio onto that USB drive, and also putting the masters folder on that same HDD? I know mylio would put some info in Application Support or whatever the windows equivalent was, but mylio should work right?

I think your main issue is the USB drive needs to be SSD fast & not eject-able to meet your conditions right?

You can probably just copy Program Files\Mylio or Application Support/Mylio.app to a USB drive. Our installer doesn’t really do anything other than copying our files - I run it from other folders all the time (never tried USB but can’t think of a specific reason not to work).

But if you then run Mylio for the first time on a new device it will look for the mylo.mylodb file in Application Support or %localappdata% and if it doesn’t exist it will ask you to log in to create a new device. That should work and since you have your USB drive with you it will indeed be able to create a new local catalog on the new device and start replicated the catalog and thumbnails from the USB drive. That’s not quite the same as just using the catalog from the USB drive, but it should work.

The main issue we run into with USB drive isn’t just SSD/not-ejectable. Yes, ejectable is definitely an issue, but even if you just have an O/S crash or power loss, or just reboot the O/S while Mylio is running, if we opened a USB SQLITE database in multi-threaded mode it will corrupt the file almost every time. I believe it has to do with the way USB drives respond to Sync requests (see 3.1. Disk drives that do not honor sync requests under How To Corrupt An SQLite Database File).

This is just an issue if we try to open USB drives in multi-threaded mode for User Interface use. We obviously can use it for replication, but we open it in single-threaded mode for those case, and in that case it works just fine.

1 Like