Automation in OmniFocus 2.14 (released 2016-04-26)

bryan did you ever get an answer for how to type «» characters on iOS keyboard??? I’ve looked everywhere and, other than copy/paste can’t figure our where/how to type those characters.

Press and hold on the " key - they’re French quotation marks.

1 Like

awesome, thank you… I had already tried press and holding every key, including the ", because I just knew they were there somewhere… just figured out that some of the keys, including, of course, the " key, I had force-touched, i.e. pressed too hard. press and hold the ", force-press gets you cursor control. thanks again.

If anyone is using an external keyboard (or working on a Mac) and hasn’t found the shortcuts for «», they are ⌥\ and ⇧⌥\

1 Like

Hi there.

I have used your Workflow solution to enact templates and it all works fine, except it dumps the project in the ‘Inbox’.

Is there as way that it can put the project in a different place?

Cheers for the upload.

Hi Adam,

As per the documentation, you can have two targets for the pasted actions : inbox or projects. Please feel free to modify the workflow to suit your needs.

/paste - pastes a hierarchy of items into the Inbox or project list
target=target - use inbox to create new inbox items, or projects to create top-level projects

1 Like

Thanks for that - got it working :D

1 Like

Bug report, I guess?

I have a structure that looks like the following. Assume that both contexts are already defined in the database:

- Project Name @context(office)
    - Subtask 1
    - Subtask 2
        - Sub-subtask 1 @context(office : Boss)

Subtasks 1 and 2 inherit the “office” context, but sub-subtask doesn’t get a context assigned, even when explicitly declared as above.

If you set up your project the way you want it in OmniFocus, then use Share to Copy the TaskPaper form of your project to the pasteboard, what does that look like? (Any chance your database is configured to use a different separator rather than the default “:” (space colon space)?)

I believe it’s still the space-colon-space delimiter - it’s what’s displayed in my context views, and I don’t recall having fiddled with a setting, much less know how to change it. So I looked it up and found a handy support thread to show how to reset the separator. Sure enough, it looks alright.

Here’s where I think things get a little weird.

Here’s an excerpt from my template:

- get documentation for WOs @defer(«releaseDate yyyy-mm-dd» - 5d) @due(«releaseDate yyyy-mm-dd» - 2d) @context(office : email) @parallel(true) @autodone(true)
	- get implementation plans from teams @estimate(1h) @context(office : email)
	- get SQL scripts @estimate(1h) @context(office : email)

…and what’s rendered is:

- get documentation for WOs @autodone(true) @context(Office) @due(2016-05-18 00:00) @defer(2016-05-15 00:00)

		- get implementation plans from teams @estimate(60m)
		- get SQL scripts @estimate(60m)

So it’s stripping out the stuff after the separator too on the top level too (“Office” as opposed to “Office : Email”).

Does it work if you use Office : Email (with capital letters)? I think hierarchical context lookups are case-sensitive.

Ah, you’re right, it was a case mismatch. I corrected the case and it worked great. Thanks for catching that.

I do find it strange that I have to provide contexts for action groups. They don’t seem to inherit from the project consistently. This, for example, doesn’t inherit the Office context from the project but other tasks do.

- prepare CR for final approval @due(«releaseDate yyyy-mm-dd» - 2d) @parallel(true) @autodone(true) @context(Office)
	- fill out Change Control document @duration(30m)
	- attach test scripts @duration(15m)
	- zip up implementation plans and attach them @duration(15m)

Just a little snippet, I wanted a template with a date which depends on two variables, a start date and a delay, along with offsets for each task:

Here’s what I used.

@due(«date of trip yyyy-mm-dd» +«Number of Nights»+4d 10pm)

I’ve got 2 questions:

  • Has the relative date issue been fixed yet?
    I have a task in an editorial taskpaper template set to “<> -2d” and that always gives me 1970-2-1 instead of the 2 days from the due date…

  • Any news on importing taskpaper projects into a specific folder?

Thanks guys!

If you specify your baseline date as yyyy-mm-dd (e.g. today is 2016-09-09), the relative dates should always work.

Some other date formats are harder for OmniFocus to parse, and it can end up not understanding where the baseline date ends and the relative date starts. If you’re having trouble with another date format, we’ll need to know exactly what you’re entering and might also need to know your current locale’s date format settings.

Yes, 2.16 added support for this (as noted over in the implementation details thread):

Hey @kcase: To clarify, it doesn’t look like it’s possible to customize the location for a taskpaper import for a single document, right? It’s only as a part of the paste action? So there’s nothing like @target(Foo) or @target(folder/Foo) syntax that would let us create the project in a nested folder. Instead, we’d need to use the specific target param in our url?

A little help? I posted this question, but nobody’s commented.

I want to make a list of tasks in Drafts, and have them become multiple tasks in OF2 with a predetermined project, context, defer, due and flag. It would be like:

title=[list item] project=JobSiteTasks context=JobSite defer=today due=today flag=true

Is there a way to do this? Do I need to use javascript or something?

(The use case is being at the JobSite context and having many new immediate tasks thrown at me. I barely have time to jot them down in Drafts, and assigning project/context/defer/due/flag to each is untenable in the fast-paced environment. I’d like to jot them down in a Drafts list, tap a button, and have them all be categorized automatically. I’d like to just look at the JobSite perspective and see everything I have to do, including the short term things they just dropped on me.)

Thanks!

As I said on Twitter (userid @martinpacker) I enjoyed setting up a Taskpaper-based template in Editorial and using the Omnifocus-supplied workflow to turn it into a couple of projects.

(As I said in a reply to that tweet) I would like, however, to see some simple enhancements to this script.

I know they are simple-ish because I examined the (Python) code at the heart of the workflow.

The question is how to make this happen.

Thoughts?

Guided here by @kcase

The MacSparky Field Guide did a nice job of describing how to use Editorial (via Taskpaper) to add a project template.

This works fine for me but (or maybe “and”) :-) …

I have several similar project types so the ability to code conditionals would be nice. I know the Taskpaper format doesn’t include this but something like…

£ifdef(<>)

  • Examine batch jobs
    £endifdef

Would really help me.

Also default values for placeholders such as:

£default(Batch=’’)

Ultimately

£include “boilerplate.taskpaper”

Sorry I can’t find octothorpe or french quotes keys on this keyboard.

Having examined the Python some of these look very doable, others a larger programming challenge. So…

Even if I code them how do I get them out there? Maybe a branch in github?

I also thought. - in testing - that if I specify a project with the same name as an existing one it creates a duplicate project (name). This with nested projects where the duplicate project name is the top level one.

Can anyone confirm or deny?

Thanks, Martin