TOC
CalDAVはRFC4791で標準化されているから導入が簡単なはずと思っていたら全然そんなことなかった
オンラインストレージソリューションであるNextcloudをdocker-composeで運用し始めました。
NextcloudをRaspberry Pi 4にセットアップ(docker-composeで運用)、WebDAVでの動作確認も。
このNextcloudの1機能であるカレンダーはCalDAVに準拠しているはずで、CalDAVはIETFでRFC4791として標準化されています。
RFC 4791 - Calendaring Extensions to WebDAV (CalDAV)
標準化されている仕様はそれぞれのOSでサポートされていて、設定も簡単なんだろうな…という先入観が間違っていたようで、基本的には今回動作確認したOSで標準設定では使うことができませんでした。何らかの追加設定が必要です。
基本的にはGoogleカレンダー等の特定のサービスの方がそれぞれで圧倒的にサポートされているのが現状です。
CalDAVのURL
ブラウザからNextcloudにログインした後、カレンダーを選択したところで≡で開くメニューから「設定とインポート」→「通常のCalDAVアドレスをコピー」を選択するとクリップボードにCalDAVのURLがコピーされます。
今回設定する際に必要な情報は以下の通りです。
- URL http://192.168.1.210:8080/remote.php/dav
- ユーザー名 admin
- パスワード Nextcloudのadminユーザーのパスワード
Ubuntu/Windowsでの設定(Thunderbird+Lightning拡張)
吊るしのThunderbirdとLightningで設定しようとしてもできなかったので、拡張機能を使います。
Ubuntuでの手順を記載します(Windowsではインストール方法やメニューの呼び出し方が異なる程度です)
インストール(ThunderbirdとLightning拡張)
# apt-get install thunderbird xul-ext-lightning
初回起動時のアカウント設定やカレンダーの作成はスキップ
今回はメーラーとしてThunderbirdを使うことはないので、初回起動時のダイアログやカレンダーの作成を全てスキップします。
また、起動時に表示されている「Create a new calendar」も設定しません。
TbSync と Provider for CalDAV & CardDAV のインストール
Thunderbirdを起動したら、まず最初に拡張機能を2つインストールします。
Linux版Thunderbirdの場合
≡メニューから「Add-ons」→「Add-ons」と辿るとアドオンマネージャが表示されるので、ここから「TbSync」と「Provider for CalDAV & CardDAV」をインストールします。
インストールが終わるとAdd-ons Managerはこんな感じになります。
Windows版Thunderbirdの場合
インストールする拡張は一緒ですが、Add-ons Managerの呼び出し方が異なり、メニューの「ツール」→「アドオン」になります。
Provider for CalDAV & CardDAVのアカウント設定
≡→「Add-ons」→「TbSync」と辿ります。
TbSync account managerダイアログが表示されるので、ここで「左下の「Account actions」から「Add new account」→「CalDAV & CardDAV」を選択します。
追加するアカウントの種類を選択する画面が表示されるので、「Manual Configuration」を選択してNext1
任意のアカウント名とNextcloud上のユーザー名、パスワードとCalDAVサーバーのURLを入力してNextを押すと、CalDAVサーバーが見つかれば次に進めます。
内容を確認してFinishを押すとアカウントが作成されます。
TbSync account managerに戻ってきたら、作成したアカウントを右クリックして「Enable account & try to connect to server」を選択します。
同期をする画面になるので、同期するリソースを選んで右下の「Synchronize now」をクリックして同期します。
同期が終わると表示が変わるので、これで設定完了です。
Thunderbirdに戻るので、右上でカレンダーアイコンをクリックすると表示するカレンダーに追加された予定と登録されている予定が表示されます。
Androidでの設定(DAVx5)
DAVx5のインストール
AndroidではDAVx5というアプリをインストールしてOSから扱えるようにします。
DAVx5はGoogle PlayとF-Droidで配布されていますが、Google Playでは600円(執筆時点)ですがF-Droidでは無料でインストールできるので、必要に応じてどちらかからインストールします。
DAVx⁵ | F-Droid - Free and Open Source Android App Repository
DAVx5の設定
アプリのインストールが終わって起動すると初回起動時のチュートリアルのようなものが実行されるので、必要に応じてチェックを付けることになりますが、私はカレンダーのパーミッション以外全てチェックを外しました。(初回起動時点ではチェックしませんでしたが、後でチェックすることになります。)
この時点で選択する項目は以下の通りです。
- Tasks support
- OpenTasks
- Tasks
- Permissions
- All of the below
- Contacts permissions
- Calendar permissions(チェック)
- Regular sync intervals
アカウント追加・設定
初期設定が終わるとアカウントが作成できるようになった表示が出るので、右下のプラスボタンからアカウントを追加します。
CalDAVサーバーのURLとユーザー名、パスワードを入力します。
任意の名前でアカウントを作成します。
アカウントで同期する画面に入るので、CalDAVタブで設定します。この時の画面ではカレンダーのパーミッションを付与していなかったので、PERMISSIONSをタップして設定します。
今回はカレンダーだけ使うので、Calendar permissionsだけ有効にします。
カレンダーのパーミッションを付与すると表示が変わるので、必要に応じて設定を変更します。
設定項目は同期間隔(今回連絡先は無関係なので手動)とリマインダーの有無、無視する過去のイベントの設定あたりは快適に使うために必要かと思います。
アカウントの設定は以上で終了です。これでAndroid上のカレンダーを扱う他のアプリから見えるようになっています。Android上の設定のアカウントからも同期・非同期を設定できます。同期にした場合にどのくらいの頻度で同期するのかは今回は未検証です。
LineageOSのカレンダーアプリから予定を追加してみる
DAVx5の設定が終わったので、試しにLineageOSのカレンダーアプリからカレンダーを使ってみます。
起動画面です。Nextcloudのカレンダーで設定したタスクが表示されています。
予定を追加してみます。カレンダーは今回作成したDAVx5のカレンダーを選択します。
予定がカレンダーに追加され、Nextcloudにも反映されます。
(参考)Windows10のOSの機能でアカウント追加→失敗
Windows10は標準でCalDAVを扱える、扱えないみたいな話が出ていたので試しにやってみた結果良くわからないまま終わりましたという報告です。
スタートメニューからCの中にあるCalendarを起動します。
とりあえず真ん中のアカウントの追加をクリックしてみます。
追加できるアカウントの種類でCalDAVがあるのかと思いましたが、この中で言えば詳細設定以外に該当するものがなさそうだったので、進んでみます。
Exchange ActiveSyncとインターネットメールしかありませんでした。終了です。
ちなみにiCloudを選ぶとどうなるかというと、メールアドレスと「この名前を使用してメッセージを送信」と「パスワード」の入力欄が出てきて何もできません。
スポンサーリンク
- Automatic ConfigurationではNextcloudのカレンダーは設定できませんでした [return]
comments powered by Disqus