Hi guys, is any way to work with task progress on omnifocus 2?
Thanks!
Hi guys, is any way to work with task progress on omnifocus 2?
Thanks!
@jago_ff - I find it works best to treat each task/action as a unit of work. If itās something thatās going to be completed over time, itās best to create multiple actions. If you give some specific examples, Iām happy to comment further.
Hi tim, thanks for your reply
Task like āupdate all serversā for example, I canāt make a list of task like āupdate server 1ā āupdate server 2ā when I have 200 servers.
Is most like, percent of advance 30%.
The simplest would be to have the single task āUpdate all serversā and append progress to the task title, i.e. āUpdate all servers - racks 1-3 completed.ā
If you need something more granular, and this is a recurring type of task, I would suggest putting in the effort to list all the servers that need to be updated. Thankfully, AppleScript can be your helper. Hereās a script I grabbed from somewhere (@joebuhlig has a version that sets reading tasks to complete on a given series of days) that you could modify from āRead a Bookā to āUpdate Serversā and instead of chapters, number the servers you want to track.
-- assumes no subfolders
on appIsRunning(GTDAppName)
tell application "System Events"
return (count of (application processes whose name is GTDAppName)) is not 0
end tell
end appIsRunning
repeat
display dialog "Enter Name of Book" default answer "Title"
try
if the text returned of result is not "" then
set the _bookname to the text returned of the result
exit repeat
end if
on error
beep
end try
end repeat
repeat
display dialog "Enter Name of Author" default answer "Author"
try
if the text returned of result is not "" then
set the _authorname to the text returned of the result
exit repeat
end if
on error
beep
end try
end repeat
repeat
display dialog "Beginning Chapter" default answer "1"
try
if the text returned of result is not "" then
set the _begin to the text returned of the result as number
exit repeat
end if
on error
beep
end try
end repeat
repeat
display dialog "Ending Chapter" default answer "2"
try
if the text returned of result is not "" then
set the _end to the text returned of the result as number
exit repeat
end if
on error
beep
end try
end repeat
display dialog ("Create Reading List Actions for " & _bookname & " from Chapters " & _begin & " to " & _end) Ā¬
buttons {"Create Actions", "Cancel"} default button 1
if button returned of the result is "Create Actions" then
if appIsRunning("OmniFocus") then
tell application "OmniFocus"
tell default document
set _ri to {unit:(week), steps:(2), fixed:(false)}
set _projectName to "Read " & _bookname & " by " & _authorname
make project with properties {name:(_projectName), status:(active), sequential:(true), review interval:(_ri), completed by children:(true), note:("Chapters " & _begin & " to " & _end)}
set theProject to project named _projectName
tell theProject
repeat with chapter from _begin to _end
make task with properties {name:("Read Chapter " & chapter), flagged:true}
end repeat
end tell
end tell
end tell
-- if OmniFocus is not running, launch it first and then create the Quick Entry
else
tell application "OmniFocus"
activate
tell default document
set _ri to {unit:(day), steps:(2), fixed:(false)}
set _projectName to "Read " & _bookname
make project with properties {name:(_projectName), status:(active), sequential:(true), review interval:(_ri), completed by children:(true), note:("Chapters " & _begin & " to " & _end)}
set theProject to project named _projectName
tell theProject
repeat with chapter from _begin to _end
make task with properties {name:("Read Chapter " & chapter)}
end repeat
end tell
end tell
end tell
end if
end if
Youāre welcome @jago_ff. I would create an āUpdate All Serversā project and create actions that get to the level of granularity you want. If itās not practical/efficient to have an action for each of your 200 servers you could group multiple servers into one action (e.g. āUpdate Servers 1-9ā and āUpdate Servers 10-19ā). Given that you have so many servers to update, it might also be worth putting some time and energy into seeing how you could automate the server update process.
If you have the list of servers in text format, just drag it under the top level task āUpdate all serversā: it will create a bunch of subtasks one for each line in your list ;)
Hi @jago_ff
I can share what works for me. If it is more than 1 action, I consider it a project so Iād call āUpdate all serversā a project and put the individual actions to accomplish it within it (1-download software, 2- schedule time in my calendar to actually install it, etc). Since you have 200 of them, Iād also add a link within the project to a text file / evernote file / word file with a checklist of all 200 of them. I would then have it within a task such as ā3-update next serverā and remember to update it with a 4th task called āupdate checklist for progressā. This is just me though.
Since this is a time-intensive task I think actually scheduling it in your calendar would be more useful to ensure you get it done.
Thank you! I will try
Nice trick! thanks
Sure! Hope it helps you
You shouldnāt be doing that in any todo/scheduling app. What you put in OmniFocus is simply a list of tasks that you need to do to update the servers. Something like:
For updating 200 servers youād use tooling like Ansible/Chef/Puppet and so on so you can not only push out the updates to the servers you want but you also reboot them all at once in the right order. That means you reboot database servers first, application servers next which will prevent issues like applications not being able to find the database on time and thus causing issues. This also allows you to group servers so you can update all servers of a particular customer, or your accept environment, orā¦ If you do this right then it will make the checklist a lot more clearer too and it be short (thus easy to enter in OmniFocus).
In other words, if you have to administer 200 servers you should be looking into tooling and ways that eases that task (if you can automate it, automate it!). The entire process of updating them is something that you can manage with OmniFocus since it is a project that consists of several steps (read: a checklist). At work we use Ansible and Spacewalk for administering and updating our servers and a simple checklist to make sure we do all the steps correctly. Last time we did this it only took us 1,5 hours incl. fixing some issues.