Hi, As you may have seen I have just committed my initial skeleton implementation of the browser binding to the "browser-binding" branch of ObjectiveCMIS.
All services that have been implemented for the AtomPub binding are stubbed out, each unimplemented method throws an exception. All JSON properties have been defined as constants in CMISBrowserConstants and all parsing is currently performed in CMISBrowserUtil. I've removed any binding specific items from CMISBindingSession, this class (in my opinion) should remain binding agnostic. The atom pub constants were moved to the CMISAtomPubConstants class and I've renamed the "kCMISBindingSessionKeyAtomPubUrl" constant to "kCMISBindingSessionKeyUrl". Tests obviously require a server that supports the browser binding and requires a new key called "binding" set to "browser" in the configuration, for example: <dict> <key>username</key> <string>admin</string> <key>password</key> <string>admin</string> <key>url</key> <string>http://localhost:8080/alfresco/api/cmis/versions/1.1/browser</string> <key>repositoryId</key> <string>-default-</string> <key>binding</key> <string>browser</string> </dict> The first four tests are passing. My approach so far has been to take each test as it comes and implement the underlying methods that are required to make it pass. There's obviously still lots to do (marked as such in the code) and this exercise has also highlighted some re-factoring I would like to suggest we do: - Several classes that are using "id" and "description" as property names, we should change these as they have other meanings in ObjectiveC - All AtomPub related classes should be renamed to include the word Atom - All the URIBuilder classes should be moved up a folder as I don't think they are specific to AtomPub, they could be re-used across other bindings We can discuss this and the approach for implementing the rest of the binding in our next status call, which I'll arrange first thing next week. Regards, Gavin
