会社で先月Microsoft Office 2007を一部導入したので少し調査したのだが、Outlook 2007のiCalendarサポートには致命的な問題があった。ここでの目的は、WebDAVサーバ上に置かれたiCalendarファイルを複数人で更新することだ。

 Outlook 2007でもスケジュールの共有(「WebDAVサーバーに発行」)を行うことはできるのだけど、iCalendarファイルのURIを自分で決められない。ベースディレクトリと予定表の名前は指定できるが、勝手に「_の予定表.ics」が付いたURIになる。あほか。同じOutlook同士であっても言語環境が違えば共有できないし、既存の共有カレンダーを使えないということになる。

 「インターネット予定表」という機能はあるが、これは静的な取り込みであって更新はできない。(WebCalプロトコルならいけるのかもしれないが)

 クライアント側のローカルプロキシで何とかしようと思ったが、そもそもhttps通信では不可能。トンネルを張ってhttpにし、プロクシで書き換えを図ったが、なぜかOutlookはWebDAVにプロクシ設定を使ってくれない。

 ならばとサーバ(Apache+mod_dav)側で凝ったRewriteRuleを書いてみたが、PROPFINDのレスポンスもごまかさないとうまく行かないらしい。面倒なのでこれは最終手段にしたい。

 残るは、以下のようなろくでもない解決策しか思いつかない。

  • 透過プロクシでフィルターする
  • Famやlibeventでディレクトリを監視し、「name.ics」と「name_の予定表.ics」を相互同期する
  • Outlook 2007にバイナリパッチしてURIのサフィックスを変更
  • Outlook 2007に折れて、iCalやGoogle Calendar側の参照URIを変更する

 そんなの(´・д・`)ヤダ。


Categories : Tech