he David Allen Company RSS Log Out Profile FAQ FAQ Forum Home
+ Reply to Thread
Page 3 of 4 FirstFirst 1 2 3 4 LastLast
Results 21 to 30 of 31

Thread: Omnifocus vs Apple Reminders

  1. #21
    Join Date
    Mar 2007
    Posts
    16

    Default Can't wait!

    Quote Originally Posted by kelstarrising View Post
    We expect to have our GTD & iPhone available in the DAC Store by this Friday. It focuses solely on the built-in applications (no 3rd party) to take advantage of what comes native to the iPhone.
    Excited to get my hands on this!

  2. #22
    Join Date
    Jun 2011
    Location
    VT
    Posts
    14

    Angry Outlook sync with Reminders

    Quote Originally Posted by paulmcdonald View Post
    Is anyone syncing Outlook tasks with the reminder app on iPhone?
    Paul, I was ... until I inadvertently exported all of my Outlook tasks into OmniFocus while trying out the "reminders capture" in the IPad version. I recovered them all in the deleted items folder of Outlook, fortunately, but now have turned off the sync of Outlook to "reminders" and only allow Outlook to sync with my iPhone/iPad using IMExchange2, because I like how it preserves the categories from Outlook.

  3. #23
    Join Date
    May 2003
    Location
    Minnesota
    Posts
    17

    Default A little automation if using Reminders app

    After switching to the reminders app last week it occurred to me that I could save myself some time when process email..

    If you are a GTDer and you use Apple Mail instead of Outlook or Entourage. Then it's almost a must that you use the Mail-Act-On software. It's a simple piece of dirt cheap software that allows you to use hotkeys to trigger "mail rules" against the currently selected message(s). Essential for rapid filing, forward+filing, forwarding+deleted, etc. One extra feature it has is that is can trigger an AppleScript against a message.

    So here's an applescript that you can place into "~/Library/Application Scripts/com.apple.mail" that allows you to create a reminder in your "Inbox" list that has a link back to the orginal message. I use a rule that moves the message to an email folder called "Reference" and then creates an Action in Inbox for that message and has a link back to in Mail. With Mail-Act-On automating all this; I simply highlight the message and hit "Ctrl-A" and poof the message is filed and a new action is in my reminders inbox waiting to be "actionafied". This script would need to be modified if not triggered by Mail-Act-On. The whole process runs in under 1 sec.

    I'm not affiliated with MAO's creator you can google them easy enough.

    I will be making a similar solution for Safari web pages soon and will post that.

    Code:
    using terms from application "Mail"
    	# Set the name of the list where to create the reminder
    	set InboxName to "Inbox"
    	
    	# Set the color of the message (used to mark the message after being linked to Reminders)
    	set MessageColor to green
    	
    	# set the default reminder due date
    	set ReminderDueDate to 0
    	
    	# set the default remind me date
    	set ReminderReminderMeDate to 0
    	
    	# set the prefix to be prepended to the reminders' name
    	set ReminderPrefix to ""
    	
    	# Find the selected mail message
    	set selectedMessages to selection
    	if (count of selectedMessages) is greater than 0 then
    		
    		set theMessage to item 1 of selectedMessages
    		
    		# Get the message properties
    		set theSubject to my trimText(subject of theMessage)
    		set theSender to sender of theMessage
    		set theMessageId to my replaceText("%", "%25", message id of theMessage)
    		set theTags to "Mail"
    		
    		# if we have a message with no ID then we give up, since we can't create a link
    		# based on an empty id
    		if theMessageId is "" then
    			display dialog "Can't link this message to Reminders"
    			return
    		end if
    		
    		# build the reminder properties
    		set message_url to "message:%3C" & theMessageId & "%3E"
    		set todo_name to my replaceText(return, "", ReminderPrefix & theSubject & "(" & theSender & ")")
    		
    		tell application "System Events" to set frontmost of process "Reminders" to true
    		
    		tell application "Reminders"
    			
    			# Search for the proper list where to create the reminder
    			repeat with listIndex from 0 to (count of list)
    				
    				set oneList to list listIndex
    				set listId to id of oneList
    				
    				if (name of oneList) is equal to InboxName then
    					
    					# create the reminder based on the selected mail
    					# set mailReminder to make new reminder with properties {name:todo_name, body:message_url, container:oneList, due date:((current date) + (ReminderDueDate * days))}
    					set mailReminder to make new reminder with properties {name:todo_name, body:message_url, container:oneList}
    					
    					oneList show
    				end if
    				
    			end repeat
    			
    		end tell
    		
    		# finally mark the message
    		set the background color of theMessage to MessageColor
    		
    	end if
    end using terms from
    
    # Trims the unnecessary whitespace from someText
    on trimText(someText)
    	set theseCharacters to {" ", tab, ASCII character 10, ASCII character 13, ASCII character 0}
    	
    	repeat until first character of someText is not in theseCharacters
    		set someText to text 2 thru -1 of someText
    	end repeat
    	
    	repeat until last character of someText is not in theseCharacters
    		set someText to text 1 thru -2 of someText
    	end repeat
    	
    	return someText
    end trimText
    
    on replaceText(find, replace, subject)
    	set previousDelimiters to text item delimiters of AppleScript
    	set text item delimiters of AppleScript to find
    	set subject to text items of subject
    	
    	set text item delimiters of AppleScript to replace
    	set subject to "" & subject
    	set text item delimiters of AppleScript to previousDelimiters
    	
    	return subject
    end replaceText

  4. #24

    Default

    Quote Originally Posted by ratz View Post
    After switching to the reminders app last week it occurred to me that I could save myself some time when process email..
    You can also drag-and-drop the email onto Reminders.

    -- Robert.

  5. #25
    Join Date
    May 2003
    Location
    Minnesota
    Posts
    17

    Default

    Quote Originally Posted by robertedwards View Post
    You can also drag-and-drop the email onto Reminders.

    -- Robert.
    Definitely true, that was worth mentioning. However I found that was not working well for me. I always seem to grab the entire message thread and then it does not work. Also I still have to return the mail program and file the message. I am too lazy for that I want the computer to do it fast and save me the work.

  6. #26
    Join Date
    May 2003
    Location
    Minnesota
    Posts
    17

    Default Safari to Action Item Script

    Ok here's the Safari script. You will either need to know how to turn on scripting; or use something like the free FastScripts from red sweater software; to trigger it. I use FastScript and assign it to "Control+Shift+A"

    This version will ask you if it is and action or a project. You can configure it to have actions go directly to your inbox; or prompt you for which action list to put it on.

    -Enjoy

    Code:
    tell application "Safari"
    	set SafariURL to URL of document 1
    	# Set the name of the list where to create the action reminder
    	set InboxName to "_Inbox"
    	
    	# Set the name of the list where to create project reminders
    	set ProjectListName to "Projects"
    	
    	# Turn on or off the prompting for which Action List
    	set PlaceActionsInInbox to false
    	
    	# Set the names of your Actions Lists
    	set AvailableLists to {"_Inbox", "@Agendas", "@Afterhours", "@Calls", "@Computer", "@Desk", "@Errands", "@Home", "@WaitingFor"}
    	
    	# set the default reminder due date
    	set ReminderDueDate to 0
    	
    	# set the default remind me date
    	set ReminderReminderMeDate to 0
    	
    	# set the prefix to be prepended to the reminders' name
    	set ReminderPrefix to ""
    	
    	
    	# Get the Action statement or Project description from user
    	set prompt1 to display dialog "Enter Action Statement or Project Description" default answer "" buttons {"Action", "Project", "Cancel"} default button "Action"
    	set theSubject to the text returned of prompt1
    	if theSubject is not "" then set theSubject to my trimText(the text returned of prompt1)
    	set theList to the button returned of prompt1
    	
    	#react to button pushed
    	if theList is equal to "Project" then
    		set targetList to ProjectListName
    	else if theList is equal to "Action" then
    		#Put in Inbox or ask for Action List based on mode
    		if PlaceActionsInInbox then
    			set targetList to InboxName
    		else
    			set myChoice to (choose from list AvailableLists with title "Action Lists" with prompt "Put in List")
    			set targetList to item 1 of myChoice
    		end if
    	else
    		set targetList to "Cancel"
    	end if
    	
    	if theList is equal to "Cancel" or theSubject is "" then end run
    	
    	set todo_name to my replaceText(return, "", ReminderPrefix & theSubject)
    	
    	tell application "System Events" to set frontmost of process "Reminders" to true
    	
    	tell application "Reminders"
    		
    		# Search for the proper list where to create the reminder
    		repeat with listIndex from 0 to (count of list)
    			
    			set oneList to list listIndex
    			set listId to id of oneList
    			
    			if (name of oneList) is equal to targetList then
    				
    				# create the reminder based on the URL
    				if ReminderReminderMeDate is equal to 0 then
    					set mailReminder to make new reminder with properties {name:todo_name, body:SafariURL, container:oneList}
    				else
    					set mailReminder to make new reminder with properties {name:todo_name, body:SafariURL, container:oneList, due date:((current date) + (ReminderDueDate * days))}
    				end if
    				
    				oneList show
    			end if
    			
    		end repeat
    		
    	end tell
    end tell
    
    # Trims the unnecessary whitespace from someText
    on trimText(someText)
    	set theseCharacters to {" ", tab, ASCII character 10, ASCII character 13, ASCII character 0}
    	
    	repeat until first character of someText is not in theseCharacters
    		set someText to text 2 thru -1 of someText
    	end repeat
    	
    	repeat until last character of someText is not in theseCharacters
    		set someText to text 1 thru -2 of someText
    	end repeat
    	
    	return someText
    end trimText
    
    on replaceText(find, replace, subject)
    	set previousDelimiters to text item delimiters of AppleScript
    	set text item delimiters of AppleScript to find
    	set subject to text items of subject
    	
    	set text item delimiters of AppleScript to replace
    	set subject to "" & subject
    	set text item delimiters of AppleScript to previousDelimiters
    	
    	return subject
    end replaceText

  7. #27
    Join Date
    May 2003
    Location
    Minnesota
    Posts
    17

    Default reliability bug fix to previous contribution.

    Quote Originally Posted by ratz View Post
    So here's an applescript that you can place into "~/Library/Application Scripts/com.apple.mail"
    Ok not to turn this into "scripts today" but there was a conflict in Mail-ActOn that messes with the reliability of that script if you try to auto file the message. so here's the "improved one" This one assume you know a little bit more about your mail server. In This version the script does the filing, which is less flexible but more reliable.

    To use this version You will need to program the line Set FileBox to point at your reference email folder in your mail account. Notice in the sample code that it's set for a Subfolder of Inbox as "Inbox/@Reference" if yours is in the root folder (common if not on an exchange server) you might just have "Reference" as the folder name. Also change NameOfMailMailAccountInMailAppDisplay to be the DESCRIPTION you gave your mail account in your settings.

    The rest of the stuff to configure should be obvious.

    This script is for mail act on. If you want to use it with FastScripts instead to save some funds, then change the first line of the code to be:
    Code:
    tell application "Mail"
    and the line that says "end using terms from" to be
    Code:
    end tell
    it's about 1/5 of the way from the end of the code.


    Code:
    using terms from application "Mail"
    	# Set the name of the list where to create the reminder
    	set InboxName to "_Inbox"
    	
    	# Set the color of the message (used to mark the message after being linked to Reminders)
    	set MessageColor to green
    	
    	# Set the Folder to file the Message in after creating action
    	set Filebox to mailbox "Inbox/@Reference" of account "NameOfMailMailAccountInMailAppDisplay"
    	
    	# Set the name of the list where to create project reminders
    	set ProjectListName to "Projects"
    	
    	# Turn on or off the prompting for which Action List
    	set PlaceActionsInInbox to false
    	
    	# Set the names of your Actions Lists in the Reminders App
    	set AvailableLists to {"_Inbox", "@Agendas", "@Afterhours", "@Calls", "@Computer", "@Desk", "@Errands", "@Home", "@WaitingFor", "SomeDay/Maybe"}
    	
    	# set the default reminder due date
    	set ReminderDueDate to 0
    	
    	# Turn Reminder on or off
    	set RemindMeOn to 0
    	
    	# set the prefix to be prepended to the reminders' name
    	set ReminderPrefix to ""
    	
    	#### END of Configuration ####
    	
    	# Find the selected mail message
    	set selectedMessages to selection
    	
    	if (count of selectedMessages) is greater than 0 then
    		
    		set theMessage to item 1 of selectedMessages
    		
    		# Get the message properties
    		set theSubject to my trimText(subject of theMessage)
    		set theSender to sender of theMessage
    		set theMessageId to my replaceText("%", "%25", message id of theMessage)
    		set theTags to "Mail"
    		
    		# if we have a message with no ID then we give up, since we can't create a link
    		# based on an empty id
    		if theMessageId is "" then
    			display dialog "Can't link this message to Reminders"
    			return
    		end if
    		
    		# build the reminder properties
    		set message_url to "message:%3C" & theMessageId & "%3E"
    		set suggestedSubject to my replaceText(return, "", ReminderPrefix & theSubject & "(" & theSender & ")")
    		
    		display dialog suggestedSubject
    		# Get the Action statement or Project description from user
    		set prompt1 to display dialog "Enter Action Statement or Project Description" default answer suggestedSubject buttons {"Action", "Project", "Cancel"} default button "Action"
    		set finalSubject to the text returned of prompt1
    		if finalSubject is not "" then set todo_name to my trimText(the text returned of prompt1)
    		set theList to the button returned of prompt1
    		
    		#react to button pushed
    		if theList is equal to "Project" then
    			set targetList to ProjectListName
    		else if theList is equal to "Action" then
    			#Put in Inbox or ask for Action List based on mode
    			if PlaceActionsInInbox then
    				set targetList to InboxName
    			else
    				set myChoice to (choose from list AvailableLists with title "Action Lists" with prompt "Put in List")
    				set targetList to item 1 of myChoice
    			end if
    		else
    			set targetList to "Cancel"
    		end if
    		
    		if theList is equal to "Cancel" or finalSubject is "" then end run
    		
    		tell application "System Events" to set frontmost of process "Reminders" to true
    		
    		tell application "Reminders"
    			
    			# Search for the proper list where to create the reminder
    			repeat with listIndex from 0 to (count of list)
    				
    				set oneList to list listIndex
    				set listId to id of oneList
    				
    				if (name of oneList) is equal to targetList then
    					
    					# create the reminder based on the selected mail
    					if RemindMeOn is equal to 0 then
    						set mailReminder to make new reminder with properties {name:todo_name, body:message_url, container:oneList}
    					else
    						set mailReminder to make new reminder with properties {name:todo_name, body:message_url, container:oneList, due date:((current date) + (ReminderDueDate * days))}
    						
    					end if
    					
    					oneList show
    				end if
    				
    			end repeat
    			
    		end tell
    		
    		# finally mark the message
    		set the background color of theMessage to MessageColor
    		move theMessage to Filebox
    		
    	end if
    end using terms from
    
    # Trims the unnecessary whitespace from someText
    on trimText(someText)
    	set theseCharacters to {" ", tab, ASCII character 10, ASCII character 13, ASCII character 0}
    	
    	repeat until first character of someText is not in theseCharacters
    		set someText to text 2 thru -1 of someText
    	end repeat
    	
    	repeat until last character of someText is not in theseCharacters
    		set someText to text 1 thru -2 of someText
    	end repeat
    	
    	return someText
    end trimText
    
    on replaceText(find, replace, subject)
    	set previousDelimiters to text item delimiters of AppleScript
    	set text item delimiters of AppleScript to find
    	set subject to text items of subject
    	
    	set text item delimiters of AppleScript to replace
    	set subject to "" & subject
    	set text item delimiters of AppleScript to previousDelimiters
    	
    	return subject
    end replaceText
    Last edited by ratz; 03-05-2013 at 10:20 AM. Reason: Removed bogus line of code the was loosing custom subject user entnered. 3/5/2013

  8. #28
    Join Date
    May 2003
    Location
    Minnesota
    Posts
    17

    Default Finalized Version

    Ok so after having reasonable success with the scripts. I went back and made them much more universal and easier for non programmers to work with.

    Attached is a zip file called "Public Scripts.zip" free for the taking. It contains the final versions of the script. Configure your inbox list name, project list name and icloud account name or mail server account name; and your off and running. The scripts will stay updated as you add and remove action lists.
    Attached Files
    Last edited by ratz; 03-11-2013 at 08:00 PM. Reason: Update Scripts zip file to newest version

  9. #29
    Join Date
    Sep 2006
    Posts
    181

    Default

    Of course, you can set up OmniFocus to sweep everything out of iOS Reminders and drop the items into your OF Inbox. Therefore, you can use Siri with OF.

    rdgeorge

  10. #30
    Join Date
    Sep 2006
    Posts
    181

    Default

    Just as Notes can be better-set-up on a Mac before using Notes on iDevices, I recall that it was better/easier to set up multiple color-coded Calendars on a Mac before using them on iDevices.

    rdgeorge

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts