<component> 要素は <memberList> 要素の子要素で、プラグイン JAR ファイルでコンポーネントを宣言するために使用されます。このコンポーネントにより参照されるすべてのオブジェクトは、このプラグイン、またはこのプラグインが直接依存するプラグインで、事前に定義されている必要があります。
<component> 要素には次の 3 つのオプションの子要素が含まれます。
<systemService>
<componentType>
<resource>
<component> 要素には次の 2 つの属性があります。
jarPath – コンポーネント XML ファイルの位置で、プラグイン JAR のルートに相対的です (先頭の / または . 文字は使用できません)。コンポーネント XML の書式は、プランおよびコンポーネント言語の仕様により指定されます。詳細は、第 3 章「コンポーネントのスキーマ」を参照してください。
majorVersion – コンポーネントを新しいメジャーバージョンとしてチェックインするかどうかを決定するオプションの属性。デフォルトは false です。
<systemService> 要素は <component> 要素の子要素で、包含コンポーネントにより返されるシステムサービスの宣言に使用されます。この要素は <componentType> 要素とは併用できません。<component> 要素内で <systemService> 要素が使用されると、コンポーネントがロードされ、そのコンポーネントを参照する <systemServiceRef> が作成されます。システムでシステムサービスが作成される際に、システムサービス名にはプラグイン名の接頭辞が付けられます。
<systemService> 要素には次の 2 つの属性があります。
名前の最大長は 64 文字です。名前は文字またはアンダースコアで始まる必要があり、そのあとには任意の数の文字、数字、または特殊文字 (アンダースコア (_)、ピリオド (.)、プラス記号 (+)、マイナス記号 (-)、および空白 ( ) など) が続きます。Unicode 文字および数字が使用できます。
<componentType> 要素は <component> 要素の子要素で、包含コンポーネントにより返されるコンポーネント型の宣言に使用されます。<componentType> 要素は <systemService> 要素とは併用できません。<component> 要素内で <componentType> 要素が使用されると、コンポーネントがロードされ、そのコンポーネントにより返されるコンポーネント型が作成されます。システムでコンポーネント型が作成される際に、コンポーネント型名にはプラグイン名の接頭辞が付けられます。
コンポーネント型は、プラグインによりグループ化され、これらのグルーピング内でのコンポーネント型の順序により順序付けられます。グルーピングは、プラグインの順序に従って順序付けられます。特定のプラグイン内では、コンポーネント型により定義された個々のグループ名の下で、コンポーネント型がインデントされます。
<componentType> 要素には次の 5 つの属性があります。
name – コンポーネント型の名前。
名前の最大長は 64 文字です。名前は文字またはアンダースコアで始まる必要があり、そのあとには任意の数の文字、数字、または特殊文字 (アンダースコア (_)、ピリオド (.)、プラス記号 (+)、マイナス記号 (-)、および空白 ( ) など) が続きます。Unicode 文字および数字が使用できます。
description – コンポーネント型のオプションの説明。
group – このコンポーネントがコンポーネント型の階層の一部である場合の、コンポーネント型のグループ名。
グループ名は、コンポーネント型名と同じ要件に従います。また、グループは hidden として宣言できます。このように宣言すると、「component list 」ページのコンポーネント型のドロップダウンリストでは型が表示されません。
order – ブラウザインタフェースのコンポーネント型のドロップダウンリストで、このコンポーネント型を配置する場所を特定する番号です。
order は、最大 18 文字です。Unicode 文字および数字のほかに、ASCII キーボードで入力できるすべての文字が使用できます。order によって、特定のプラグイン内で定義されているすべての型を順序付けられる必要があります。
indentLevel – 0 から 10 までの番号で、ブラウザインタフェースのコンポーネント型の階層でこのコンポーネント型をインデントするレベルを特定します。
<resource> 要素は <component> 要素の子要素であり、JAR ファイル内でのリソースファイルの名前と位置を指定します。リソースは、常に単純ファイル型のリソースとしてチェックインされます。<resource> 要素を含んだコンポーネントは、<resourceRef> 要素が <resource> 要素で作成されたリソースを参照する単純コンポーネントである必要があります。
<resource> 要素には次の 3 つの属性があります。
jarPath – プラグイン JAR ファイルのルートに相対的な、リソースファイルの位置。先頭の / または . 文字は使用できません。ディレクトリ型リソースの場合、このパスはディレクトリであると見なされ、/ で終わると想定されています。このディレクトリ内のすべてが、このリソースの内容を定義します。
majorVersion – リソースを新しいメジャーバージョンとしてチェックインするかどうかを決定するオプションの属性。デフォルトは false です。
name – リソースの名前であるオプションの属性。指定されていない場合、名前はデフォルトで絶対 jarPath になります。このパスは、相対として指定されている場合は絶対に変換されます。
config – このリソースが構成テンプレートであるかどうかを指定するオプションの属性。デフォルトは false です。
type – リソースがファイルとディレクトリのどちらであるかを指定するオプションの属性。ファイルリソースには FILE を使用します。ディレクトリリソースには DIRECTORY を使用します。デフォルトは FILE です。
checkInMode – ディレクトリ型リソースを置換するか、追加するかを指定するオプションの属性。このリソースのチェックインにより既存のバージョンを置換する必要がある場合は、REPLACE を使用します。チェックインをリソースに追加する必要がある場合は、ADD_TO を使用します。デフォルトは REPLACE です。この属性は、DIRECTORY の「型」を持つリソースにのみ適用されます。
descriptorPath – プラグイン JAR ファイルのルートに相対的な、リソース記述子ファイルへのパスを指定するオプションの属性。先頭の / または . 文字は使用できません。リソース記述子ファイルの形式は、第 5 章「リソース記述子スキーマ」で説明されている、リソース記述子スキーマに従います。
リソース記述子ファイルが指定されていない場合、N1 SPS マスターサーバーのデフォルトのファイルシステム設定からアクセス権の情報が使用されます。この場合、所有者とグループは格納されません。これは、記述子から省略された設定にも当てはまります (リソース内のファイルのエントリが存在しない場合、またはエントリが部分的である場合)。