Campaign エクスプローラーナビゲーションツリーの設定 configuration
エキスパートユーザーは、エクスプローラーツリーにフォルダーを追加してカスタマイズできます。
Campaign エクスプローラーとナビゲーション階層について詳しくは この節を参照してください。
ナビゲーションリストで使用されるフォルダーのタイプは、xtk:navtree スキーマの文法に従う XML 文書に記述されます。
XML ドキュメントは、次のような構造になっています。
<navtree name="name" namespace="name_space">
<!-- Global commands -->
<commands>
...
</commands>
<!-- Structured space for adding a folder -->
<model name="<name>" label="<Label>">
<!-- Folder type -->
<nodeModel>
...
</nodeModel>
<model name="<name>" label="<Sub model>">
...
</model>
</model>
</navtree>
XML ドキュメントには、ドキュメントの名前と名前空間を指定する name 属性と namespace 属性を持つ <navtree>
ルート要素が含まれています。 名前と名前空間は、ドキュメント ID キーを構成します。
アプリケーションのグローバルコマンドは、<commands>
要素からドキュメント内で宣言されます。
ファイルタイプの宣言は、<model>
および <nodemodel>
の要素を持つドキュメント内で構造化されます。
グローバルコマンド global-commands
グローバルコマンドを使用すると、アクションを開始できます。 このアクションは、入力フォームまたはSOAP呼び出しにすることができます。
グローバルコマンドは、メインの ツール メニューからアクセスできます。
コマンドの設定構造は次のとおりです。
<commands>
<!-- Description of a command -->
<command name="<name>" label="<label>" desc="<Description>" form="<form>" rights="<rights>">
<soapCall name="<name>" service="<schema>">
<param type="<type>" exprIn="<xpath>"/>
...
</soapCall>
<enter>
...
</enter>
</command>
<!-- Separator -->
<command label="-" name="<name>"/>
<!-- Command structure -->
<command name="<name>" label="<Label>">
<command...
</command>
</commands>
グローバルコマンドの説明は、次のプロパティを使用して <command>
要素に入力します。
- name: コマンドの内部名:名前は一意で入力する必要があります
- label: コマンドのラベル。
- desc: メイン画面のステータスバーに表示される説明。
- form:起動するフォーム:入力する値は、入力フォームの識別キー(例:"cus:recipient")です
- rights:このコマンドへのアクセスを許可するネームド権限のリスト (コンマ区切り)。 使用可能な権限のリストには、管理/アクセス管理/ネームド権限 フォルダーからアクセスできます。
- promptLabel: コマンドを実行する前に確認ボックスを表示します。
<command>
要素には、<command>
個のサブ要素を含めることができます。 この場合、親要素を使用すると、これらの子要素で構成されるサブメニューを表示できます。
コマンドは、XML ドキュメントで宣言される順序と同じ順序で表示されます。
コマンド区切り記号を使用すると、コマンド間に区切りバーを表示できます。 コマンドラベルに含まれる '-' 値によって識別されます。
オプションで <soapcall>
タグと入力パラメーターが存在する場合は、実行するSOAP メソッドの呼び出しを定義します。 Campaign API について詳しくは、SOAP JSAPI ドキュメントを参照してください。
フォームコンテキストは、<enter>
タグからの初期化時に更新できます。 このタグについて詳しくは、入力フォームのドキュメントを参照してください。
例:
-
「xtk:import」フォームを起動するグローバルコマンドの宣言
code language-none <command desc="Start the data import assistant" form="xtk:import" label="&Data import..." name="import" rights="import,recipientImport"/>
キーボードショートカットは、コマンドラベルに & が存在することにより、「I」文字で宣言されます。
-
区切り記号を含むサブメニューの例:
code language-none <command label="Administration" name="admin"> <command name="cmd1" label="Example 1" form="cus:example1"/> <command name="sep" label="-"/> <command name="cmd1" label="Example 2" form="cus:example2"> <enter> <set xpath="@type" expr="1"/> </enter> </command> </command>
-
SOAP メソッドの実行:
code language-none <command name="cmd3" label="Example 3" promptLabel="Do you really want to execute the command?"> <soapCall name="Execute" service="xtk:sql"/> </command>
フォルダータイプ folder-type
フォルダータイプを使用すると、スキーマのデータへのアクセス権を付与できます。 フォルダーに関連付けられたビューは、リストと入力フォームで構成されます。
フォルダータイプの設定構造は次のとおりです。
<!-- Structured location to add the folder -->
<model name="name" label="Labelled">
<!-- Type of folder -->
<nodeModel name="<name>" label="<Labelled>" img="<image>">
<view name="<name>" schema="<schema>" type="<listdet|list|form|editForm>">
<columns>
<node xpath="<field1>"/>
...
</columns>
</view>
</nodeModel>
<model name="<name>" label="<Sous modèle>">
...
</model>
</model>
フォルダータイプの宣言は、<model>
要素の下に入力する必要があります。 この要素を使用すると、「新規フォルダーを追加 メニューから表示できる階層組織を定義できます。 <model>
要素には、<nodemodel>
要素と他の <model>
要素を含める必要があります。
name 属性と label 属性は、要素の内部名と、新しいフォルダーを追加 メニューに表示されるラベルを設定します。
<nodemodel>
要素には、フォルダータイプの説明と次のプロパティが含まれます。
- name:内部名
- label: 新しいフォルダーを追加 メニューで使用されるラベルで、フォルダーの挿入時にデフォルトラベルとして使用されます。
- img:フォルダーの挿入時のデフォルト画像。
- hiddenCommands:マスクするコマンドのリスト(コンマ区切り)。 指定可能な値:"adbnew"、"adbsave"、"adbcancel"、"adbdup"
- newFolderShortCuts:フォルダー作成時のモデル上のショートカットのリスト(コンマ区切りの
<nodemodel>
)。 - insertRight、editRight、deleteRight:フォルダーの挿入、編集、削除の権限。
<nodemodel>
要素の下の <view>
要素には、ビューに関連付けられたリストの設定が含まれます。 リストのスキーマは、<view>
要素の schema 属性に入力されます。
リストのレコードを編集するには、リストスキーマと同じ名前の入力フォームを暗黙的に使用します。 <view>
要素の type 属性は、フォームの表示に影響します。 次のような値を選択できます。
- listdet:リストの下部にフォームを表示します。
- リスト:リストを単独で表示します。 フォームは、ダブルクリックするか、リストを選択するメニューの「開く」を介して起動されます。
- form:読み取り専用フォームを表示します。
- editForm:フォームを編集モードで表示します。
<view>
要素に form 属性を入力することでオーバーロードできます。リスト列のデフォルト設定は、<columns>
要素を介して入力されます。 xpath 属性を含む <node>
要素で、列が宣言され、そのスキーマ内で参照されるフィールドがその値として設定されている。
例:「nms:recipient」スキーマのフォルダータイプの宣言。
<model label="Profiles and targets" name="nmsProfiles">
<nodeModel deleteRight="folderDelete" editRight="folderEdit" folderLink="folder"
img="nms:folder.png" insertRight="folderInsert" label="Recipients"
name="nmsFolder">
<view name="listdet" schema="nms:recipient" type="listdet">
<columns>
<node xpath="@firstName"/>
<node xpath="@lastName"/>
<node xpath="@email"/>
<node xpath="@account"/>
</columns>
</view>
</nodeModel>
<nodeModel name="nmsGroup" label="Groups"...
</model>
対応するフォルダー挿入メニュー:
フィルタリングと並べ替えは、リストの読み込み時に適用できます。
<view name="listdet" schema="nms:recipient" type="listdet">
<columns>
...
</columns>
<orderBy>
<node expr="@lastName" desc="true"/>
</orderBy>
<sysFilter>
<condition expr="@type = 1"/>
</sysFilter>
</view>
ショートカットコマンド shortcut-commands
ショートカットコマンドを使用すると、リストの選択時にアクションを開始できます。 アクションは、入力フォームまたはSOAP呼び出しです。
コマンドは、リストの アクション メニューまたは関連するメニューボタンからアクセスできます。
コマンドの設定構造は次のとおりです。
<nodeModel...
...
<command name="<name>" label="<label>" desc="<Description>" form="<form>" rights="<rights>">
<soapCall name="<name>" service="<schema>">
<param type="<type>" exprIn="<xpath>"/>
...
</soapCall>
<enter>
...
</enter>
</command>
</nodeModel>
コマンドの説明は、次のプロパティを使用して <command>
要素に入力します。
- name: コマンドの内部名:名前は一意で入力する必要があります。
- label: コマンドのラベル。
- desc: メイン画面のステータスバーに表示される説明。
- form:起動するフォーム:入力する値は、入力フォームの識別キー(例:"cus:recipient")です。
- rights:このコマンドへのアクセスを許可するネームド権限のリスト (コンマ区切り)。 使用可能な権限のリストには、管理/アクセス管理/ネームド権限 フォルダーからアクセスできます。
- promptLabel: コマンドの実行前に確認ボックスを表示します
- monoSelection:単一選択を強制します(デフォルトでは複数選択)。
- refreshView: コマンドの実行後に、リストを強制的にリロードします。
- enabledIf:入力された式に応じてコマンドをアクティブにします。
- img:リストツールバーからコマンドにアクセスできる画像を入力します。
<command>
要素には、<command>
個のサブ要素を含めることができます。 この場合、親要素を使用すると、これらの子要素で構成されるサブメニューを表示できます。
コマンドは、XML ドキュメントで宣言される順序と同じ順序で表示されます。
コマンド区切り記号を使用すると、コマンド間に区切りバーを表示できます。 コマンドラベルに含まれる '-' 値によって識別されます。
オプションで <soapcall>
タグと入力パラメーターが存在する場合は、実行するSOAP メソッドの呼び出しを定義します。 Campaign API について詳しくは、SOAP JSAPI ドキュメントを参照してください。
フォームコンテキストは、初期化時に <enter>
タグを使用して更新できます。 このタグについて詳しくは、入力フォームドキュメントを参照してください。
例:
<command desc="Cancel execution of the job" enabledIf="EV(@status, 'running')"
img="nms:difstop.bmp" label="Cancel..." name="cancelJob"
promptLabel="Do you really want to cancel this job?" refreshView="true">
<soapCall name="Cancel" service="xtk:jobInterface"/>
</command>
<command label="-" name="sep1"/>
<command desc="Execute selected template" form="cus:form" lmonoSelection="true" name="executeModel"
rights="import,export,aggregate">
<enter>
<set expr="0" xpath="@status"/>
</enter>
</command>
リンクされたフォルダー linked-folder
フォルダー管理操作には、次の 2 種類があります。
- フォルダーはビューです。リストには、スキーマに関連付けられたすべてのレコードが表示され、フォルダーのプロパティにシステムフィルタリングが入力されている可能性があります。
- フォルダーがリンクされている場合:リスト内のレコードは、フォルダーリンクで暗黙的にフィルタリングされます。
リンクされたフォルダーの場合は、<nodemodel>
要素の folderLink 属性を設定する必要があります。 この属性には、データスキーマに設定されたフォルダー上のリンクの名前が格納されます。
データスキーマにおけるリンクされたフォルダーの宣言の例:
<element default="DefaultFolder('nmsFolder', [@_folder-id])" label="Folder" name="folder" revDesc="Recipients in the folder" revIntegrity="define" revLabel="Recipients" target="xtk:folder" type="link"/>
「folder」という名前のフォルダーのリンク上の <nodemodel>
の設定は次のとおりです。
<nodeModel deleteRight="folderDelete" editRight="folderEdit" folderLink="folder"
img="nms:folder.png" insertRight="folderInsert" label="Recipients" name="nmsFolder">
...
</nodeModel>