Change due date without change next due date

Guys,

Is there any way to change a due date without change the next due date? Task repeat every month.
There are some tasks I need to postpone but it doesn’t mean I want to postpone next month due date.

Thanks.

2 Likes

So, you mean the Due date is postponed this month but will not be postponed next month?

I’d shift the Due date by what the grace period allows. Complete the task but before you check it off as done, shift the Due date back to its time before the grace. Then, check it off. It should repeat with the new due date on the required month.

I might also infer from how you phrased your question that a different approach will work better. If you need to postpone a task, it probably means that task was not truly due (by someone/something) on the date. It was instead desired (by you) to be done on the date. Stop using due dates for this approach. When you want to do something by today, flag it. If you don’t finish it, unflag it. When you want something to show up on a monthly basis as a reminder that you want to do it on a monthly basis, set a flag on it and defer it to appear on a monthly basis. I use this latter approach for example to remind me to send friendly “hello here’s the news of the month” emails to my family and friends.

Finally, when you really, really, really want an automatic way to handle your case and you really, really, really want to use due dates in your way, then creating an Applescript is the only option.


JJW

2 Likes

I generally check off the current one to make the new future task and then type in a non-repeating custom task by hand.

3 Likes

Thank you JJW,

I used to see Forecast to know what I need to do in my Today list. So that’s why I define a due date and I don’t flag it.

The point is that are some monthly tasks that despite I know I need to do “today” (because I defined a due date) sometimes I didn’t complete and I need to postpone for some days. But I just don’t want to postpone this same tasks for the next month.

1 Like

Mee too, but I’m wondering if there is any way to not type in a non-repeating task by hand.

1 Like

I have wanted this for a long time. Asking this question has the property of summoning people who tell you that you should re-organize your life habits.

2 Likes

Yes. Rather than type in by hand, create an AppleScript to do the desired work automatically.


JJW

The problem is this. Due dates in OF have a specific meaning. They are defined as hard deadlines. Any approach that uses due dates in OF to set deadlines for desires uses them as soft deadlines. Regardless of how long or strongly you make your point that you want to use due dates differently (i.e. as soft rather than hard deadlines), you are still using them counter to their specific design. You can post here as you have to ask how to use due dates differently. In this case, folks here will correspondingly tell you to …

  • re-organize your habits in OF to use due dates as they are defined to be used in OF
  • create a manual workaround
  • create an Applescript workaround

You can also post a feature request to OF directly.

Hope this helps clarify the options and the reasons behind them.


JJW

. Regardless of how long or strongly you make your point that you want to use due dates differently (i.e. as soft rather than hard deadlines), you are still using them counter to their specific design

If you want to live and die by this interpretation, then you have a design that can’t elegantly accommodate needs people experience in reality. In reality, the intention of meeting a deadline isn’t a metaphysical guarantee that it will be met. In this case it’s useful to reschedule an instance of a recurring deadline without also rescheduling every future instance of that obligation.

I can have a recurring Thursday meeting with a supervisor. My car can break down. The meeting for that week can be rescheduled for Friday without implying that every meeting in the future is now on Friday. Your philosophy implies that my meeting deadline wasn’t truly “hard” in the first place. But this is what deadlines can be like in the real world.

Other task apps (e.g. Things) accommodate this scenario with ease. OF neither enforces the awkward rules you describe in its interface (e.g. warning “You are about to reschedule every instance of a repeating task! Are you sure you want to do this? You sure you don’t want to create a brand new task instead and mark this one as abandoned or something?”) nor provide an elegant alternate solution. When a design forces a user to jump through hoops in normal circumstances, the design is at fault.

2 Likes

I am sure you mean this …

When a design forces me to jump through hoops in what I do in my normal circumstances, the design is flawed for me.

I’m not jumping through any hoops, and I find absolutely no faults with the current design.

Have you sent this specific example as a feature request to OmniGroup?

This argument is both circular in itself and tangential to the main topic.

I can post a few dozen examples to use due dates as soft deadlines on repeating tasks. They all require one more step in the processing. I’ll note the general template.

Suppose you have a task “complete task XYZ” that is marked as due as a soft deadline. The task repeats periodically. The next due date comes up. The task sits in your Forecast view. You want to postpone doing that task because the due date is really just a soft deadline (not a hard one).

  • create a new “one-time” task that says “complete the postponed task XYZ”
  • give this “one-time” task a due date of the new date when your want to complete it
  • check off the “complete task XYZ”

Philosophically speaking, after all, didn’t you “complete task XYZ” anyway by postponing it with a new task???

Why is this such a hard thing to fuss over???


JJW

1 Like

To quote myself:

“Asking this question has the property of summoning people who tell you that you should re-organize your life habits.”

Prophecy fulfilled!

2 Likes

When you don’t like a suggestion, that is one thing. Say so politely and be done. When you mis-interprete a suggestion as though it is an imperative command to everyone and then blatantly throw it back in such a manner, you insult the consideration of the time spent to post it as well as the generosity and sincerity of person who posts it.

I propose what you could do at this point is this: Construct a properly-designed feature request to OmniGroup (see their guidelines on what does and does not work well), post it to OmniGroup, and ask folks to join you with their vote.


JJW

3 Likes

Prophecy fulfilled TWICE!

3 Likes

Here’s an Applescript to postpone a task. Select a task. It will generate a new task from the selection with the PostponePrefix postponed by the noted number of days. It will then mark the selected task as complete.

(*
This script postpones a task
*)

-- properties of this script
-- change these to suit your needs

property pPostponePrefix : "POSTPONED: " -- set this to a prefix before the task name
property pDaystoShift : 5

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

script thePostponeList
property theList : missing value
end script

on run

 set theCurrentDate to the current date

 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
	
	set theList of thePostponeList to theSelectionList
	
	-- get the context associated to the context name
	
	repeat with theItem in theList of thePostponeList
		
		tell front document
			set theContextName to the name of context of theItem
			set theContext to (the first flattened context where its name = theContextName)
			set theTask to the name of theItem
			set theNewTask to pPostponePrefix & theTask
			set theDueDate to the due date of theItem
			if (theDueDate) is missing value then
				set theNewDueDate to today + (pDaystoShift * days)
			else
				set theNewDueDate to theDueDate + (pDaystoShift * days)
			end if
			set theProject to the containing project of theItem
			tell theProject to make new task ¬
				with properties {name:theNewTask, context:theContext, due date:theNewDueDate}
			set the completed of theItem to true
                  end tell
	end repeat
 end tell
end run

Feel free to modify this as you need.


JJW

4 Likes

@DrJJWMac: Thanks for your posts. I’m sorry that some others just like feeling smug and consider your solutions inadequate.

1 Like

Thanks.


JJW

1 Like

I totally agree with you Mike. OF could at least ask if we want to reschedule every instance of a repeating task.

Anyway I understand the concept of “hard” due dates and now I am using defer dates as “soft” due dates and due dates as hard ones.

Thank you all.

1 Like

Thanks for yor help.

I thought I would add to this with a use case that I manage.

Every month, I produce a “monthly” report, which is reviewed by a number of executives in a live forum. Because of complex scheduling issues, that review never happens on a predictable cadence, and in fact even occurs before month end in some cases. As such, each meeting minus two days (for readiness) represents the due date of my report, but that recurrence is not regular.

At the same time, I do know that the forum will be scheduled at least three weeks in advance. As such, I have a monthly recurring task to make the task(s) that will represent producing my report, and assigning them the appropriate due dates.

In this way, my (meta)task to make tasks is regularly recurring, but the actual tasks to make the report aren’t. This allows me to accurately plan my workload without worrying about the weird task management issues that come with a wackadoodle recurrence.

Dunno if that helps, but that’s one of my strategies.

ScottyJ

3 Likes

I do the same. I have recurring flagged tasks that are deferred to “pop-up” to remind me to set actual deadlines on some other larger set of Actions or tasks.

But, this approach is likely to anger some folks because it will force them to re-organize their life habits.

Just saying. :-/


JJW