ここまでの作業で既に CalDAV サービスは提供可能な状態になっています。ここからはクライアントの設定、動作確認と DAViCAL によるカレンダーユーザー管理について私自身が把握している使い方のポイントについて触れています。
ここでは専用のバーチャルホストではなく、既存の公開ディレクトリに設置する例で紹介しています。本稿の例では、DAViCAL インターフェイスの URL は以下になります。
ブラウザでアクセスするとログイン画面が表示されます。
ここで、crate-databese.sh を実行時に表示されていた admin のアカウント、パスワードでログインする事が出来ます。
インターフェイスを英語から日本語へ切り替えます。これらの設定はカレンダーユーザー単位で行います。
パスワードも同様で、Admin でログインしてパスワードも変更します。
UsersタブからMy Detailsを選ぶとEdit Calendar Administratorタブが表示されるのでクリックします。
セキュリティ、情報漏えいの観点からデフォルトの管理者名(admin)を別の名前に変更して下さい。
Password、 Date Style、Language を左図のように変更します。確定するにはページ下のUpdateボタンを押します。 押し忘れると変更が適用されないので注意が必要です。
ページ上のタブLogoutをクリックして、一度、ログアウトします。再度、変更したAdmin ユーザー名とパスワードでログインします。
再ログインしなくても変更内容は反映されます。
カレンダーユーザーに対して一つのカレンダー(iCalendarデータ)が存在し、そのカレンダーを誰に対してどのような権限で公開するかが基本的な考え方になると思います。
取り敢えず、自分のアカウントを作成してクライアント側で接続確認を行います。
ユーザータブで表示される新規ユーザーをクリックするとカレンダーユーザーを追加する事が出来ます。
この操作が行えるのはユーザのロール項目で管理者にチェックを入れたユーザーだけです。アクティブ項目ににチェックを入れると作成したカレンダーユーザーで DAViCAL の Webインターフェイスにログインできます。
ページ下の作成ボタンをクリックするとカレンダーユーザーが作成されます。
User Details (ユーザー詳細)のActive (アクティブ)にチェックを入れた場合、カレンダーユーザーに対して DAViCAL Web インターフェイスを提供する事が出来ます。ユーザー毎に DAViCAL Web インターフェイスが必要となるケースは、ユーザー単位でカレンダーの共有設定を許可したい場合に必要です。(後述)
管理者が個々のカレンダー共有を管理したい場合は、チェックを外すようにします。ユーザーが誤って公開したり、パスワードもユーザー側で変更できますので運用に際しては注意する必要があります。
ユーザーを削除するインターフェイスは現在のところ実装されていません。既存ユーザーを変更して、別のユーザーに提供する事は推奨できないため、使わないようにするのが得策です。SQLによるユーザー削除については以下に説明があります。
上記、User Details (ユーザー詳細)のActive (アクティブ)にチェックを入れた場合、カレンダーユーザーのアカウントで DAViCAL にログインする事が出来ます。
カレンダーユーザーは、管理者がユーザー作成時に指定したロール(権限)以外の設定を行う事が出来ます。
カレンダーユーザー自身が誰に対してカレンダーを公開するか個別に決めたい場合には、DAViCAL インターフェイスを提供する必要がありますが、管理者やグループ管理者を立てて管理する場合は、この Web (DAViCAL)ユーザーインターフェイスは必要ありません。User Details (ユーザー詳細)のActive (アクティブ)にチェックを入れないようにします。
Activeにチェックを入れなくてもカレンダークライアントからの接続は可能です。
ここでは CalDAV クライアントに Thunderbird + Lightning、又は Sunbird を使用しています。 デフォルトでは作成した CalDAV ユーザーのPATH は以下のようになります。 既に DAViCAL インターフェイスにアクセス出来ているので接続できる筈です。
このパスが事実上、iCalendar ファイルのパスになります。(DAViCAL は DBで管理) この情報を Web ページ上で公開する方法は以下に説明があります。
このパスが事実上、iCalendar ファイルのパスになります。この情報を Web ページ上で公開する方法は以下に説明があります。CalDAV_Display と Pear's Date、JQuery が必要です。
User Contributions - DAViCAL Wiki
カレンダーメニュー > "新しいカレンダー" でカレンダーを追加します。ネットワークサーバーに保存するを選んで次へ。
フォーマットに CalDAV を選んで次へ。
作成したユーザーアカウント情報を入力すれば Lightning、Sunbird 上で作成したカレンダー、ToDo 情報は DAViCAL サーバー上に保存されます。
ネットワーク上にカレンダー情報を保存する事で複数の端末からカレンダー情報の一元管理が可能になります。
http プロトコルを使用するので手軽です。
User Details (ユーザー詳細)のActive (アクティブ)にチェックが入っているカレンダーユーザーは、DAViCAL Web インターフェイスにログインして誰に対して自分のカレンダーを公開するか自分で決める事が出来ます。
カレンダーユーザー自身がカレンダー情報を共有する場合、自分のアカウントでログインし、"Relationships to this user (このユーザが提供している共有)" 項目で設定します。(下図) 以下の例では読み取りのみ3人のユーザーに許可しています。
提供される側のカレンダーユーザーは、自分のアカウントで DAViCAL インターフェイスにログインすれば確認する事が出来ます。または提供する側が提供される側のユーザーに対して自分のカレンダーURL を何らかの方法で伝えます。
教えてもらった他人のカレンダーURLをクライアントで設定した場合、既にDAViCAL に自分のアカウントにログインしていればパスワードは要求されません。ですので、DAViCAL にアカウントを持たない第三者が勝手にカレンダーを閲覧する事は出来ません。
特定のグループに所属するユーザー同士でカレンダー情報の閲覧を一度に許可する場合の設定例を以下に示します。
カレンダーユーザー毎に DAViCAL Web インターフェイスを提供しないケース、つまり、管理者、およびグループユーザーがカレンダー共有の設定を行うケースにおいて、グループに所属するユーザー同士のカレンダー閲覧を許可する場合の設定例です。
先ず、DAViCAL 管理者でログインしてグループユーザーを作成します。グループユーザーもユーザーと同じ手順で追加します。
ややこしいので名前でグループが判断できるようにした方が良いと思います。
User Details (ユーザー詳細)のActive (アクティブ)にチェックを入れる事でグループ管理者に一任できます。
ユーザーロールのグループにチェックを入れて、ユーザー単位でグループに対して共有を行う事も出来ます。
このあたりのインターフェイスや要領は自分も良く分かっていませんので、いろいろ試してみて下さい。取り敢えずこの方法でグループに所属するユーザー同士のカレンダーを閲覧する事が出来ます。