サイボウズ6とiCalの連携
著
この数日いろいろ試行錯誤してきたけれど、サイボウズ6とiCalの連携について自分の期待通りの動作がようやく自宅のMacBook上で実現できたので、手順を覚え書きしておきます(大部分はSummerWindのmoさんに教わったようなものですがw)。moさんに加え、Cybozu2ICalの作者である小川宏高氏にあらかじめ御礼申し上げます、ありがとうございました。
- ActivePerlをインストールします。正直、Mac向けにもActivePerlがあるとは知りませんでしたよ。OS XにはデフォルトでPerlがインストールされていますが、そこはmoさんのアドバイスに従うことに。導入したバージョンは5.8.8.822で、基本インストーラの指示通りに。インストール先は新規に作成される/usr/local/ActivePerl-5.8ディレクトリになります。
- 以下のCPANモジュールをインストールします。ここで注意すべきポイントは、cpanをsudoで実行すること(sudo /usr/local/ActivePerl-5.8/bin/cpan)。途中訊かれる質問には、脊髄反射でデフォルト内容でOK(ただしCPAN初期設定時にレポジトリの場所を問われたら、AsiaとJapanを適切に選択、サーバ指定はお好みで)。
- Data::ICal
- DateTime
- Text::CSV_XS
- YAML
- Crypt::SSLeay
- Cybozu2ICalをインストールします。ダウンロードして解凍したディレクトリを適当に設置(自分の場合は~/apps/utils/cybozu2icalディレクトリとしました)。同じディレクトリにあるconfig.yaml.sampleファイルをコピーしてconfig.yamlにリネームし、内容を適切に書き換えます。ここでのポイントは以下のとおり。
- サイボウズ6のURLはHTTPSで接続するほうのURLを記述すること。Basic認証が設定されていることにも要注意。
- usernameは使わないのでコメントアウト。
- Automatorでアプリケーションを作成します。単純に「シェルスクリプトを実行」を選択、内容としては~/apps/utils/cybozu2icalディレクトリに移動して/usr/local/ActivePerl-5.8/bin/perlがcybozu2icalスクリプトを実行、結果を~/Sites/cybozu2ical/cybozu.icsに出力させる2行を書いてアプリケーション形式で保存。
- 先ほど作ったアプリケーション(cybozu2ical.app)を手動で実行しても良いのですが、更新し忘れるといやなので、cronで自動実行させるようにします。crontabで編集しても良いけれど、GUIのCronnixを使うとラクです。テスト時には毎分実行させてましたが、今は毎時0分にタスク(open /path/to/cybozu2ical.app)を実行しています。
- パーソナルWeb共有を有効にして cybozu.icsをiCalから自動更新可能なかたちで参照できるようにします。セキュリティのため自分自身のIPからしかアクセスできないようあらかじめ/etc/httpd/httpd.confを書き換えておきます(その場所のままでは編集できないので、一旦別の場所にコピーしたものを書き換えてから置き換え)。
- iCalにcybozu.icsを登録。URLはwebcal://localhost/~username/cybozu2ical/cybozu.icsになります。自動更新の頻度は15分に1度としています(cybozu2ical.appの実行頻度よりマメに)。これでスケジュールがサイボウズ6からiCalに(一方通行ですが)同期します。
[2008-02-27追記] その後、繰り返し予定に絡み若干の不具合があったのですが、バージョン0.20 (2007-10-17 17:16:49 +0900)に対し、ひらたさんが作成・公開されているパッチを適用すると、良い感じです。ありがとうございます!>ひらたさん