Scheduling OmniFocus Tasks in Fantastical 2 … for iOS!

In my daily job as a BI consultant I need to plan my work and I’m using OmniFocus for that. In fact it is my trusted system for all my projects, not only work related ones.

I allocate blocks of time in my favorite calendar app Fantastical 2 to work on the tasks (or next actions) that I’ve stored in OmniFocus.

Sven Fechner wrote a great post how you can schedule OmniFocus tasks in Fantastical by dragging and dropping when working on your Mac.

I found out that this works perfectly. Strangely the results are quite different when you use the Mac OS sharing extensions. When you select a task in OmniFocus and share it using the extension “Add to Fantastical”, the result is bad to say the least.

As I don’t always have my Mac at hand, I was wondering if I could achieve the same on my iPhone or iPad. This turned out to be quite an adventure.

In OmniFocus for iOS you can share a task as well but this only seems to work well when you mail that task, as you can see below.

It is possible that other apps are listed when you share a task from OmniFocus, such as Trello for example. However, when you share to Trello, you’ll notice that the name of the card remains empty and is not filled in with the OmniFocus task name. In the animation below I filled in a name myself and then looked in Trello what had happened. As you see, the OmniFocus task is included as an attachment in Trello with the obscure name “FocusAction.ofaction”.

After opening that file in a plain text editor, it turns out to be an Apple property list (or plist) file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     <key>newActions</key>`
    <array>
        <dict>
            <key>name</key>
            <string>Write blog post about scheduling OmniFocus Tasks in Fantastical 2 … for iOS!</string>
            <key>note</key>
            <string>http://simplicitybliss.com/blog/scheduling-omnifocus-fantastical2</string>
            <key>uuid</key>
            <string>luwnqVXgPUL</string>
        </dict>
    </array>
</dict>
</plist>

If your OmniFocus tasks contains a defer (<key>start</key>) and/or due date, additional keys and strings will be present.

While you may be able to parse this using Drafts, I took a different approach and used Workflow instead. In my workflow I use the name of the OmniFocus task as the name of the event to be used in Fantastical. If a defer (or start) date is present, the workflow will ask you if you want to use that date as the event date in Fantastical. Unfortunately Workflow doesn’t provide a means (or at least I couldn’t find it) to show you a list of available calendars, so you will need to type that in manually in a prompt.

Finally, the event gets created in Fantastical and you edit it further there. The notes field of the event contains a link back to your original OmniFocus task (which will open OmniFocus with that task). This is obtained through the <key>uuid</key>.

You can find the workflow here.

How to get back classic Evernote note links on a Mac

Recently Evernote changed the way note links work. Or at least I think they did.

Where previously they followed the evernote://… URL scheme, they now use an https://… URL scheme. And for some reason I can’t get them to open in the desktop app.

I found out that this could be set in the Evernote webclipper settings, but that setting seems to have disappeared as well in at least the Safari version.

Thanks to Frank Meeuwssen there seems to be another possibility to get the note link in the old format that does open in the desktop app. By right clicking on a note and holding down the alt/option key, the context menu changes from “Copy Note Link” to “Copy Classic Note Link”.

However, this only seems to work with the right click context menu and not from the main menu. I want to set a shortcut for copying those classic note link and I couldn’t figure out how to do that with the system wide keyboard shortcut settings (they only seems to work for main menu settings, not for context menus but maybe I’m wrong here).

But I found a workaround. When using AppleScript to tell Evernote to create a note link, you get the classic URL scheme that opens in the desktop app.

When combining this AppleScript with my preferred app launcher Alfred, you can create a nice workflow that allows you to set an application specific (Evernote) hotkey that gets you a classic note link and puts it on the clipboard. This works as well when selecting multiple notes at once in Evernote. Each note link is separated by a line feed.

Feel free to download the Alfred workflow [here.](https://www.dropbox.com/s/p4sxl94dc55l8ei/Copy%20Evernote%20Classic%20Note%20Link%20to%20Clipboard.alfredworkflow)

Evernote 5 for iOS doesn’t support creation of note links, but…

I use Evernote note links a lot and I think I don’t need to explain why.

Unfortunately, you can’t create them with the iOS version of Evernote. But there may be a workaround…

Inspired by @simplicitybliss post on adding Evernote notes to OmniFocus, which refers to the original post by Asian Efficiency, I started tinkering with that AppleScript.

It follows the same principe as explained in the post by Asian Efficiency. I use a tag “@link” for a note I have on my iOS device, wait for Lingon 3 to kickoff the AppleScript (which I run every minute) and synchronize again on my iOS device. And voila, the note link is added to the note at the end.

The script itself does an Evernote sync before and after the note links are created to ensure it works and it removes the “@link” tag from the note to avoid adding it twice.

The downside: you need a Mac running as some kind of server.

You can find the script here.

I didn’t bother to remove the original comments from the Asian Efficiency script, I leave that up to you.

A fresh take on GTD contexts

A fresh take on GTD contexts

Mac OS automator workflow for getting direct link to @CloudApp uploads

Mac OS automator workflow for getting direct link to @CloudApp uploads