View Single Post
Originally Posted by JockM View Post
So by all means, continue to strive for perfect, but in the mean time why don't you implement good enough. Add import/export support for Dropbox, do some kind of file locking such that only one app can actually edit at a time, save to a shadow file and then play the rename game, etc (see Word's behavior in this situation for a perfectly acceptable solution).
We've actually tried many of these approaches with DropBox, including renaming (like we do with WebDAV), file locks, and so on. The problem is that DropBox not only doesn't support atomic transactions, it doesn't guarantee any order or synchronicity to its transactions. So you might think the document is not locked, but it is. (Or you might think it is when it isn't.) Or you tell it to rename, and your rename happens after the transfer instead of before. The synchronized directory looks fine for a little while—and then suddenly some extra files resurrect themselves inside it. We would love to automatically synchronize using DropBox, but it just doesn't seem to be designed to synchronize directories based on a specific point in time.

That said, DropBox does handle zip files perfectly well, so in our most recent update we added support for opening zip files (letting you send documents from the DropBox app to OmniOutliner) and in our next update we're adding support for sending zip archives of outlines to other apps (letting you send documents from OmniOutliner back to the DropBox app). Not an ideal workflow, but it's certainly an improvement.