OmniFocus is an amazing tool. I need this app like Smeagol needs his ring. If I don’t do my morning task audit, I get the shakes and start blurting out incoherent rambling about blown deadlines and crashing plates.
One feature missing in my precious however is the ability to create project templates. Everybody has some little group of tasks that gets repeated. For instance, I had a set of tasks that got repeated for each chapter of The Book. So how do I use this unsupported feature in OmniFocus? The answer is Applescript, that ubiquitous tool (that almost nobody uses) that lets you add features and bolt applications together like so many pieces of a digital erector set. In this case, I didn’t even write the script myself. Instead, I downloaded from Curt Clifton’s outstanding collection of OmniFocus scripts. Specifically, I’m using the Populate Template Placeholders script.
The download includes instructions but since so many find Applescript intimidating, I’m going to walk through it.
First a word about Applescript
Applescript is Apple’s own natural language scripting language that lets Macintosh applications hook up. You can tell one application to generate data and then send that data to a different application to lay it out, or print it, or post it to the Internet. It enables you to make your good apps great and your great apps awesome. It takes a little bit of time to figure out. The best way to learn it is to buy Sal’s book.
Regardless, even if you don’t want to learn Applescript, you can still use it. People like Curt develop all sorts of useful scripts and then post them to the Interwebs. You just download, install, and use without knowing a lick of Applescript code. This template script is just such an example. So here is how you go about it with my Mac Power Users show template:
Step 1: Install
Download the script and copy the script file to your script directory, located at:
Most likely you don’t have an OmniFocus directory, so create one.
Step 2: Create
Create a project template in OmniFocus. This is set of tasks the Applescript will copy and populate for every new instance of the project.
Starting out, it looks just like any other project you may create except this one is more generic and includes Placeholders (nerd translation: variables). Placeholders are declared by adding them to the last line of the Notes section of the project description. They get surrounded by guillemets, those double-bracket looking symbols
«like this». You can create them on a US keyboard by pressing (
Option + \) for « and (
Option + Shift + \) for ».
Once declared you can add the Placeholders to your project name and task items. As you can see from the example, I’ve created placeholders for the show name and show number. (If you want to prove your geek cred, open the Applescript and change the Placeholder symbols to something else.)
Step 3: Run
You can run the script from the script menu in your menubar. If you don’t see the script menu, which looks like this …
you can enable it in the preference pane of Applescript editor, an application on every Mac found in the
Once you trigger the script, Applescript prompts you for the Placeholder variables …
and creates a new project replacing the Placeholders with your supplied data. Once you’ve got the script installed, setting up new templates projects takes a fraction of the time it did before.
Step 4: Drag
Drag the newly created project to wherever it belongs in your OmniFocus Project list.
If you want to add start and due dates to templates projects, go nuts. The project itself, however, must have a start or due date in order for it work. Alternatively, if you add a line to the Project Template Note (above the Placeholder line) that reads
Due date is, you will be prompted to type in your dates when you run the script. While I like start dates, I’m not a big fan of due dates and prefer adding dates (if any) manually later.
If you like the script, send Curt a thank you note for making this possible.
MacSparky.com is sponsored by Bee Docs Timeline 3D. Make a timeline presentation with your Mac.