iManagerプラグインの場合、ドライバ設定ファイルに対して複数のノードタイプが定義されています。以下は、Identity Managerエンジンでサポートされているアクションの一覧です。
単一のドライバ設定ファイル全体で繰り返し使用される値の入力が一度求められます。
ドライバのインポートウィザードの途中で、複数のドライバ設定ファイルで使用される値の入力が一度求められます。
ユーザが、値のドロップダウンリストから値を選択できます。
含まれているXSLスタイルシートに従い、ドライバ設定ファイルがグローバルに変更されます。
ドライバとその環境に関する情報にアクセスするために宣言しなくても、参照できる組み込み変数。たとえば、ツリー名、ドライバセット名、ドライバセットDN、サーバ名、サーバDN、ドライバ名、およびドライバDN。
プロンプトを階層化する機能。ユーザに複数のセットの質問を尋ね、2つ目以降のセットをユーザの最初の質問セットに対する応答でコントロールすることができます。詳細については、セクション C.2, ドライバ設定ファイルの柔軟なプロンプトを参照してください。
主な新しいノードタイプは次のものです。
variable-decl: インポート中に入力を求められ、ドライバ設定ファイルに配置されるドライバ設定変数を定義できます。複数のvariable-declブロックを、プロンプトの階層セットを定義するために使用できます。詳細については、セクション C.2, ドライバ設定ファイルの柔軟なプロンプトを参照してください。
variable-ref: ドライバ設定ファイル内のvariable-declで定義された変数を参照するために使用されます。
xsl-modify: すべての変数およびプロンプトが解決された後で、ドライバ設定ファイルをグローバルに変更するために使用されます。このノードのコンテンツは、パッチ済みのドライバ設定ファイルに適用されるXSLスタイルシートとして抽出および使用されます。
ドライバ設定ファイルのXML拡張子を表示するには、DriverConfigXMLExtension.txtを参照してください。
また、以下の点に注意してください。
variable-declsには、text-varは含めることができますが、node-varは含められません。解決される順番が考慮に入れられる場合は、variable-refsを含めることができます。
variable-declにオプションのprompt属性およびオプションのprompt-type属性が含まれていて、オプションのbrowse=“yes”属性設定が含まれていない場合、prompt-typeは次のように処理されます。
prompt-type"ipa"の結果は、2つの編集フィールドに格納されます。例については、図 C-1を参照してください。最初の部分にユーザが指定する値にはコロン(:)が追加され、値の2番目の部分にユーザが指定する値は変数でレンダリングされます。
図 C-1 2つの編集フィールド
prompt-type"パスワード"の結果は、2つのパスワード編集フィールドに格納されます。例については、図 C-2を参照してください。最初のプロンプトは実際のパスワード用で、2番目のプロンプトは最初のフィールドに指定したパスワードが正しいことを検証するために使用されます。変数参照でレンダリングされた値はパスワードです。
図 C-2 2つのパスワードフィールド
フィールド内のprompt-type"非表示"の結果は、表示されませんが、次の画面に進む前に以前の条件が満たされていることはチェックされます。
その他のprompt-typeは無視されます。
variable-declにprompt属性のほかにオプションのdescription属性が含まれている場合、descriptionがプロンプトとともにUI内に表示されます。description属性の目的は、単純なプロンプトとともに求められている内容を完全に記述することにあります。
例:
<text-var var-name="eProv.Company" prompt="Company name:" description="Please enter the name of your company. This must be the same name as you entered during the initial installation." browse="no"> Novell </text-var>
promptとdescriptionの違いを説明します。
variable-declにオプションのdescription属性とオプションのhighlight属性が含まれている場合、highlight属性は次のように処理されます。
長さが2文字以外のhighlightは、無視されます。
highlightの長さが2文字の場合、最初の文字のすべてのオカレンスの前に強調表示をオンにするHTMLタグがあり、2番目の文字のすべてのオカレンスの後に強調表示をオフにするHTMLタグがきます。
例:
<text-var var-name="foo" prompt="Foo:" description="Please enter some foo. Format: [foo looks like this]"> Bar </text-var>
descriptionが表示されると、[foo looks like this]が強調表示されます。
variable-declにbrowse=“yes”属性が含まれている場合、DNを提供し、ドライバ設定ファイルに適用されるときに、デフォルトでスラッシュ(/)形式でフォーマットされると想定されます。
これは、一般的にドライバライタにはより有用であると想定されており、dn-format=“dot”属性をそれを参照するvariable-refノードに追加することで、参照ごとに上書きすることができます。
variable-refがprompt-type="ipa"属性が設定されたtext-varに対するものである場合、part="..."属性をvariable-refに含めることができます。 サポートされている部分は、"ipa"と"port"です。part="ipa"が指定されている場合、変数値のIPアドレス部分のみが返されます。part="port"が指定されている場合、変数値のポート部分のみが返されます。その他の設定は無視され、変数の値全体が返されます。
variable-declにbrowse="yes"が指定されていないvariable-refのdn-fromatでは、変数がDNを提供するかのように扱われます。DNは指定したdn-formatでレンダリングされます。
dn-format属性でサポートされている値は、 "ドット"と"スラッシュ"です。 その他の値は"スラッシュ"として扱われ、エラーは生成されません。
定義済みの組み込み変数は以下のとおりです。
System.TreeName
System.DSetDN
System.DSetName
System.DriverDN
System.DriverName
System.ServerDN
System.ServerName
組み込み変数は上書きできます。組み込み変数名のいずれかの名前が付いた変数にvariable-declを含める場合、その定義により同じ名前の組み込み変数が上書きされます。
これは、すべての変数宣言が処理(プロンプト、...)された後で実装されます。コードによる値の適用が開始される前に、変数が確認され別の方法で定義されていないすべての組み込み変数が定義されます。
DNを提供する組み込み変数には、variable-refにdn-format属性を含め、DNがレンダリングされる形式を制御できます。デフォルトでは、これらはスラッシュ形式でレンダリングされます。
node-varとtext-varは、同じものとして名前を付けることはできません。これらは同じネームスペースを使用します。
variable-refがnode-varを参照し、attr-nameが含まれる場合、node-varのXSL文字列値がvariable-refの親ノードの名前付き属性に保存されます。この方法で使用されるnode-varには、node-name 属性の"#text"を設定できます。これにより、node-varにattr-name属性を設定する必要がなくなります。
ノード名"#text"のnode-varは、この方法でのみ参照できます。その他の参照では、ドライバ設定ファイルがインポートされたときにエラーが生じることがあります。
ユーザがプロンプトに応答し、XMLが実際にインポートされる前のパッチ時には、パッチは、以下の順序で行われます。
text-var variable-refsが処理されます。
node-var variable-refsが処理されます。
xsl-modifyコマンドが処理されます。
ds-objectコマンドが処理されます。
パッチはvariable-declで実行されるため、node-varコマンドがパッチされるときには、それらに含まれるすべてのtext-varコマンドが解決されています。
node-varコマンドには、node-var variable-refを含めることができません。
選択したドライバ設定ファイルが処理される順序は定義できないので、順序を想定することはできません。
variable-declコマンドの場合
選択したドライバからのコマンドは、ドライバからドライバに渡されます。
最初のドライバが優先されます。
変数fooを定義する最初に遭遇するドライバの変数fooが、残りすべてのドライバ設定ファイルに使用されます。これらのドライバ間の調整は注意して行ってください。
複数のドライバ設定ファイルで使用される変数fooは、それを宣言する最初のドライバ設定ファイルで一度だけプロンプトされます。
組み込み変数は、ドライバ間に伝達されません。これには、組み込み変数を上書きするために定義するすべての変数が含まれます。各ドライバの組み込み変数は、個別に処理されます。
その他のプロンプトは、各ドライバ設定ファイルのインポート順の最初に変更なしで処理されます。
柔軟なプロンプトでサポートされているプロンプトレイヤの詳細については、セクション C.2, ドライバ設定ファイルの柔軟なプロンプトを参照してください。