[Update 2017-01-23] – originál script nedobieha, aktualizovaná verzia je tu.
Musím sa priznať. Delegovanie úloh mám rád. Nieže by som bol typ človeka, ktorý sa chce zbaviť zodpovednosti, ale sú múdrejší, šikovnejší a kompetentnejší než ja.
Informácie alebo úlohy na ktoré čakám si zaznamenávam do OmniFocus. Nezáleží na tom, či je to úloha delegovaná na mňa, alebo som ja delegoval úlohu na niekoho. Stále skončí v prvej fáze v Inboxe OmniFocus.
A keďže niektoré úlohy alebo informácie lietajú emailom, hľadal som spôsob, ako mnou zaslaný email, ktorý v sebe obsahuje požiadavku na splnenie úlohy alebo prosbu o informáciu, čo najjednoduchšie dostať do OmniFocus. S cieľom mať nad nimi kontrolu a keď príde správna chvíľa, pripomenúť sa.
Vyžaduje to trochu nenáročného šudlania a nastavovania, ale výsledok stojí zato.
Úvod
Než prejdeme k detailom, celý fór spočíva v nastavení pravidiel odchodzej pošty, kde sa pri splnení definovanej podmienky spustí AppleScript, ktorý vykoná všetku ťažkú prácu. V Inboxe OmniFocus z odoslaného emailu vytvorí novú úlohu v tvare:
“Čakám na –” + predmet emailu
Zároveň do poznámky vloží prelink na pôvodný email [1] a telo emailu v plain text.
Koncepciu dal dokopy Sven Fechner zo SimplicityBliss. Jeho povôdný AppleScript prešiel mnoho zmenami na OmniFocus fóre, ja som si ho upravil aby viac vyhovoval mojim potrebám.
Prerekvizity
- Apple Mail
- OmniFocus Pro
- Mail Act-on
- MailTags
Mail Act-on a MailTags su plug-iny, ktoré do Apple Mail pridávajú nové možnosti a funkcionality. Možete si ich stiahnuť na stránkách vývojárov. Ich cena sa pohybuje okolo $30 USD za každý a pred zakúpením je možné využiť 30 dňovú Trial verziu.
V základe žial Apple Mail neponúka možnosť definovať pravidlá odchodzej pošty, pridáva ju práve Mail Act-on.
OmniFocus
U osôb s ktorými často spolupracujem alebo komunikujem mám vytvorený vnorený kontext, napr. PeFo. Ten sedí pod nadradeným kontextom Waiting. Možno by vás mohlo zaujímať prečo toto nastavenie. Odpoveď je Perspektívy. V prípade, že na niečo čakám a nemám vytvorený špecifický kontex, používam nadradený kontext Waiting.
MailTags
Po inštalácií Plug-inu pridajte na záložke Keywords tagy. Tag predstavuju podmienku [2]. Keď bude priradený k odchodziemu emailu, spustí sa AppleScript. V mojom nastavení sa pod každým nadefinovaným keyword/tag skrýva konkrétny kontext Waiting. Ako som spomínal, pre ľudí s ktorými často spolupracujem mám vytvorený kontext. Zároveň Tag @Waiting je prvá hladina kontextu Waiting v OmniFocus. Uznávam, že to zatiaľ nemusí byť úplne jasné, ale pokračujte, verím, že sa vyjasní.
Mail Act-on
Nainštalujte plug-in, prejdite na Preferences -> Rules – > Outbox Rules a pridajte nové pravidlo.
Zadajte požadovaný názov a definujte podmienku. V spodnej časti vyberte z combo boxu Run AppleScript, vo vedľajšom combo boxe kliknite na Open in Finder. Do otvoreného adresára uložte nasledovný AppleScript, resp. môžete si ho stiahnuť tu a priraďte ho k akcii Run AppleScript.
(* ### SCRIPT ### Track sent Emails from Apple Mail in OmniFocus as Waiting for… ### POPIS ### Script z odoslaného emailu vytvorí novú úlohu v Inboxe OmniFocus, v poznámke úlohy vytvorí prelink na originálny email a text emailu, priradí definovaný kontext ### SCRIPT JE POSKYTOVANÝ "AS IS"### @autor: Tomáš Földi @URL: cookiemash.cz @dátum: 201405 ### REFERENCIE ### Sven Fechner - simplicitybliss.com http://simplicitybliss.com/post/126028916167/repost-adding-waiting-for-emails-to-omnifocus http://forums.omnigroup.com/showthread.php?t=12810 *) ------ nastaviť Prefix a Context ------ -- zadajte kontext pod ktorým sledujete úlohy "Čakám na... property myWFContext : "Waiting" -- Zadajte text, ktorý sa bude zobrazovať na začiatku tasku property myWFTaskTitle : "Čakám na -- " ----- upravujte len v prípade, že viete čo robíte --------- using terms from application "Mail" on perform mail action with messages theMessages tell application "Mail" repeat with eachMessage in theMessages set theTitle to the subject of eachMessage set theNotes to the content of eachMessage set theMessageID to the message id of eachMessage set MessageURL to "message:///<" & (theMessageID) & ">" --Create new inbox item in "OmniFocus" tell application "OmniFocus" tell front document set myTaskTitle to myWFTaskTitle & theTitle set myContext to (first flattened context where name is myWFContext) set myNewTask to make new inbox task with properties {name:myTaskTitle, context:myContext} tell note of myNewTask insert "Original Message" & (ASCII character 10) & (ASCII character 10) & return & theNotes at before paragraphs set value of attribute "link" of style of characters -1 thru -17 of first paragraph to MessageURL end tell --DISPLAY Notification set notificationTitle to "Send to OmniFocus" set notificationSubtitle to "Task in Inbox created successfully" set notificationMessage to myTaskTitle display notification notificationMessage with title notificationTitle subtitle notificationSubtitle sound name "Purr" delay 1 end tell end tell end repeat end tell end perform mail action with messages end using terms from
Ja som si pridal ďalšiu akciu Clear all MailTags. Nepotrebujem sledovať zaslaný email v Mail.app pretože ho už sledujem v OmniFocus.
Blížime sa do finále
Pri priradení tagu ( ⌃ + ⌘ + T) a následným odoslaním emailu sa spustí preddefinovaný AppleScript, ktorý vytvorí úlohu v Inboxe OmniFocus. Pre každý tag mám upravený AppleScript tak, aby bol naviazaný na správny kontext.
Pri čistení Inboxu v OmniFocus v prípade potreby upravujem názov úlohy, priraďujem Projekt, pracujem s Defer Date a Due Date.
Asi to nie je to úplne najlacnejšie riešenie. Ale aj keď by som pominul ďalšie možnosti a pridanú hodnotu Mail Act-on a MailTags, aj tak som presvedčený, že to za tie prachy stojí. Mne určite. Mám dokonalý prehľad komu som čo poslal a načo čakám, na jeden klik sa dostanem na pôvodne zaslaný email a môžem spraviť tak obľúbený a všetkými milovaný FollowUpíček.