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>
루트 요소가 있습니다. 문서 식별 키는 이름과 네임스페이스로 구성됩니다.
응용 프로그램의 전역 명령은 <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: 기본 화면의 상태 표시줄에 설명이 표시됩니다.
- form: 시작할 양식: 입력할 값은 입력 양식의 식별 키입니다(예: "cus:recipient").
- 권한: 이 명령에 대한 액세스를 허용하는 명명된 권한 목록(쉼표로 구분). 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 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>
요소 아래에 폴더 형식 선언을 입력해야 합니다. 이 요소를 사용하면 Add new folder 메뉴에 표시되는 계층 구조를 정의할 수 있습니다. <model>
요소에는 <nodemodel>
요소와 다른 <model>
요소가 있어야 합니다.
name 및 label 특성이 요소의 내부 이름과 Add new folder 메뉴에 표시된 레이블을 채웁니다.
<nodemodel>
요소에는 다음 속성이 있는 폴더 유형에 대한 설명이 포함되어 있습니다.
- 이름: 내부 이름
- label: Add new folder 메뉴에 사용되는 레이블이며 폴더를 삽입할 때 기본 레이블로 사용됩니다.
- img: 폴더 삽입 시 기본 이미지.
- hiddenCommands: 마스킹할 명령 목록(쉼표로 구분)입니다. 가능한 값: "adbnew", "adbsave", "adbcancel" 및 "adbdup".
- newFolderShortCuts: 폴더를 만들 때 모델의 바로 가기 목록(
<nodemodel>
쉼표로 구분)입니다. - insertRight, editRight, deleteRight: 폴더 삽입, 편집 및 삭제에 대한 권한입니다.
<nodemodel>
요소 아래의 <view>
요소에는 보기와 연결된 목록의 구성이 포함됩니다. 목록의 스키마가 <view>
요소의 schema 특성에 입력되었습니다.
목록의 레코드를 편집하려면 목록 스키마와 같은 이름의 입력 양식이 암시적으로 사용됩니다. <view>
요소의 type 특성이 양식 표시에 영향을 줍니다. 가능한 값:
- listdet: 목록 맨 아래에 양식을 표시합니다.
- list: 목록만 표시합니다. 양식을 두 번 클릭하거나 목록 선택 시 메뉴의 "열기"를 통해 시작합니다.
- 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 호출일 수 있습니다.
목록의 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>
요소에 명령 설명을 입력합니다.
- 이름: 명령의 내부 이름: 이름을 입력하고 고유해야 합니다.
- label: 명령의 레이블입니다.
- desc: 기본 화면의 상태 표시줄에 설명이 표시됩니다.
- form: 시작할 양식: 입력할 값은 입력 양식의 식별 키입니다(예: "cus:recipient").
- 권한: 이 명령에 대한 액세스를 허용하는 명명된 권한 목록(쉼표로 구분). 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
폴더 관리 작업에는 두 가지 유형이 있습니다.
- 폴더는 보기입니다. 목록에는 스키마와 연결된 모든 레코드가 표시되며, 폴더 속성에 입력된 시스템 필터링의 가능성이 있습니다.
- 폴더가 연결됨: 목록의 레코드는 폴더 링크에서 암시적으로 필터링됩니다.
연결된 폴더의 경우 <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>