今日も昨日に引き続き Mac ネタ.ただし,iPad も絡みます.
現在,タスク管理は iPhone アプリである Domo Todo+ というものを使っています.残念ながら iPad 用アプリではないのですが,インターフェースが非常によく,作業に時間が取られないため使い続けています.
Domo Todo は,以下の特徴を持っています.
- タイトルの入力,日付の選択(1週間以内はタッチのみでよい),必要であれば時間の設定,タグの付加だけという簡単な入力スタイルです.タイトルが入力できてしまえば,後は数秒で完了になります.
- タスクを終了させると,タイトルにチェックマークが付きます.また,繰り返し設定がされている場合には,該当する次の日付に新しい ToDo を作成してくれます.
- ToDo はアプリで見られるだけでなく,Google Calendar の特定のカレンダー(私は domo Todo としています)にイベントとして登録されます.
- 逆に Google Calendar にイベントを登録すると Domo Todo+ 内の ToDo として表示されます.
この最後の二つの機能のおかげで,iPad の他のアプリや Mac との連携が非常に容易になっています.
iPad に関して
Mac に関して
- iPad のカレンダーと同様,iCal で Google カレンダーを同期することで,Domo Todo+ で入力したタスクをカレンダー上に一覧表示することができます.この時,domo Todo カレンダーだけは,メインカレンダーからの「委任」機能ではなく,domo Todo カレンダーを直接同期するように設定します.
- iPad のメール同様 Mail.app で,日付の入ったメールから,カレンダーイベントを作成できます.イベント作成時に domo Todo カレンダーを選択することで,Domo Todo+ の ToDo となります.この時,カレンダー一覧には,委任機能で同期しているカレンダーが表示されないため,上記のように直接カレンダーを同期する必要があるのです.
Redmine のチケットからの ToDo 作成
職場では Redmine と呼ばれる Ruby on Rails ベースのプロジェクト管理システムを利用しています.このシステムではさまざまなタスクがチケットという形で管理されます.他人への仕事の依頼がある場合には,チケットを発行します.この時,担当者や監視者にメールが送信されます.せっかく作業依頼のメールが届くので,このメールを自動処理して Google カレンダーに登録する仕組みを作成しました.→ 参考にしたサイト
- AppleScript の作成
- 以下のような AppleScript を記述し,Library/Scripts/Applications/AppleScript エディタ/setDomoTodo.scpt として保存する
using terms from application "Mail" on perform mail action with messages theMessages for rule theRule tell application "Mail" set theText to "This AppleScript is intended to be used as an AppleScript rule action, but is also an example of how to write scripts that act on a selection of messages or mailboxes." & return & return & "To view this script, hold down the option key and select it again from the Scripts menu." repeat with eachMessage in theMessages tell application "Mail" activate set theSubject to subject of eachMessage set theMessageId to message id of eachMessage set theReceived to date received of eachMessage end tell tell application "iCal" activate set an_event to make event at end of events of calendar ("domo Todo") tell an_event set summary to theSubject set start date to theReceived set end date to theReceived set description to "<message:%3C" & theMessageId & "%3E>" end tell end tell end repeat end tell end perform mail action with messages end using terms from
- Mail.app のルールの追加
- Mail.app のルールを以下のように追加する
- 説明は適当に記述します.
- 条件は以下のように設定します.
- 「以下の操作を実行」は以下のように設定します.
- 「AppleScript を実行」を選択し,上記の setDomoTodo.scpt を選択します.
- 「メッセージを移動」を選択し,Redmine 用のに作成したフォルダを選択します.
- 「ルールの評価を停止する」を選択します.
(新規)だけでなく(フィードバック)についても同様にルールを作成します.
これで設定は終了です.Redmine にチケットが新規で投稿されたとき,サブジェクトをタイトルとしたイベントが Google Calender に登録されます.その結果,Domo Todo+ にも Todo として登録されることになります.Todo の完了日付は本来文章内の期日が登録されるべきですが,そこまで AppleScript を書く技術がないので,メールの送信日時に設定しています.どちらにしても,タグを設定するために Domo Todo+ で修正するので今のところ問題にしていません.