Omnifocus, syncing over WebDAV
Today I decided to just cough up the $79 for an Omnifocus license. I'm trying to be bit more serious about a "kind of" GTD aproach to, well, getting done the things I want to get done.
Since I also bought the Omnifocus iPhone app and since I wanted to use Omnifocus on my work computer, some way of syncing the data between these locations was a requirement. Luckily Omnifocus is fairly flexible in this regard.
It can synchronize over MobileMe, local networks using Bonjour, shared disks or over WebDAV. WebDAV was the only viable solution for me, however my little server's HTTP daemon does not support WebDAV itself. It is able to reverse proxy to a local WebDAV daemon. And I found pywebdav to do exactly what I need: serve a directory over WebDAV.
With a short buildout.cfg file I had a server up and running in almost no time:
[buildout]
parts = config server start stop
[config]
recipe = z3c.recipe.template
directory = ${buildout:directory}/var
host = localhost
input = etc/config.ini.in
log = ${buildout:directory}/log
output = ${buildout:directory}/parts/config.ini
password = secret
port = 1234
username = foobar
[server]
recipe = zc.recipe.egg
interpreter = python
eggs = pywebdav
[start]
recipe = collective.recipe.scriptgen
cmd = ${buildout:bin-directory}/davserver
arguments = -c ${config:output}
[stop]
recipe = collective.recipe.scriptgen
cmd = ${buildout:bin-directory}/davserver
arguments = -c ${config:output} -d stop