org-modeとToodledoを連携してどこでもタスク管理

2012–08–22

これまでorg-modeで編集するファイルをDropBoxで連携して、いろんなPCでorg-modeでタスク管理をやっていました。 OSなんてWindows,Linux,Macとてんでバラバラの環境でもEmacsとDropboxが入れば連携できる素晴らしい環境でした。 これまではこれで満足な環境だったのですが、以下のような機能が欲しくなりました。

  • リマインダーメール機能が欲しい
  • ipadでもタスク管理をやりたい

リマインダーメールはともかく、org-modeと連携してipadでタスク管理をやりたいならMobileorgなのかもしれないけど、同期の手順が煩雑なので敬遠していました。 そこで目をつけたのがToodledoです。Toodledoはリマインダーメールの機能も備えていますし、org-modeとToodledoの連携を行うorg-toodledoがあります。 Toodledoに連携さえ出来れば、ipad専用のToodledoアプリでタスク管理できます。

インストール

環境はEmacs-24、Emacsの24系から正式導入されたパッケージ管理システムを用いて導入しました。MELPAからインストールするため、下記の設定を~/.emacs.d/init.elに追加して有ります。

 (require 'package)
 (add-to-list 'package-archives
              '("melpa" . "http://melpa.milkbox.net/packages/") t)
 (package-initialize)	  

M-x package-list-package を実行して、一覧に表示されるorg-toodledoをインストールします。

org-toodledoの設定

下記の設定を~/.emacs.d/init.elに追加します。

 (require 'org-toodledo)
 (setq org-toodledo-userid "Account Setting画面のUnique ID")
 (setq org-toodledo-password "パスワード")
 ;; 保存時に常に同期する。確認を行うときは "ask"を指定する
 (setq org-toodledo-sync-on-save "yes")
 ;; フォルダーを第一階層の名称に使う
 (setq org-toodledo-folder-support-mode 'heading)

 ;; Useful key bindings for org-mode
 (add-hook 'org-mode-hook
           (lambda ()
             (local-unset-key "C-o")
             (local-set-key "C-od" 'org-toodledo-mark-task-deleted)
             (local-set-key "C-os" 'org-toodledo-sync)
             )
           )
 (add-hook 'org-agenda-mode-hook
           (lambda ()
             (local-unset-key "C-o")
             (local-set-key "C-od" 'org-toodledo-agenda-mark-task-deleted)
             )
           )
	  

初期連携

さて、下の画像のようなorg-modeのファイルを作りました。 file://20120822/toodledo_emacs.png][Toodledo_Emacs

このファイル上で M-x org-toodledo-initializeを実行すると、「Default heading for Toodledo tasks:」と聞かれるので「Test」を指定すると、下記のようにToodledoに連携されます。

file://20120822/toodledo.png][Toodledo

TODOが付いているものだけ連携され、第3階層のTODOは階層を無視されてはいますが、ちゃんと取り込まれています。 また、リピート設定もうまく連携できています。

日々の連携

Toodledoで追加したタスクはEmacs上で Cntrl-o s で同期されます。 org-modeからToodledoへの連携は、上記のようにorg-toodledo-sync-on-saveを設定していればファイル保存時に自動的に行われます。