WebDAV Sync

Please note: This article has been contributed by a user.


Contents

Overview

This tutorial will show you how to setup Things to sync with your WebDAV server.

For this to work you will need a WebDAV server setup. You can check out the mod_dav website for more information about setting a server up.

I originally found the Apple Script files from the Subversion tutorial, so thanks to whoever added that for the scripts.

How it works

When you run the the commit Apple Script, they will check if the selected webdav server is online and will copy your tasks onto the webdav server. If the webdav server is not online, it will mount it.

If you run the update Apple Script, it will do as above only this time it will retrieve your tasks from your webdav server and copy them to your computer.

If authentication is required, OSX will prompt you for the username/password of the chosen webdav server.

Growl messages are enabled in the Apple Scripts. If you do not have Growl installed, you should install it. If you don't want to install it, comment out the growl code by adding -- in front of each line.

Each time you run the scripts, Things App will close and re-open when the sync is complete.

The Apple Scripts

Configuration

To enable the Apple Scripts you must configure each file. If you open the files you will see the configuration options at the top:

-- This is for Growl Notifications
set webdavName to "webdav.domain.com"
-- The actual webdav domain
set webdavURL to "http://webdav.domain.com"
-- Your current Short username on OSX. The same as your home directory
set username to "username"

Commit

The commit script will upload your tasks to your webdav server, overwriting all current tasks on the server.

Download here.

Update

The update script allows you to sync your Things App with the tasks on your webdav server. Any local tasks which are not already committed will be lost.

Download here.

Useful Tips

To speed the process up I assign QuickSilver triggers to each of the scripts and then add keyboard shortcuts to them.