It’s very annoying when something that has worked all the time should suddenly break down when you upgrade a related thing. In this case, ownCloud was upgraded to version 8.1 recently, the updates being automatically applied in my CentOS 7.1 server. Some parts of my ownCloud storage, which I don’t want sync’ed, are accessed directly via WebDAV. OS X no longer writes to it.
In case you’re wondering, since ownCloud is primarily meant for synchronising storage between multiple devices, why do I use it as a WebDAV server, and why don’t I use a dedicated WebDAV server software instead?
I do synchronise stuff between multiple devices. That’s the primary reason for wanting to use ownCloud. However, there is much more content that I want to put in the cloud, without necessarily wanting to have them all synchronised down to all of my devices. For example, my photo library is huge, so I don’t really want them on all my devices. Especially for older photos, it would suffice for me that they are in the cloud, accessible online anytime I want to retrieve them, but I don’t want my smartphone to sync a copy.
Of course, I prefer not to have to run two server (software) if a single one could handle both needs. It seems ownCloud was good for it. ownCloud sync clients work very well keeping my stuff in sync when I need them in sync, and the WebDAV component worked very well for direct access from, for example, Mac OS X’s Finder.
For me, WebDAV on ownCloud is used to offload some files from my Retina MacBook Pro when I don’t need to keep them actively with me anymore. Old photos, for example. My Lightroom album has tons of photos. Stuff from more than 6 months ago are moved to a WebDAV mounted volume. It’s really convenient, because when the WebDAV volume is mounted, Lightroom can access, manage and process all my photos in the entire library, regardless of where they have been stored. When the WebDAV volume is not mounted, the photos are just “temporarily missing”, but Lightroom can still show me the previews and other metadata.
So as you can imagine, I don’t use WebDAV as an active live filesystem all the time. But once a while, I’ll mount the WebDAV volume on ownCloud, and move some stuff into it. It stopped working recently. I could not write to the volume anymore. Reads appear to work just fine, but I just could not write.
I recently started using El Capitan Public Beta, so thinking that it might be broken with respect to WebDAV support, I checked on my other Retina MacBook Pro, which still runs standard release Yosemite. Nope, it could not write either.
Checking back the package upgrade logs on my ownCloud server, I surmised that the upgrade to ownCloud 8.1 broke WebDAV writes.
A Google search found a forum thread on this problem. So apparently the problem is due to the dropping of lock support from ownCloud version 8.1. OS X’s Finder requires lock support on a WebDAV server for read/write operations, otherwise it will treat the volume as read-only.
Bummer. Why did ownCloud drop lock support? It appears they have some locking problems in multi-user environments. There’s an issue created on Github now.
For Mac users, what options have we got?
Well, there are several WebDAV clients like Cyberduck, ForkLift, and Transmit, which all work great. The problem is that I don’t want to just access the WebDAV server through an application. I want the WebDAV server to be mounted as a volume in OS X, so that other applications in OS X can read/write directly to it. For example, I would like Lightroom to be able to access this WebDAV volume just like any other network store.
It turns out that Transmit does support mounting of WebDAV servers as a volume. This works just fine in Yosemite. Unfortunately, in the current El Capitan Public Beta, the mounting is broken. It appears, that the root cause, is that a newer version, 2.8.0, of FUSE for OS X is required. This is currently a developer preview.
Yet another option is to try Macfusion. It does not support WebDAV at all, but it can mount a remote directory via SSH or FTP. Not ideal, but could be a workable alternative for the time being. Macfusion will require FUSE for OS X. Remember that you’ll need version 2.8.0 if you’re on El Capitan. During installation of FUSE for OS X, remember to select the checkbox for MacFUSE compatibility.
It’s annoying, but things breaking when upgrading seems to be just part and parcel of IT. That’s why there’s the need for regression, compatibility, interoperability and all manner of testing. We also try to keep things simple, so that there’s less risk of things breaking.
I think ownCloud may not be sorting out their locking issue for a while. I’ve sent an email to Panic, the developers of Transmit, and I hope they’ll work on the apparent simple resolution to the FUSE for OS X issue. Transmit, incidentally, is not free. It costs US$34, but it may be alright if it proves to be a good solution.