I used to do the weekly review on Sunday. I am changing to do it on Friday. But realistically there is a chance if my Friday gets hectic it might slide to Sat or Sun. I realize in OF I have all of my projects set to review 1 time a week. Correct me if I am wrong but if I end up doing the review on Saturday, I will not see them again next Friday correct?
Is there a way to fix that? Or do I need to set the review timeline to every 3 or 4 days instead? If that is the best way can I change the default setting for new projects?
By default, projects become available for review a week after they were last reviewed. You can change the default review frequency and customize projects on a case-by-case basis.
Assuming you’re using the default (i.e. once a week), if you review a project on, for example, a Sunday it will become available for review the following Sunday.
If you wanted to change your next review for multiple projects to, for example, Friday, I recommend checking out the Update Reviews Omni Automation plug-in written by @joebuhlig:
Here is also an AppleScript for macOS only. It posts a prompt to change the review day on a selection of projects.
(*
Set OmniFocus Next Review Day
- author JJW
sets the review day to the coming day of the week
- v 1.0
- date 2022-05-31
*)
property dayList : {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
property weekdayList : {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}
property dayPrompt : "Choose the day for next review in "
property theReviewWeeks : 1
on run
-- get the selection list in OF
tell application "OmniFocus"
tell content of front document window of default document to set theSelectedProjects to every selected tree
if theSelectedProjects is {} then
tell sidebar of front document window of default document to set theSelectedProjects to every selected tree
end if
end tell
if theSelectedProjects is {} then return
-- prompt user for review day
set theCount to the number of items in theSelectedProjects
set whichDay to (choose from list dayList with prompt dayPrompt & theReviewWeeks & " weeks: " & theCount & " Projects")
if result is false then return
-- set up the review day
set whichweekDay to get_weekdayValue(whichDay as string)
set theDay to nextWeekday(whichweekDay)
-- change the review days
tell application "OmniFocus"
repeat with theProject in the theSelectedProjects
set the next review date of the value of theProject to theDay
set the review interval of the value of theProject to {steps:theReviewWeeks, unit:week}
end repeat
end tell
end run
on get_weekdayValue(wkdaystr)
repeat with ic from 1 to the count of dayList
if item ic of dayList is wkdaystr then return item ic of weekdayList
end repeat
end get_weekdayValue
on nextWeekday(wd)
set today to current date
set twd to weekday of today
if twd is wd then
set d to 7
else
set d to (7 + wd - twd) mod 7
end if
set theDay to today + (d * days)
set the time of theDay to 0
return theDay
end nextWeekday