org-gcal.elにグーグルカレンダーとOrgファイルを同期するコマンドを追加しました
- 2015.03.29
- Emacs

一年ほど前にリリースしましたorg-gcalにグーグルカレンダーとOrg-modeのスケジュール情報を同期させるコマンドを追加しました。MELPAやel-getのレシピもありますので、お好きな方法でアップデートしてください。
これまで、Orgファイル上で修正、または新規に作成したイベントは org-gcal-post-at-point
を実行しないとGoogle側にPOSTできませんでしたが、新しく設けた org-gcal-sync
を使えば、わざわざ org-gcal-post-at-point
を実行せずとも、変化点を自動的に認識してGoogle側にPOSTしてくれるようになります。
同期プロセス
同期の仕組みは非常にシンプルで、およそ次のような流れで同期します。
- Googleのサーバにアクセスする度にイベント情報をキャッシュして永続化
- キャッシュしたイベント情報とOrgファイルのイベント情報を比較。
- キャシュしたイベント情報とOrgファイルのイベント情報が異なる場合、またはキャシュしたイベント情報の中にOrgファイルのイベント情報がそもそも見つからない場合、そのイベント情報をGoogleのサーバにPOST
- 再度、Googleのサーバ情報をfetch
既知の問題
このように、今のところ非常にシンプルな同期プロセスなので、いくつか制限があります。
まず、同一のイベントをGoogleカレンダーとOrgファイルの両方で編集していた場合、Orgファイルでの変更が優先されます。これについては、どちらの変更を採用するのかをたずねる対話的なインターフェイスを追加する予定です。
それと、orgファイル上で削除したイベントは、同期プロセスの中では削除されたことを認識できません。この問題については、スマートに解決する方法が見つかりそうにないので、削除用のコマンドを新たに追加する予定です。
まだ、いろいろと片づけておくべきこともありますが、これまでと比べると格段に便利になったと思います。是非お試しください。
-
前の記事
org-multiple-keymap.el v0.2 をリリースしました 2015.03.22
-
次の記事
calfw-org.elでGoogleマップが見られるようになりました 2015.04.12