![]() |
Copied whpalmer's version and when I got to compile the script I get an error in this section
[CODE] try using terms from application "MailTagsScriptingSupport" set theDueDate to (due date of theMessage) as date if (leadStart is not 0) then set theStartDate to theDueDate - leadStart * days else set theStartDate to missing value end if set theDueDate to my setDate(theDueDate) end using terms from on error theError end try[/CODE] The error is ([B]Syntax Error[/B] Expected “,” but found class name.) and the editor is highlighting date after the word due. Any help on why it wont compile? TIA P.S. Also, does anyone know if there is something like this that will work with Entourage 2008 and omnifocus? |
@rossonr,
I just grabbed @whpalmer's script and it compiled fine for me. Not sure, but maybe try the copy again. |
Do not know what happened but grabbed it again and I get no errors.
|
Is there a way to modify this script so that if the user forgets to set a Tickler Date it will automatically set one? Leaving this value empty causes the script to fail. Methinks it shouldn't (or does anyone beg to differ)?
|
Not working reliably
For some reason, this isn't working reliably for me with mail.app, Exchange 2007 and snow leopard.
I get growl notifications that the _wrong_ (ie a previously sent untagged) email is added to omnifocus. When I switch to omnifocus i don't see either the correct or the incorrect email in my waiting context. And then some days it works flawlessly. |
Date handling
Hi,
Knowing little of Applescript and such, I made the following variant to get around the issue of the script failing when no date is set (yet keeping the ability to optionally use a set tickler date). Clearly it is hack and not elegant at all, but it seems to work for now.. [CODE](* Waiting For Mails to OmniFocus Script by simplicityisbliss.com, Sven Fechner MailTags project and due date compatibility added by Scott Morrison, Indev Software Based on an Outbox Rule (Mail Act-On) in Mail.app this script adds specific messages to the OmniFocus Inbox with the waiting for context MailTags is required to automatically set the project and the due date. Mail Act-On (www.indev.ca) is required to define the Outbox Rule to only create tasks for those outgoing emails that are to be tracked in OmniFocus A sample Outbox rule may be if MailTags Tickle Date is After 0 days today Run Apple Script: [ThisAppleScript] The script uses Growl for feedback notification if it is installed and running *) --!! EDIT THE PROPERTIES BELOW TO MEET YOUR NEEDS !!-- -- Do you want the actualy mail body to be added to the notes section of the OmniFocus task? -- Set to 'true' is or 'false' if no property mailBody : true -- Text between mail recipient (the person you are waiting for to come back) and the email subject property MidFix : " ==>> re: " -- Name of your Waiting For context in OmniFocus property myWFContext : "Waiting" -- Default due time property timeDue : "5:00:00 PM" -- !! STOP EDITING HERE IF NOT FAMILAR WITH APPLESCRIPT !! -- --Configuration for Growl messages property GrowlRun : false property scriptName : "Waiting For Mails to OmniFocus" property notifySuccess : "Success Notification" property notifyFail : "Failed Notification" property titleSuccess : "Waiting For Mail added" property titleFail : "Waiting For Mail to OmniFocus FAILED" property txtSuccess : " added to OmniFocus successfully" property txtFail : " to OmniFocus to add successfully" property txtIcon : "OmniFocus" on perform_mail_action(theData) --Check if Growl is running tell application "System Events" to set GrowlRun to (count of (every process whose name is "GrowlHelperApp")) > 0 --Setup Growl if GrowlRun then tell application "GrowlHelperApp" to register as application scriptName all notifications {notifySuccess, notifyFail} default notifications {notifySuccess, notifyFail} icon of application txtIcon --Get going tell application "Mail" set theMessages to |SelectedMessages| of theData --Extract the messages from the rule repeat with theMessage in theMessages set theSubject to subject of theMessage set theRecipient to name of to recipient of theMessage set theMessageID to urlencode(the message id of theMessage) of me set theDueDate to date "Tuesday, January 1, 1991 12:00:00 AM" try using terms from application "MailTagsScriptingSupport" set theDueDate to (due date of theMessage) as date set theDueDate to my setDate(theDueDate) end using terms from on error theError end try -- tell application "GrowlHelperApp" to notify with name notifySuccess title titleSuccess description "test" & txtSuccess application name scriptName -- do shell script "echo test" -- Check if there is one or more recipients try if (count of theRecipient) > 1 then set theRecipientName to (item 1 of theRecipient & (ASCII character 202) & "and" & (ASCII character 202) & ((count of theRecipient) - 1) as string) & (ASCII character 202) & "more" else set theRecipientName to item 1 of theRecipient end if set theTaskTitel to theRecipientName & (ASCII character 202) & MidFix & (ASCII character 202) & theSubject set messageURL to "Created from message://%3C" & (theMessageID) & "%3E" set theBody to messageURL if mailBody then set theBody to theBody & return & return & the content of theMessage -- Add waiting for context task to OmniFocus tell application "OmniFocus" tell default document set theContext to context myWFContext -- set theTask to make new inbox task with properties {name:theTaskTitel, note:theBody, context:theContext, due date:theDueDate} if theDueDate is not date "Tuesday, January 1, 1991 12:00:00 AM" then set theTask to make new inbox task with properties {name:theTaskTitel, note:theBody, context:theContext, due date:theDueDate} else set theTask to make new inbox task with properties {name:theTaskTitel, note:theBody, context:theContext} end if if myProject is not null then set theProject to project myProject move theTask to end of tasks of theProject end if end tell end tell on error theError do shell script "logger -t outboxrule 'Error : " & theError & "' " end try my GrowlSuccess("Mail: " & theSubject) end repeat end tell end perform_mail_action on GrowlSuccess(theMessage) if GrowlRun then tell application "GrowlHelperApp" to notify with name notifySuccess title titleSuccess description theMessage & txtSuccess application name scriptName end GrowlSuccess on urlencode(theText) set theTextEnc to "" repeat with eachChar in characters of theText set useChar to eachChar set eachCharNum to ASCII number of eachChar if eachCharNum = 32 then set useChar to "+" else if (eachCharNum ≠ 42) and (eachCharNum ≠ 95) and (eachCharNum < 45 or eachCharNum > 46) and (eachCharNum < 48 or eachCharNum > 57) and (eachCharNum < 65 or eachCharNum > 90) and (eachCharNum < 97 or eachCharNum > 122) then set firstDig to round (eachCharNum / 16) rounding down set secondDig to eachCharNum mod 16 if firstDig > 9 then set aNum to firstDig + 55 set firstDig to ASCII character aNum end if if secondDig > 9 then set aNum to secondDig + 55 set secondDig to ASCII character aNum end if set numHex to ("%" & (firstDig as string) & (secondDig as string)) as string set useChar to numHex end if set theTextEnc to theTextEnc & useChar as string end repeat return theTextEnc end urlencode on setDate(theDueDate) set theDate to (date string of theDueDate) set newDate to the (date (theDate & " " & timeDue)) -- tell application "GrowlHelperApp" to notify with name notifySuccess title "test" return newDate end setDate[/CODE] |
Hi [email]smorr@indev.ca[/email],
[QUOTE=smorr@indev.ca;76810]I have taken the liberty to modify the script created by simplicityIsBliss to add further MailTags compatibility. This works really well if you set the criteria of the outbox rule to be tickle date is more than 0 days after today. (ie the future), it will run the script when you send a message with a tickle date on and add the task to OmniFocus. [/QUOTE] the script works fine - except the problem with assigned nested projects - is there any progress or workaround for this issue? Thank you for your support! Gregory |
Since updating to Lion, this script no longer seems to work. Is it a script issue or a Mailtags issue?
|
[QUOTE=ckennedy;100432]Since updating to Lion, this script no longer seems to work. Is it a script issue or a Mailtags issue?[/QUOTE]
Are you running the preview build of MailTags 3? Our understanding is that AppleScript support has been temporarily removed from that version of the product. |
The latest preview of Mailtags has added back applescript and it now functions---partly.
The script now places a task in my OF inbox, but it no longer appends the task with the name of the email recipient-The task name is simply the name of the Subject line for the email. |
All times are GMT -8. The time now is 03:29 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.