2018年04月18日

Radicale と CardDavMate

 Radicale の続き。DAVdroid を使った Android との連携はうまくいったが、Mac 上でも見られるようにしておきたい。カレンダーの方は以前から Thunderbird の Lightning アドオンを使っている。これは何も問題なくて、次のようにすればよい。

  • 「予定とToDo」から「カレンダー」を開く。
  • 「カレンダー」リストで右クリックして、「新規カレンダー」を選ぶ。
  • 「ネットワークのサーバーに保存」
  • フォーマット=CalDAV, 場所=http://localhost:5232/nagata/calendar, オフラインサポート=ON
  • カレンダーの名前・色・アラーム通知(私は無指定にしている)を決める
  • ログイン名とパスワードを要求されるので、入力する

 問題は連絡先の方。Mac 純正の「連絡先」は一応 CardDAV サーバにアクセスできるはずなのだが、うまくいった試しがない。Thunderbird の CardBook というアドオンも試してみたが、ふりがなが表示されないなど、いろいろと不便。そこで、CardDavMate というのを試してみることにした。これは Javascript で書かれていて、ブラウザ上で動作する。セットアップが複雑で理解するのに苦労したが、できてしまえば簡単だった。

  • CardDavMate をダウンロード・解凍する。
  • config.js を開き、var globalNetworkCheckSettings={ という記述を探して、以下のように変更。
    var globalNetworkCheckSettings={
    // 以下4行をコメントアウト
    //	href: location.protocol+'//'+location.hostname+
    //		(location.port ? ':'+location.port: '')+
    //		location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+
    //		'/caldav.php/',
    	href: "http://localhost:5232/", // 追加
    
  • Radicale の config を開き、次の記述を追加。これは、クロスドメインによる Javascript の制約を回避するもの。
    [headers]
    Access-Control-Allow-Origin = *
    Access-Control-Allow-Methods = GET, POST, OPTIONS, PROPFIND, PROPPATCH, REPORT, PUT, MOVE, DELETE, LOCK, UNLOCK
    Access-Control-Allow-Headers = User-Agent, Authorization, Content-type, Depth, If-match, If-None-Match, Lock-Token, Timeout, Destination, Overwrite, Prefer, X-client, X-Requested-With
    Access-Control-Expose-Headers = Etag, Preference-Applied
    
  • CardDavMate の index.html をブラウザで開くと、名前とパスワードを入れる画面が出るので、入力する。うまくいけば連絡先のリストが出てくるはず。出てこなければ、ブラウザのエラーコンソールを見て対策を考える。

 ふりがなの表示には対応しているが、エントリの表示が「名前の漢字表記順」になっていて、「ふりがなの順」になっていないのは残念。まあ、Mac 上で連絡先を編集することはあまりないので、このぐらいは我慢しようか。

Posted at 2018年04月18日 20:13:29
email.png