OmniFocus 3 for Mac: action status 'On Hold'

Greg,

Maybe I’m misunderstanding the purpose of tags which are made to have an On Hold status; sorry :-(

As things stand now I have a tag specifically for actions which I want to indicate are on hold. I’ve called it ‘On Hold’.

But I haven’t changed that tag’s status to ‘On Hold’, as I know I can do, because that seems like a duplication.

Nor can I really see how to use such status, because tags such as ‘Finance’, say, will have as many actions which are ongoing, available and current (e.g. reconcile a bank statement) as those which are unavailable now (e.g. file tax returns).

So I’d be reluctant either to assign any other status to tags than what I assume is the default, active.

Or am I barking up the wrong tree?

Yes, the status of the tag!
39

Setting it to ‘on hold’ is what tells OF how to handle the actions that have that tag. ‘Finance’ is a topic, you can use that tag also if it’s useful to you but it’s not a good candidate for ‘on hold’; refer to my earlier post with examples.

I think you have identified all the “moving parts”. I suggest you create a test project and experiment with the different features covered in this thread.

1 Like

Thanks again, Greg - I’ve actually been creating and modifying test projects and tags almost continually since last week, when I upgraded to OF Pro 3. I don’t want to try your patience; but I still can’t get things exactly as I want them…

It may be that I have to rethink my data’s entire structure, which is OK.

For example, a ‘Bank Accounts’ Project. It clearly should not have a Status of On Hold because any day now I shall have an Available statement to reconcile.

Yet it will also have actions which I cannot complete within, say, the next month, like (hypothetically) ‘Change Bank’, ‘re-invest interest’. For these I might be anticipating: January and May respectively.

Because I’m aware of the folly of setting artificial Due dates, I just want them to be On hold. When I have the time and energy, I’ll either complete them, or assign a feasible Defer and/or Due Date.

If I assign an On Hold status to my ‘money’ tag as in your latest screen grab (thank you!), everything with that tag becomes unavailable - including the actions that need doing today or tomorrow, like a monthly statement to be reconciled… today or tomorrow.

When using OF 2 I created two sets of contexts: the default set and one prepended with ‘Waiting -’.

I have to believe that the advent of tags (coupled with my understanding better how Available can be made to work for me) it’s possible to arrive at a more elegant solution.

Although if I have to tag everything that has no Due or Defer date (by design) to ‘On Hold’, and that is the right way to do filter in Today and Tomorrow perspectives, I shall.

OK. This is a revelation that had not sunk in fully. It is thereby worth modifying my Drop/Undrop AppleScript to add/remove an on-hold tag that has a permanent status of on-hold.

(I’d still prefer that actions have an on-hold status)

Thanks!


JJW

2 Likes

I must admit, that seems the best thing to me, too - for the reasons I have tried to explain in my Finance examples.

OTOH, thanks to Greg and Rosemary, I seem to be close with my Today and Tomorrow perspectives relying on an actual ‘On Hold’ tag (whose status isn’t On Hold: I still can’t see why that helps since the tag applies to actions which are both On Hold and do have dates) and having Availability set to Available.

@MarkSealey No problem, happy to try to help. It may also be useful to other users of OF. It’s when you become completely familiar with all of OF’s features and how they interact (statuses, dates, sequential/parallel groups, tags, perspective rules, etc etc) that it becomes a very powerful and satisfying application to stay on top of mountains of tasks.

Being able to apply multiple tags to actions in OF3 is a huge improvement for many situations.
Regarding what you are trying to do, some suggestions:

  • Keep whatever ‘subject/topic’ tags are useful to you (‘Finance’, ‘Money’, etc). Keep the status of these ‘Active’ (the default).
  • Also create one or several tags which you will use for the specific purpose of putting isolated actions on hold (so that they don’t show up in any ‘Available actions’ views). You could have just one called ‘On Hold’ or have some more descriptive ones (eg. ’Someday’, ‘Maybe’, ‘Consider next month’); whatever is clearest and easiest to apply for you. So you might have an action: ‘Do ABC [Money] [Consider Next Month]’.
  • Break down big projects into several separate projects when there are several clear goals. ‘Change Bank’ and ‘Re-invest interest’ seem like good candidates to have their own project: you can easily toggle these entire projects Active/On Hold as circumstances change. All these projects can be in a ‘Bank Accounts’ folder of projects (you can have as many levels of project folders as you need: nest inside ‘Finance’?).
  • Set a Defer Date where possible (you said January & May for some tasks). You can set a Defer Date to an entire project, like the projects mentioned in the previous point (all its actions inherit the defer date)!
  • On a daily basis, use views/perspectives that use the ‘Available’ actions filter (won’t show all the actions that you have purposefully put aside in the previous steps). On a weekly basis, review everything with ‘Availability: Remaining’ views/perspectives, and decide whether some things need to taken out of ‘On Hold’.
1 Like

Thanks, Greg!

Am continuing to experiment :-).

One thing I realize I still don’t really understand is the question of Tags’ own Status.

Page 40 of the OF3 User manual says:

When a tag is temporarily irrelevant or unavailable for some reason (a required tool is loaned out, a colleague is on sabbatical, or the public library is closed for remodeling), you can change the tag’s status from Active to On Hold. The tag remains in the sidebar, but when viewing Available items its actions are removed from the outline.

Does this mean that by setting the Status of the Tag itself to On Hold (per your earlier grab), all the actions which have that tag are consequently also put on hold? If it does, then I need to approach Availability differently.

Or that by setting the Status of the Tag itself to On Hold, I’m saying that I don’t require that Tag - as a tag - in the foreseeable future?

I tried this in a test project and couldn’t see any difference.

Yes! This is what I was trying to explain :)

1 Like

And so you have. Thanks. Now I see :-)

So in fact to have a tag (which has the name ‘On Hold’ and) whose Status of On Hold puts all the Actions so tagged on hold should be enough, shouldn’t it?

Even though, as you say, I could profitably have several such tags (whose own Status is always On Hold); and call them, ‘This Year’, ‘Next Year’, ‘Sometime’, ‘Never’ etc. Or even call them ‘Swallow’, ‘Vulture’, ‘Wader’ and the effect would be the same.

But - if I really do understand - I would not have to filter in the way Rosemary suggested, would I; because OF would detect the unavailability of the Action; not by the nature of the filtered string, but because it detects the (On Hold/unavailable) Status of the tag?

You got it.

Most of the time you will simply be choosing between ‘Available’ and ‘Remaining’ actions in your View options or Perspective rules. On-hold items (as well as deferred, and blocked in a sequence) will show up in the latter, not the former. OF uses some sensible defaults (which you can change in the View options): ‘Remaining’ in the Projects view (“show me everything that still needs to get done”) and ‘Available’ in the Tags view (“show me things I can do right now given a particular context/filter”).

Rosemary’s explanation of the ‘None’ rule group was in reply to your specific question but it can come in handy. For example, you might want a perspective that shows remaining actions in a project except those you’ve explicitly put on hold with a tag.

1 Like

Wonderful!

All your - and others’ - help much appreciated.

Thanks to you, Greg, and Rosemary (I see how that answer will also be relevant) I have learnt a lot.

Enough, I believe, to set OF 3 up just as I want it.

And to see even further than I knew just how flexible and well thought-out OF (3 more than ever) is!

I have already changed my existing ‘On Hold’ tag to have On hold status.

Next will be create and apply tags which are more nuanced/granular for actions which I can’t yet or don’t want yet to complete. And of course have the status of them all set to On Hold.

One last thing, please: I thought that View Options and Perspective rules were the same thing. No?

Brilliant!

By View options I mean the settings of the built-in views (Projects, Tags, Forecast, etc), which have a small number of options and sensible behaviours. Only perspectives have the full rule builder, but the Availability rule is identical.

1 Like

Got it! Very many thanks again :-)

1 Like

Here is the AppleScript companion to Drop-Undrop. This is Hold-Activate.

(*
	This script marks all selected items as on-hold by adding/removing an on-hold tag
	v 1 - for OF3 : only adds/removes on-hold tag
*)

-- properties of this script
-- YOU MAY /SHOULD CHANGE THESE

property pOnHoldTagName : "on-hold" -- set this to the name of your "on-hold" tag (it must exist)
property pConfirmChange : true -- confirm any changes: set to false at your own risk!

-- YOU SHOULD NOT CHANGE THESE

property pScriptTitle : "Hold-Activate OmniFocus Tasks" -- script title

-- script handler to hold the list of items to change

script theOnHoldList
	property theList : missing value
end script

-- run handler

on run

	tell application "OmniFocus"
	
		-- get the tasks selected in the main window
	
		tell content of front document window of default document to ¬
			set theSelectionList to the value of every selected tree
		if the (count of items in theSelectionList) is 0 then return
	
		-- get the tag associated to the tag name
	
		tell front document
			try
				set theOnHoldTagID to id of first item of (complete pOnHoldTagName as tag)
			on error
				display dialog "Your On-Hold Tag is not defined properly. Script must abort." buttons {"OK"} default button "OK" with title pScriptTitle
				return
			end try
			set OnHoldTag to (first flattened tag whose id is theOnHoldTagID)
		end tell
	
		if pConfirmChange then
			set theMessage to "Do you really want to toggle the state of "
			set theMessage to theMessage & (count of items in theSelectionList) & " tasks?"
			display dialog theMessage buttons {"Yes", "No"} default button "No" with title pScriptTitle
			if (result = {button returned:"No"}) then return
		end if
	
		set theList of theOnHoldList to theSelectionList
	
		repeat with theItem in theList of theOnHoldList
		
			-- first check whether it has been set as on-hold
		
			set theTagList to the id of tags of theItem as list
		
			if the theOnHoldTagID is in theTagList then
				-- remove the dropped tag				
				remove OnHoldTag from tags of theItem
			else
				-- add the on-hold tag
				add OnHoldTag to tags of theItem
			end if
		
		end repeat
	
	end tell

end run

Enjoy!


JJW

1 Like

You should probably set the property’s default to true if it is indeed risky to use otherwise (for copy & paste users / future searchers).

Fixed. Thanks.


JJW