Show tasks with sub-tasks

I just watched OmniFocus Workflows with Eric Bowers at Learn OmniFocus. It was a good presentation.

However, he spoke about one thing that’s has bugged me about OmniFocus for ages but it seemed to work for him.

Watch from about the 22:40 minute mark.

Basically, they way OmniFocus treats actions and sub-actions is weird (for me). So having checklists is not as easy as it could be. Let’s use a packing list as an example (that’s what Eric uses in the presentation). If I want to create a packing list for my upcoming trip, I can create a task for “pack stuff for trip” with sub-tasks for what I need to pack:

  • Pack stuff for trip - defer until X and due on Y.
    – Pants
    – Shirt
    – iPad
    – Cable

The problem is that OmniFocus now treats the main action as dependent on having completed the sub-actions, so it’s not “available”. That means the sub-actions will show up in perspectives, but not the main task.

Ideally, I’d like the main action to show up in Perspectives (including Forecast if it’s due) but hide the sub-actions (since they’re items and not really actions/tasks).

What Eric does is create a tag called “List” and apply it to the sub-actions. Then exclude items with that tag from perspectives.

This makes perfect sense (although a proper checklist feature would be better). However, I don’t think that actually works since the main action (Pack stuff for trip) is not “available” (i.e. greyed out). So the only way to see it would be to show “remaining” but then that would then show all actions in parallel projects.

Is there a way around this? Or am I missing something?

I know I could create a separate action and then link it to the list, but that’s way more admin work than it’s worth for a simple list. I could also get pedantic and name each item as an action (e.g. “Pack pants in suitcase”, “Pack iPad in suitcase”, etc.) but again, way too much overhead.

1 Like

There is an option in custom perspectives “not a project or group” you can include or exclude that.

Does that do it?

Would adding that information in the ‘Note’ field work?

I tried that, but it doesn’t show it because the main action is not available until all the sub-actions are completed.

I thought about that, but that would defeat the purpose of having a checklist I can quickly tick off.

In the example of the packing list, I’d like to walk around with my iPhone and just tick each item as completed as I do it. If I put them in the notes I’d have to go into the notes, select, and delete each one manually.

If you use a Project as the main “action” and actions as the list, and then in the perspective filter out the actions that contain the “list” tag, it works as long as you have Availability: Remaining. But if you want to filter by Available, it disappears as well.

I can’t find a way to exclude items from a list because the parent’s availability looks to be always dependent on the completion of the child items. This applies to actions with sub-actions as well as to projects with actions.

I think the best way is to treat the parent as a heading and set it to autocomplete with last action that way you probably never see it just the tasks related to it.

“Packing list” is not really an actionable task whereas as final sub task of “review packed items” is.

I always try to use a “verb” (action word) as the first word in any task, and to try and keep consistency across tasks.

I agree that putting the main ‘do the packing’ action as a parent of the checklist items doesn’t work, for the reasons @ditw gave.

Instead you could structure a project as below if you’re using a ‘list’ tag. The due date must be only on the main action, so that it’s the only one to appear in Forecast. A defer date can be on the whole project (I’m assuming that you don’t use ‘Show deferred items’ in Forecast, which I don’t recommend in general).


My preference though is for the following construction. Here the project-level item is sequential, and the ‘Checklist’ group is parallel. Only after you mark the first action complete do the checklist items become available (they could also be flagged in advance). No need to have a ‘list’ tag to exclude items from all perspectives that return available items (it would be needed if you wanted to hide checklist items from ‘remaining’ perspectives).

The above approaches wouldn’t work if you wanted the entire packing section to be an action group inside a larger ‘Prepare my trip’ project which has a deadline. Instead I would use an action there which links to the separate ‘Pack’ project.

3 Likes

Thanks @MultiDim, this makes sense. I’ll give it a go.

I really wish OF would add checklists to actions though, or have a way to make the parent action (or project) available.

I’m trying to do the opposite, just show the parent and not have all the other tasks showing.

Yes, I agree. That’s why in my example the task is “Pack stuff for trip” and not “Packing list”.

What I need to do is pack for the trip. It’s actionable and I need to do it. The problem is where to put the items that I need to pack so I don’t forget anything. This is just a checklist of a bunch of things. I mentioned above that I could get pedantic and name each item as an actionable task (e.g. “Pack pants in suitcase”, “Pack iPad in suitcase”, etc.) but that’s just too much admin for such a simple thing.

The options as I see them are:

  1. Have all the one word items appearing everywhere and not the actionable task. This is the default. So in a perspective showing available actions I would see:
    – Complete this task
    – Read that other thing
    – Pants
    – Shirt
    – Call John
    – iPad
    – Charger

I’d rather just see “Pack for trip” (the actionable task) instead of the items I need to pack cluttering up my actionable tasks.

  1. Keep the list somewhere else (Apple Notes, OmniOutliner, etc.) but then there’s 2 apps I need to worry about and more work.

  2. Keep the items in the notes section of the task, but then I can’t check them off quickly.

  3. One of the options @MultiDim mentioned above.

This is just an example, by the way. I have other tasks that require a checklist that I have the same issue with.

I use OmniOutliner for checklists such as my weekly review, its much easier than cluttering OF with checklist type stuff IMO. I have a “meta task” to “Complete weekly review” with a link to the OO doc.

If your on iOS this would probably be a great job for drafts app or data jar info being pulled into shortcuts which can then just create a project when needed.

1 Like

Again, I’d rather not have to use multiple apps for something so simple. Just because you don’t use this doesn’t mean nobody else does or needs it. Don’t get cranky, but the reality is that most other task planners (e.g. Things 3, Apple Reminders) have checklist functionality so I have to wonder if it’s that strange of a use case.

Here is my workaround.

Let’s say I want to pack for my London trip. I create an on hold project called London Packing List. Then I add to this project all the items I want to pack as actions.

Since the project status is on hold, by default neither the London Packing List project nor its actions show up in my system unless I change the view or perspective settings.

I then create a separate action that I call “Pack for London trip” on a different project, e.g., “Plan for London Trip” or on a single action list.

I set necessary tags, defer date, and/or due date so that the action shows up when and where I want it to do.

In the Notes field of the “Pack for London trip” action, I paste a link back to the on hold “London Packing List” project.

When the “Pack for London trip,” action shows up, I click on the link in the Notes section. This opens the on hold checklist.

I go over my packing list and check off items one by one as I pack them.

Once I am done, I select all packing items and uncheck them to reset the list for my next trip.

Do you think this will work for you?

1 Like

Yes, that’s sort of what I’ve been doing for years and it works well for something like a packing list.

I even have 2 different “projects” that are packing trips (personal (which includes scuba/photo stuff) and business). They’re set up as Active, but have a tag of “checklist” which is on hold so I don’t see them. They’re also set to complete with last action and repeat 1 minute after completion so they’re ready to go always. I used to travel multiple times a month for work so setting this up made sense.

I also have some repeating tasks where I have the “checklist” in a project with no due dates and a separate recurring task of “do stuff on checklist” and a link in the notes to the checklist.

These work well for recurring tasks/projects as it’s worth setting the whole thing up properly.

However, I think I might’ve chosen the wrong example. When I’m bumping into friction is when an action/task has a few child things that I need to jot down quickly so I don’t forget and it’s not going to happen again, so it’s not worth the time to set it up like above.

A few examples:

Let’s say I’m on the phone with my team and I need to get them a few documents by Friday so they can continue the project. While I’m on the phone, I’d like to create a new task like this:

  • Collate and send documents to John for Project X. (Due: Friday)
    • PowerPoint X
    • Image 1
    • Image 2
    • Signed contract
    • Another Document

I can’t do that in OmniFocus quickly because of what I explained above. If the first one is a project, the other ones will be actions and only those will show up in a perspective and not the project, thus cluttering up my view. If the first is an action (say in a Single Action List) as soon as I add the other ones, OmniFocus assigns those as the next action and hides the main one.

Also, as @TheOldDesigner mentioned, these aren’t really actionable tasks. I could write “Find PowerPoint X” but really? And it still will be cluttering my actions.

In my brain, the actual task is to collate and send the documents.

If I need to remember the 5 docs I’d rather put them in a checklist inside the task so I can check them off as I go but don’t need to put dates or flags not them. They’re just reminders of what I need to do to complete the given task. And these checklists should not be surfaced to the project or Forecast or other perspectives so they stay out of the way and I can keep minor steps from cluttering up the interface.

If I have 5 real tasks today, but I see 25 because of all the checklist items I’m just creating visual clutter.

Another example is groceries. It actually annoys me when people use this as an example of how to use OmniFocus. If my wife calls me at 10am and asks me to pick up stuff this afternoon, I should be able to write:

  • Pick up groceries on my way back home
    • Milk
    • Cheese
    • Eggs

I want to see the Pick up groceries task in my Today and Forecast perspectives. I don’t want to see the items until I’m actually doing the task.

And yes, there are ways around it like explained above, but they’re hacks really.

1 Like

I agree checklists within a task would be a big help (I think 2Do handles this quite well if I remember correctly).

My workaround for the types of examples (quick one off lists) above is to use Drafts, with a send to OF action. This creates one task and the “checklist” as a list in the notes field. I have these automatically assign a tag in Drafts of OF, and a shortcut run every day at 6pm which activates the “send to OF” action, and deletes the note in Drafts.

Ideal No, but fun to make any away. I don’t think anything will be ideal unless OF do add checklists at some point.

I guess the previous replies summarize all we can do with Omnifocus in that case. I have seen older threads and requests to implement a full ‘subproject’ functionality instead of action groups, which is very limited middle way.

In addition to the previous replies, I have tried to make the big checklist a folder and each packing list inside is a project.

Also, you can play with contexts/tags (sorry, I’m still with OF2) as an additional variable to play with when setting perspectives. I use them to try to overcome the limitations of action groups for subpacking lists (each item I carry in a trip is a context so I can organize what to pack in each container (e.g. toiletries bag, gadget bag, outside pocket of bag x, handbag pocket n, etc). I can then focus on a context and see the packing list (you cannot focus on an action group)

That’s good. I do something similar. I didn’t think of the link, which is nice. I have template packing lists as projects on hold, and I duplicate them as a starting point for the next packing list. If I want to save the new packing list, I duplicate it and put is on hold (so one more template for the future) before I start checking items off the ‘real’ checklist. This way I do not need to uncheck them when I’m done. The duplicated template can be handy to make sure I don’t forget items when packing for the trip back.

That is hard work for easy short trips but for trekking and other trips where you change everyday where you sleep, it becomes important not to forget to pack items from one day to the next.

1 Like