LDAP スキーマの拡張方法としては Domino® LDAP スキーマデータベースの使用をお勧めします。Domino ディレクトリを使用してスキーマを拡張する必要があるのは、Notes® または Web ユーザーがディレクトリ内の文書から新しいスキーマ要素にアクセスする必要がある場合のみです。
始める前に
以下の点を確認します。
- 作業しているのが [Domino ディレクトリ] テンプレートのコピー (例えば、ACMENAMES.NTF) であること。
- ACL で、[設計者] または [管理者] のアクセス権が設定されていること。
このタスクについて
Domino ディレクトリに新しく追加したオブジェクトクラスに属性を定義するには、該当するサブフォームにフィールドを追加します。
注: [ListName] フィールドまたは [ServerName] フィールドは追加しないでください。
手順
-
Domino Administrator または Notes クライアントで、属性の名前を選択し、以下の手順を実行して、この属性が既に使用されているかどうかを確認します。
-
LDAP サービスを実行しているサーバー上の、Domino LDAP スキーマデータベース (SCHEMA.NSF) を開きます。
-
ビューを選択します。
-
オブジェクトクラスに定義しようとしている属性の名前を全文検索します。
-
以下のいずれかを実行します。
- 検索によって、[LDAP name] フィールドに検索した属性名が含まれる文書が返されるときは、属性文書内の対応する [Notes マッピング (Notes mapping)] フィールドの値を新しいフィールドの名前として使用します。
- 検索によって、[LDAP Name] フィールドに検索した属性の名前が含まれる文書が返されないときは、検索に使用した属性名を使用します。
-
Domino Designer で、Domino ディレクトリのコピー (例えば、ACMENAMES.NTF) を開きます。
-
以下のいずれかを実行します。
- 新しい補助オブジェクトクラスに属性を定義するには、補助オブジェクトクラス用のサブフォーム (building など) を開きます。
- 新しい構造化オブジェクトクラスの属性を定義する場合は、オブジェクトクラスの [$xxxInheritableSchema] サブフォーム ([$acmePrinterInheritableSchema] サブフォームなど) を開きます。次に、属性が必要な場合は [必須] タブを、必要ない場合は [オプション] タブを選択します。
-
を選択します。
-
[名前] プロパティに手順 1 で決定した名前を指定します。
-
[種類] プロパティに次のいずれかのデータ型を選択し、[編集可能] チェックボックスをオンにしておきます。
表 1. データ型
この Domino データ型を選択 |
LDAP 属性の構文 |
テキスト |
ディレクトリ文字列 |
日付/時刻 |
標準時 |
数値 |
整数 |
名前 |
識別名 |
- オプション:
すべてのエントリに対してこの属性に値が指定されるようにするには、次の手順を実行します。
-
フィールドを選択します。
-
サブフォームの最後にある [オブジェクト] ペインで [入力の確認] を選択します。
-
次の入力有効式を入力します。
@V2If(fieldname = ""; @Failure("fieldname is required"); @Success)
ここで、fieldname は新規フィールドに指定した名前です。
例えば、shoesize
フィールドを追加し、すべてのエントリでこのフィールドの値が指定されるようにするには、次の式を入力します。
@V2If(shoesize = ""; @Failure("shoesize is required"); @Success)
-
サブフォームを保存し、閉じます。