Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Calendar Server 管理ガイド 

第 13 章
カレンダーの管理

この章で説明する内容は次のとおりです。カレンダーのプロビジョニングや管理を行うための Calendar Server コマンド行ユーティリティの使用方法を説明します。


カレンダー管理の概要

ここで説明する内容は次のとおりです。

カレンダーのタイプ

カレンダーには 2 つの基本タイプがあります。2 つのタイプについて、以下に説明します。

カレンダー用の Schema 1 ツール

Schema 1 モードのときに使用するユーティリティは以下の 3 つです。

カレンダー用の Schema 2 ツール

Schema 2 モードの場合は、cscal を使用して、ユーザーカレンダーとリソースカレンダーの両方を作成し、管理します。


commadmin ユーティリティには、カレンダー管理のためのコマンドがありません。


cscal を実行するには、Calendar Server が稼動しているシステムの管理者権限を持つユーザーとしてログインする必要があります。commadmin 以外のコマンド行ユーティリティについては、付録 D 「Calendar Server のコマンド行ユーティリティのリファレンス」を参照してください。


カレンダーの一意の識別子 (calid) の作成

Calendar Server データベース内の各カレンダーは、一意のカレンダー識別子 (ID) または calid によって識別されます。カレンダーを作成するとき、calid を指定する必要があります。

ここで説明する内容は次のとおりです。

Calid 構文

データベース内の各カレンダーは、一意のカレンダー ID (calid) によって識別されます。次のcalid 構文には、指定する項目が 3 つあります。

userid[@domain][:calendar-name]

指定する 3 つの項目は次のとおりです。

カレンダー ID の作成規則

calid を作成する場合、次の規則を念頭に置いてください。

以下に適切なカレンダー ID の例を示します。
jsmith
jsmith:private_calendar
jsmith@calendar.sesta.com:new-cal

ホストしていない Calid からホストされたドメイン形式の Calid への変換

ホストされたドメインを持つ前に作成された calid があり、ホストされていないドメインの calid からホストされたドメインの calid へ変換する場合、既存の calid にドメイン部分を追加するために使用できる csvdmig というユーティリティがあります。このユーティリティの使用方法については、「csvdmig」を参照してください。


ユーザーカレンダーの自動プロビジョニング

自動プロビジョニングはユーザーカレンダーだけを対象としています。リソースカレンダーは明示的に作成する必要があります。

自動プロビジョニングが有効になっている場合は、ユーザーカレンダーを明示的に作成する必要はありません。自動プロビジョニングを使用すると、ユーザーが最初にログインしたときにデフォルトカレンダーが作成されます。

Calendar Server は、その名前のカレンダーが存在しない限り、ユーザー ID からこの新しいデフォルトカレンダーのカレンダー ID (calid) を作成します。

たとえば、ユーザー ID が jsmith の John Smith が初めて Calendar Server にログインするときに、Calendar Server は calid として jsmith が設定されたデフォルトカレンダーを自動的に作成します。それ以降に John Smith が作成する各カレンダーの calid は、カレンダー名の先頭に jsmith: が追加されます。たとえば、John Smith があとで meetings という名前の新しいカレンダーを作成する場合、ホストしていない環境内の新しいカレンダーの calidjsmith:meetings です。


デフォルトカレンダーを持たないユーザーが参加予定者として指定される場合、Calendar Server はカレンダーが見つからないことを示すエラーを返します。


自動プロビジョニングを有効にするには、以下のようにします。

自動プロビジョニングを無効にするには、以下のようにします。


カレンダーのアクセス制御

SunTM ONE Calendar Server は、アクセス制御リストを使用して、カレンダー、カレンダープロパティ、予定や仕事 (作業) などのカレンダーコンポーネントへのアクセスを制御します。

ここで説明する内容は次のとおりです。

アクセス制御の設定パラメータ

表 13-1 は、Calendar Server がアクセス制御に使用する、ics.conf ファイル内の設定パラメータを示しています。詳細については、付録 E 「Calendar Server の設定パラメータ」を参照してください。

表 13-1 アクセス制御の設定パラメータ 

パラメータ

説明

calstore.calendar.default.acl 

ユーザーがカレンダーを作成したときに使用されるデフォルトのアクセス制御設定を指定する。デフォルトは次のとおり

"@@o^a^r^g;@@o^c^wdeic^g;@^a^fs^g;@^c^^g;@^p^r^g"

calstore.calendar.owner.acl

カレンダー所有者のデフォルトのアクセス制御設定を指定するデフォルトは次のとおり

"@@o^a^rsf^g;@@o^c^wdeic^g".

resource.default.acl

リソースカレンダーを作成したときに使用されるデフォルトのアクセス制御設定を指定する。デフォルトは次のとおり

"@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

公開、非公開の予定と仕事、およびフィルタ

新しい予定または仕事を作成するときに、ユーザーは予定または仕事に公開、非公開、または時刻と日付のみの公開 (極秘) を指定できます。

Calendar Server フィルタが非公開の、および時刻と日付のみが公開される (極秘の) 予定と仕事を認識できるかどうかは、calstore.filterprivateevents によって決定されます。このパラメータはデフォルトで yes に設定されます。calstore.filterprivateevents を no に設定すると、Calendar Server は非公開の、および時刻と日付のみが公開される予定と仕事を、公開されているものと同様に扱います。

アクセス制御のためのコマンド行ユーティリティ

表 13-2 は、アクセス制御用の ACL を設定または変更するための Calendar Server コマンド行ユーティリティを示しています。

表 13-2 アクセス制御のためのコマンド行ユーティリティ

ユーティリティ

説明

cscal

特定のユーザーまたはリソースのカレンダーの ACL を設定するときは、-a オプションを指定して create コマンドまたは modify コマンドを実行する

csresource

Schema 1 モードで csresource を使用してリソースカレンダーを作成している場合、リソースカレンダーに ACL を設定するには、csresource ユーティリティに -a オプションを指定して実行する

commadmin user

csuser

commadmin ユーティリティを使用して、ユーザーがカレンダーを作成するときに使用するデフォルト ACL を変更する

ユーザーがカレンダーを作成するときに使用するデフォルト ACL を変更するには、 csuser ユーティリティに -a オプションを指定して実行する


カレンダーの作成

ここで説明する内容は次のとおりです。

cscal を使用したユーザーカレンダーの作成

新しいカレンダーを作成するには、cscal ユーティリティの create コマンドを使用します。ユーザーまたはリソースのエントリは、LDAP ディレクトリ内にすでに存在している必要があります。LDAP ディレクトリへのユーザーやリソースの追加については、第 12 章「ユーザーとリソースの管理」を参照してください。

サイトで LDAP カレンダー検索データベース (CLD) プラグインを使用している場合、ユーザーまたはリソースのエントリの icsDWPHost LDAP 属性で指定されているのと同じバックエンドサーバー上で特定のユーザーまたはリソースのすべてのカレンダーを作成する必要があります。別のバックエンドサーバーにカレンダーを作成しようとすると、cscal ユーティリティはエラーを返します。LDAP CLD プラグインについては、第 9 章「カレンダー検索データベースプラグインの設定」を参照してください。

たとえば、jsmith というカレンダー ID (calid) を持つカレンダーを新規作成するには、次のように実行します。

cscal -o jsmith -n JohnSmithCalendar create jsmith

John Smith が所有する Hobbies という表示名のカレンダーを作成し、グループスケジュール機能のアクセス制御設定を適用するには、次のように実行します。

cscal -n Hobbies -o jsmith create Personal

次の例は、前の例に似たカレンダーを新規作成しますが、カレンダーを sports というカテゴリに関連付け、複数のユーザーからの予約を有効にして Ron Jones というもう一人の所有者を指定します。

cscal -n Hobbies -o jsmith -g sports -k yes -y rjones create Personal

次の例は、前の例と似たカレンダーを作成しますが、グループスケジュール機能のアクセス制御設定が適用されます。

cscal -n Hobbies -o jsmith -a "@@o^a^sfr^g" create Personal

ここで、-a "@@o^a^sfr^g" は、このカレンダーのコンポーネントとカレンダーの両方のプロパティに対するグループスケジュール機能のスケジュール権限、空き時間 / 予定ありの設定権限、読み取りアクセス権限を、他の所有者に与えます。

リソースカレンダーの作成準備

リソースカレンダーは、スケジューリングが可能な会議室、ノートパソコン、OHP、その他の機器などに関連付けられます。リソースカレンダーにはアクセス制御リストが必要です。

ics.conf ファイルの 2 つの設定用パラメータがリソースカレンダーに適用されます。

表 13-3 に示すように、これらのパラメータのデフォルト値を変更するには、ics.conf ファイルを編集します。デフォルト値の変更は、新しいリソースカレンダーだけに適用されます。既存のリソースの値は変更されません。既存のリソースカレンダーの値を変更する場合は、 cscal ユーティリティまたは commadmin resource modify コマンドを使用する必要があります。csresource ユーティリティには modify コマンドはありません。

詳細については、付録 E 「Calendar Server の設定パラメータ」を参照してください。

表 13-3 ics.conf ファイルに指定できるリソースカレンダーの設定パラメータ 

パラメータ

説明

resource.default.acl

このパラメータには、リソースカレンダーの作成時にデフォルトで適用されるアクセス制御設定を特定する。デフォルトのアクセス許可は、次の ACL (アクセス制御リスト) によって指定される

"@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

この ACL は、コンポーネントとプロパティの両方に対する読み取り、スケジュール、空き時間 / 予定ありの設定アクセス権をすべてのカレンダーユーザーに付与する。

リソースに対するアクセス権を変更するには、csresource ユーティリティの create コマンドを使用してカレンダーを作成するときに -a オプションを指定する

resource.allow.doublebook

このパラメータには、リソースカレンダーが複数のユーザーからの予約を許可するかどうかを指定する。複数のユーザーからの予約が許可される場合、リソースカレンダーでは同時に複数の予定をスケジュールできる

デフォルトは「No」で、複数のユーザーからの予約は許可されない

リソースカレンダーの複数のユーザーからの予約を許可するには、csresource ユーティリティの create コマンドを使用してカレンダーを作成するときに -k オプションを指定する

新しいリソースカレンダーの作成

Calendar Server では、リソースカレンダーの自動プロビジョニングが行われることはありません。サイトに必要なリソースごとに、csresource ユーティリティの create コマンドを使用して手動でリソースの LDAP エントリのプロビジョニングを行い、カレンダーデータベースにカレンダーを作成する必要があります。リソースカレンダーを作成するときは、次の点に注意してください。

たとえば、カレンダー ID が aud100、表示名が Auditorium (LDAP cn 属性)、および表 13-3 に示すデフォルトの設定を持つリソースカレンダーを作成するには、次のように実行します。

csresource -c aud100 create Auditorium

次のコマンドは、前の例と同じように機能しますが、-k オプションによってカレンダーでの複数のユーザーからの予約が許可され、-o オプションによってカレンダーの所有者が bkamdar に設定されます。また、-y オプションによってもう一人の所有者が jsmith に設定されます。

csresource -c aud100 -k yes -o bkamdar -y jsmith create Auditorium

リソースカレンダーの所有者を指定しない場合、ics.conf ファイルの service.admin.calmaster.userid パラメータの値が適用されます。


Calendar Server の通知ソフトウェアは、リソースに通知を送信するようにプログラミングされていません。通知を受け取るのはユーザーだけです。



ユーザーカレンダーの管理

ユーザーカレンダーの作成が完了すると、cscal ユーティリティを使用して次の管理作業を実行できます。

カレンダーの表示

すべてのカレンダー、あるユーザーが所有するすべてのカレンダー、または特定のカレンダーのプロパティを表示するときは、cscal ユーティリティの list コマンドを使用します。

たとえば、カレンダーデータベース内のすべてのカレンダーを表示するには、次のように実行します。

cscal list

jsmith が所有するすべてのカレンダーを表示するには、次のように実行します。

cscal -o jsmith list

カレンダー ID が jsmith:meetings のカレンダーのすべてのプロパティを表示するには、次のように実行します。

cscal -v list jsmith:meetings

カレンダーの削除

エンドユーザーは Calendar Express を通じてカレンダーへの登録を解除できますが、エンドユーザーが Calendar Server データベースからカレンダーを削除することはできません。カレンダーの削除は、システムの管理権限を持つ管理者が行う必要があります。

Calendar Server から 1 つまたは複数のカレンダーを削除するには、cscal ユーティリティの delete コマンドを使用します。このユーティリティはカレンダーを削除しますが、ディレクトリサーバーからユーザーを削除することはありません。


警告

delete コマンドはすべてのカレンダー情報をカレンダーデータベースから削除します。実行した処理を取り消すことはできません。カレンダーを削除すると、それを復元できるのはカレンダーデータがバックアップされている場合だけです。詳細については、第 15 章「Calendar Server データのバックアップと復元」を参照してください。


cscal ユーティリティを使用して、1 つのカレンダーまたは複数のカレンダーを削除できます。

たとえば、jsmith:meetings というカレンダー ID を持つカレンダーを削除するには、次のように実行します。

cscal delete jsmith:meetings

一次所有者が jsmith のすべてのカレンダーを削除するには、次のように実行します。

cscal -o jsmith delete

カレンダーの無効化と有効化

ユーザーがカレンダーにアクセスできないようにするには、cscal ユーティリティの disable コマンドを使用します。disable コマンドはユーザーによるカレンダーへのアクセスを禁止しますが、カレンダーデータベースから情報を削除するわけではありません。

たとえば、ユーザーが jsmith:meetings にアクセスできないようにするには、次のように実行します。

cscal disable jsmith:meetings

カレンダーを有効化してユーザーがカレンダーにアクセスできるようにするときは、cscal ユーティリティの enable コマンドを使用します。たとえば、デフォルト設定を適用した jsmith:meetings カレンダーを有効化するには、次のように実行します。

cscal enable jsmith:meetings

jsmith:meetings カレンダーを有効化し、複数のユーザーからの予約を禁止するには、次のように実行します。

cscal -k no enable jsmith:meetings

カレンダープロパティの変更

カレンダーのプロパティを変更するには、cscal ユーティリティの modify コマンドを使用します。

たとえば、AllAdmins のグループスケジュール設定のアクセス制御設定を変更し、もう一人の所有者として RJones を指定するには、次のように実行します。

cscal -a "@@o^c^wd^g" -y RJones modify AllAdmins

カレンダーからのプロパティの消去

カレンダーからプロパティ値を消去するには、cscal ユーティリティの modify コマンドを使用し、オプションの値を 2 つの二重引用符 ("") で指定することで対象となるオプションを指定します。

たとえば、jsmith:meetings から説明を消去するには、次のように実行します。

cscal -d "" modify jsmith:meetings

jsmith:meetings からすべてのカテゴリを消去するには、次のように実行します。

cscal -g "" modify jsmith:meetings

jsmith:meetings からその他の所有者を消去するには、次のように実行します。

cscal -y "" modify jsmith:meetings

失われたカレンダーの復元

ユーザーのデフォルトカレンダーが Calendar Express の「表示」タブまたは「カレンダー」タブには表示されないが、データベースには存在する場合、LDAP エントリの次の属性を更新することで、カレンダーを復元できます。

ここで、default_calid はユーザーのデフォルトカレンダーの ID (calid) です。

ldapmodify Directory Server ユーティリティ、csuser reset コマンド、または commadmin user modify を使用できます。Schema 1 の場合は、csattribute add コマンドを使用して属性を更新できます。


リソースカレンダーの管理

リソースカレンダーと属性の表示

リソースカレンダーを表示するには、csresource ユーティリティの list コマンドを使用します。

たとえば、Calendar Server のすべてのリソースカレンダーと、それに対応する LDAP 属性を表示するには、次のように実行します。

csresource list

Auditorium という特定のリソースカレンダーのすべての LDAP 属性を表示するには、次のように実行します。

csresource -v list Auditorium

リソースカレンダーの変更

リソースカレンダーを変更するには、cscal ユーティリティの modify コマンドを使用します。csresource には modify コマンドはありません。

たとえば、Auditorium というリソースカレンダーに所有者として tchang を設定し、もう一人の所有者として mwong を設定するには、次のように実行します。

cscal -o tchang -y mwong modify aud100

この例では、cscal ユーティリティはカレンダー名 (Auditorium) ではなく、calid (aud100) を必要とします。

リソースカレンダーの無効化と有効化

ユーザーが予定をスケジュール設定できないようにするには、リソースカレンダーを無効化する必要があります。たとえば、改修中で会議室を利用できない場合や、OHP が修理中の場合などがこれに該当します。

リソースカレンダーの無効化と有効化には、csresource ユーティリティの enable コマンドまたは disable コマンドを使用します。

たとえば、Auditorium というリソースカレンダーを無効化するには、次のように実行します。

csresource disable Auditorium

後からリソースカレンダーを有効な状態に戻すには、次のように実行します。

csresource enable Auditorium

リソースカレンダーの削除

リソースカレンダーを削除するには、csresource ユーティリティの delete コマンドを使用します。

たとえば、Auditorium というリソースカレンダーを削除するには、次のように実行します。

csresource delete Auditorium

Calendar Server は次のメッセージを表示します。

Do you really want to delete this resource (y/n)?

カレンダーを削除するときは「y」を入力し、処理をキャンセルするときは「n」を入力します。

「y」を入力すると、Calendar Server はカレンダーを削除し、削除が完了したことを示すメッセージを表示します。


カレンダーへのリンク設定

各カレンダーに対する読み取りアクセスが許可されている場合は、1 つまたは複数のユーザーカレンダーまたはリソースカレンダーへのリンクを作成することができます。たとえば、カレンダーへのリンクを Web ページや電子メールメッセージに埋め込むことができます。その他のユーザーは、Calendar Server にアクセスすることなく匿名でカレンダーを表示できます。

1 つまたは複数のユーザーカレンダーへのリンクを作成するには、次の構文を使用します。

http://hostname:port/[command.shtml]?calid=calid-1;calid-2; ... ;calid-n&view =viewname

複数のカレンダー ID (calid) を区切るときは、セミコロンを使用します。

viewname には、overviewdayviewweekview、または monthview を指定できます。yearview を指定することもできますが、これは便利ではありません。

注 : ビュー (またはその他の) オプションを指定せずに 1 つのカレンダーだけに対するリンクを設定するときは、command.shtml を省略します。

たとえば、jsmith のデフォルトカレンダーへのリンクは、次のようになります。

http://calendar.sesta.com:8080/?calid=jsmith

calidoverhead_projector10 の OHP のリソースカレンダーへのリンクは、次のようになります。

http://calendar.sesta.com:8080/?calid=overhead_projector10

ただし、jsmithtchang のデフォルトカレンダーを日別ビューで表示するリンクは、次のようになります。

http://calendar.sesta.com:8080/command.shtml?calid=jsmith;tchang&
view=dayview


カレンダーデータのインポートとエクスポート

カレンダーデータをファイルにエクスポートしたり、ファイルからインポートしたりするには、csexport ユーティリティと csimport ユーティリティを使用します。サポートされているカレンダーデータの形式は、iCalendar (.ics) と XML (.xml) です。

csexportcsimport は、Calendar Server がインストールされているマシンでローカルに実行する必要があります。Calendar Server は稼動中でも停止していても構いません。

カレンダーデータのエクスポート

カレンダーデータをファイルにエクスポートするときは、csexport を使用します。ファイルの形式は、出力ファイルに指定する拡張子 (.ics または .xml) によって決定されます。

たとえば、カレンダー ID (calid) が jsmithcal のカレンダーを iCalendar 形式 (text/calendar MIME) の jsmith.ics というファイルにエクスポートするには、次のように実行します。

csexport -c jsmithcal calendar jsmith.ics

この jsmithcal カレンダーを XML 形式 (text/xml MIME) の jsmith.xml というファイルにエクスポートするには、次のように実行します。

csexport -c jsmithcal calendar jsmith.xml

カレンダーデータのインポート

csexport ユーティリティを使用して作成したファイルからカレンダーデータをインポートするときは、csimport を使用します。保存されているインポートファイルの形式は、そのファイルの拡張子 (.ics または .xml) で示されます。

たとえば、カレンダー ID (calid) が jsmithcal のカレンダーに iCalendar 形式 (text/calendar MIME) で保存された jsmith.ics というファイルからデータをインポートするには、次のように実行します。

csimport -c jsmithcal calendar jsmith.ics

この jsmithcal カレンダーに XML 形式 (text/xml MIME) で保存された jsmith.xml というファイルからデータをインポートするには、次のように実行します。

csimport -c jsmithcal calendar jsmith.xml

指定したカレンダー ID (calid) がすでに存在する場合、そこに含まれる古いデータは新しいデータのインポート前にクリアされます。



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.