コンポーネントをグループにまとめ、1 つのコンポーネントとしてインストールしなければならない場合は、必ず、コンポーネントタイプ system#container を使用します。コンテナコンポーネントにはインストールブロック、アンインストールブロック、およびスナップショットブロックがあります。これらのブロックは子コンポーネントを自動的に呼び出します。このような呼び出しによって、コンテナコンポーネントの XML を編集しなくても、コンテナは Component Builder ユーザーインタフェースを使用することによって、子コンポーネントを直接追加できます。
コンテナコンポーネントタイプは複合コンポーネントであり、ブラウズできません。
この比較では、任意ですべての子コンポーネントのスナップショットを得ます。
default スナップショットブロックは、各子のdefault スナップショットブロックを使用することによって、installMode=“NESTED” が設定されたすべての子コンポーネントのスナップショットを取得します。
コンポーネントタイプ system#container には次の手続きが定義されています。
default install block – installMode=“NESTED” が設定されている子コンポーネントだけをインストールします。
markOnly install block – すべての入れ子になった子コンポーネントについて markOnly インストールブロックを呼び出し、このコンポーネントにインストール済みのマークを付けます。
default uninstall block – installMode=“NESTED” が設定されている子コンポーネントだけをアンインストールします。
markOnly uninstall block – すべての入れ子になった子コンポーネントについて markOnly アンインストールブロックを呼び出し、このコンポーネントにアンインストール済みのマークを付けます。
default snapshot block – createSnapshot が true に設定されている場合は、すべての子コンポーネントのスナップショットを取得します。installMode=“NESTED” が設定されている子コンポーネントだけがインストールされます。createSnapshot はデフォルトで false に設定されます。
スナップショットは常に有効なわけではありません。別のコンポーネントの入れ子コンポーネントとして配備されているコンポーネントは、createSnapshot=“false” を設定して配備してください。すべての包含コンポーネントが配備されたあとで、コンテナコンポーネントがこのコンポーネントのスナップショットを取得するからです。上位レベルとして配備されているコンポーネントは、createSnapshot=“true” を設定することによってスナップショットを使用できます。
コンポーネントがコンテナコンポーネントに含まれている場合、スナップショットは取得されません。このコンポーネントのあとでほかの包含コンポーネントが配備されると、このコンポーネントのインストール状態に影響を及ぼす可能性があります。したがって、スナップショットは上位レベルのインストールが完了してから取得します。