今まで動かなかった原因は、CardDavMATEとCardDAVサーバが異なるドメイン(具体的には、ポート番号が違う)にあったからのようだ(このことは、CardDavMATEのデモのconfig.jsを見てひらめいた)。そこで、CardDavMATEのディレクトリをCardDAVサーバのドキュメントルート下に移動して、HTTPサーバーとCardDavMATEの設定を少し修正したら、動き出した。CardDavMATEのディレクトリの移動は、例えば、CardDAVサーバのドキュメントルートが/var/www/carddav/だったら、以下のような操作を実行する。

sudo mv carddavmate /var/www/carddav/
sudo chown -R www-data:www-data /var/www/carddav/carddavmate

あと、肝となるCardDavMATEの設定箇所(config.js)を以下に書いておく(基本的にサンプルのままだし、一部を伏せてしまっているので、参考にならないかも知れないが)。

var globalNetworkCheckSettings={href: location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '')+location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+'(CardDAVサービスのパス)', hrefLabel: null, crossDomain: false, additionalResources: [], forceReadOnly: null, withCredentials: false, showHeader: true, settingsAccount: true, checkContentType: true, syncInterval: 60000, timeOut: 30000, lockTimeOut: 10000, delegation: false};

CardDAVサービスのパスは、例えば、/carddav.php/addressbooks/

本来は、crossDomaintrueにすれば異なるドメインでも動くはずなのだが、バグがあるのだろう。あと、パッケージに添付されているconfig.jsには、この定義の行の最後に";"がないので、注意が必要(もしかしたら、これが原因で動かなかったのかも知れない)。

こうすると、例えば、http://carddav-host.my-domain.net:7890/carddavmate/でCardDavMATEのログイン画面にアクセスでき、そこでCardDAVサービスのIDとパスワードを入れると、そのIDのアドレス帳が表示される。

で、早速使ってみたのだが、機能が貧弱だ。。。カテゴリーでの分類ができず、単に指定したエントリを表示するだけ。あとは検索やエントリの追加もできるようだが、日本語での検索はものすごく遅く、僕の環境では、追加はいつまで経っても終わらない。まあ予想通りではあったが、「これだったら、(当たり前だけど)gmailの方がずっといいなあ」と思って、結構脱力した。

念のために書くが、config.jsはwgetなどで取得できてしまうので、globalAccountSettings(IDとパスワードをconfig.jsに書く設定)は使うべきでない。

PS. 使ってみて、CardDAVやCalDAVのアプリをJavaScriptだけで書くのは、無理があると思った。スピードやセキュリティの点で、サーバー側でスクリプトを実行した方が、ずっといいと思う。

PS2. もし、僕がJavaScriptやHTMLが得意なら、カテゴリーでの分類機能を追加して、使うんだけどなあ。。。(6:22)

  •   0
  •   0

4件のコメント

  1. 小塚 貴之:

    突然で申し訳ありません。
    今、carddavmateをセットアップをしています。
    インストール、起動までは出来たのですが、各アドレス帳の1件しか表示されない状況で困っています。
    config.jsのgrobalSortAlphabetやgrobalSearchTransformAlphabet関係を変更しましたが、まったく変わりません。
    何かご存じでしたら、お返事頂けませんでしょうか?
    よろしくお願いします。

    •   0
    •   0
  2. PiuLento:

    ●小塚さん、はじめまして。お読み下さりありがとうございます。

    残念ながら、思い当たる事はございません。何となく、DAVサーバーとcarddavmateの相性が悪いのかなと思います。お役に立てずごめんなさい。

    •   0
    •   0
  3. 小塚 貴之:

    Piu Lentoさん
    ご存じないですか・・(T_T)
    DAVとの相性ですか?・・・もうすこしがんばってみます。
    突然の質問ですみませんでした。
    何かわかったら、また連絡します。
    ありがとうございます。

    •   0
    •   0
  4. PiuLento:

    ●小塚さん、僕も何か気付いたら、お知らせしたいと思います。よろしくお願いします。

    •   0
    •   0

コメントを書く

名前    

メール 

URL