設定Campaign Explorer導覽樹狀結構 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檔案包含具有​ 名稱 ​和​ 名稱空間 ​屬性的​ <navtree> ​根專案,以指定檔名稱和名稱空間。 檔案識別金鑰的名稱和名稱空間組成。

應用程式的全域命令是從​ <commands> ​元素的檔案中宣告。

檔案型別的宣告在檔案中結構化,包含下列元素: <model> ​和​ <nodemodel>

全域命令 global-commands

全域命令可讓您啟動動作。 此動作可以是輸入表單或SOAP呼叫。

可從主​ Tools ​功能表存取全域命令。

指令組態結構如下:

<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> ​元素中輸入具有下列屬性的全域命令描述:

  • 名稱:命令的內部名稱:名稱必須輸入且是唯一的
  • label:命令的標籤。
  • desc:可從主畫面的狀態列看到描述。
  • 表單:要啟動的表單:要輸入的值是輸入表單的識別碼(例如「cus:recipient」)
  • rights:允許存取此命令的已命名許可權清單(以逗號分隔)。 可從​ Administration > Access management > Named rights ​資料夾存取可用許可權清單。
  • promptLabel:在執行命令之前顯示確認方塊。

<command> ​專案可以包含​ <command> ​個子專案。 在這種情況下,父元素可讓您顯示由這些子元素組成的子選單。

指令的顯示順序與在XML檔案中宣告的順序相同。

命令分隔符號可讓您在命令之間顯示分隔列。 它由包含在命令標籤中的​ '-' ​值識別。

<soapcall> ​標籤及其輸入引數的選擇性存在性定義要執行的SOAP方法呼叫。 如需SOAP API的詳細資訊,請參閱Campaign JSAPI檔案

從​ <enter> ​標籤初始化時可以更新表單內容。 如需有關此標籤的詳細資訊,請參閱有關輸入表單的檔案。

範例

  • 宣告全域命令以啟動「xtk:import」表單:

    code language-none
    <command desc="Start the data import wizard" form="xtk:import" label="&amp;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> ​專案下輸入。 此元素可讓您定義可從​ Add new folder ​功能表看到的階層式組織。 <model> ​元素必須包含​ <nodemodel> ​元素和其他​ <model> ​元素。

name ​和​ label ​屬性會填入元素的內部名稱和​ Add new folder ​功能表中顯示的標籤。

<nodemodel> ​元素包含具有下列屬性的資料夾型別描述:

  • 名稱:內部名稱
  • labelAdd new folder ​功能表中使用的標籤,並在插入資料夾時作為預設標籤。
  • img:資料夾插入時的預設影像。
  • hiddenCommands:要遮罩的命令清單(以逗號分隔)。 可能的值: 「adbnew」、「adbsave」、「adbcancel」和「adbdup」。
  • newFolderShortCuts:建立資料夾時模型上的捷徑清單(<nodemodel>,以逗號分隔)。
  • insertRighteditRightdeleteRight:插入、編輯和刪除資料夾的許可權。

<nodemodel> ​專案下的​ <view> ​專案包含與檢視相關聯的清單組態。 清單的結構描述是在​ <view> ​專案的​ 結構描述 ​屬性中輸入的。

若要編輯清單的記錄,會隱含使用與清單結構描述同名的輸入表單。 <view> ​專案上的​ type ​屬性會影響表單的顯示。 可能的值包括:

  • listdet:在清單底部顯示表單。
  • 清單:單獨顯示清單。 透過按兩下或透過選取清單時選單中的「開啟」來啟動表單。
  • 表單:顯示唯讀表單。
  • editForm:在編輯模式下顯示表單。
NOTE
在​**<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呼叫。

可從清單的​ Action ​功能表或相關的功能表按鈕存取命令。

指令組態結構如下:

<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:可從主畫面的狀態列看到描述。
  • 表單:要啟動的表單:要輸入的值是輸入表單的識別碼(例如「cus:recipient」)。
  • rights:允許存取此命令的已命名許可權清單(以逗號分隔)。 可從​ Administration > Access management > Named rights ​資料夾存取可用許可權清單。
  • promptLabel:在執行命令之前顯示確認方塊
  • monoSelection:強制單選(預設為多重選取)。
  • refreshView:在執行命令後強制重新載入清單。
  • enabledIf:根據輸入的運算式啟動命令。
  • img:輸入允許從清單工具列存取命令的影像。

<command> ​專案可以包含​ <command> ​個子專案。 在這種情況下,父元素可讓您顯示由這些子元素組成的子選單。

指令的顯示順序與在XML檔案中宣告的順序相同。

命令分隔符號可讓您在命令之間顯示分隔列。 它由包含在命令標籤中的​ '-' ​值識別。

<soapcall> ​標籤及其輸入引數的選擇性存在性定義要執行的SOAP方法呼叫。 如需SOAP API的詳細資訊,請參閱Campaign 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

有兩種型別的資料夾管理作業:

  1. 資料夾是一個檢視:清單會顯示與結構描述相關的所有記錄,並可能在資料夾屬性中輸入系統篩選。
  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"/>

名為「資料夾」的資料夾連結上​ <nodemodel> ​的設定如下:

<nodeModel deleteRight="folderDelete" editRight="folderEdit" folderLink="folder"
  img="nms:folder.png" insertRight="folderInsert" label="Recipients" name="nmsFolder">
...
</nodeModel>
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1