View Single Post
A few more notes...

Quote:
Originally Posted by Joe Alexander View Post
OmniDocumentStore: iOS: I think this is a low level wrapper around file storage operations. I'm not really sure what the purpose is.
OmniDocumentStore provides a consistent interface that lets higher level code deal the same way with local files (stored on this iPad only) and synchronized files. This does a bunch of the grunt work for folders, renaming, duplicating, async file operations, and so forth. One important point is that this framework operates on metadata items for files that might not be present locally. So, you can use this to view, rename, and delete ODSFileItems that are not currently downloaded from an OmniFileExchange scope.

Quote:
Originally Posted by Joe Alexander View Post
OmniFileExchange: OSX & iOS: I think this allows a local folder to be synced with an external location either by DAV or iCloud. Not sure how you would set it up and use it. Is this what is being referred to when they talk about OmniPresence framework?
Yeah, this is the guts of OmniPresence. Currently there is no support for iCloud in this framework. If someone did want to iCloud support back, you'd want to make a new framework with a subclass of ODSScope that would transform NSMetadataItems into ODSFileItems, do the proper file coordinated moves/deletes and such.

Quote:
Originally Posted by Joe Alexander View Post
OmniFileStore: OSX & iOS: This appears to be able to sync files with a DAV source. Not really sure what this is for, cinde the OmniFileExchange seems to do this and more.
The code that is now in OmniDAV used to live in this framework, with OFSFileManager subclasses for local files and DAV files. This is somewhat useful, but only when used on a background queue (you don't want DAV queries blocking your UI, and even local file operations can be slow). So, we've left this in place (OmniFocus still uses it on a background queue), but OmniPresence uses OmniDAV directly for most operations via ODAVConnection.

Quote:
Originally Posted by Joe Alexander View Post
OmniNetworking: OSX: Wrappers around lower level networking APIs to make them easier to use.
I would also put this in the 'not terribly relevant anymore' pile. We still do use it in a few places, and it has some nice support for IP multicast, but it needs to be updated to use NSError, and most stuff can be done with OS X built-in classes (that didn't exist when this code was written).

Quote:
Originally Posted by Joe Alexander View Post
OmniSoftwareUpdate: OSX & iOS: An update checking system.
There is a bit of iOS code here for reporting back system stats, but we don't currently ship it in any of our iOS apps. We may also update this to work in our MAS apps so we can get OS adoption rates and such, but it won't do actual updates there.

Quote:
Originally Posted by Joe Alexander View Post
OmniUIDocument: iOS: Appears to be some sort of document picker - I think it basically allows you to create something like the document picker in OmniGraffle, and select from local or WebDAV documents. Not sure how you would implement it in an application.
Yep, this is the document picker with the list of scopes (local files, OmniPresence), folder support and all the stuff you see in OmniOutliner 2 and OmniPlan 2 for iPad. The shipping version of OmniGraffle for iPad uses an older version that doesn't support folders.
__________________
CTO, The Omni Group