Skip to content

Classic Monitor Configuration Migration XML

Background

zone and server xml for classic-plugin-migrate-design

Type list that need xml

select mzt.zone_name, mst.server_name , mzt.zone_type, mst.server_type
from mct_zone_template mzt
       join mct_server_template mst on mst.zone_tmp_id = mzt.zone_tmp_id
where mzt.zone_type in (0, 26, 14, 27, 38, 3, 4, 5, 10, 11, 48, 12, 13, 16, 18, 20, 35)
-- zone types that need xml provide by vernon 
  and mst.server_type not in (104, 105, 106, 129, 131001, 131002, 131003, 131004, 131005, 131006, 131007, 131008, 131009, 131010, 131011, 131012, 131013, 131014, 154, 156, 155, 6501)
-- server types that have no prod timer
order by mzt.zone_type, mst.server_type;

|zone_name                   |server_name                   |zone_type|server_type|
|----------------------------|------------------------------|---------|-----------|
|Meeting Zone                |Meeting MZM Server            |0        |101        |
|Meeting Zone                |Meeting CB Server             |0        |102        |
|Web Zone                    |WWP Server                    |3        |109        |
|Tel Zone                    |Java Telephony Server         |4        |115        |
|Tel Zone                    |TSP Telephony Server          |4        |116        |
|Email Zone                  |Mail Server                   |5        |107        |
|J2EE Web Zone               |J2EE Web Server               |10       |128        |
|J2EE App Zone               |J2EE App Server               |11       |130        |
|URL Watch Zone              |URL Watch Server              |12       |131        |
|Generic URL Zone            |Generic URL Server            |13       |132        |
|Streaming Zone              |Media Streaming Server        |14       |135        |
|Streaming Zone              |Media Streaming Controller    |14       |136        |
|WebACD Zone                 |BRE Server                    |16       |140        |
|WebACD Zone                 |ACD Server                    |16       |141        |
|Sub Meeting Zone            |Sub Meeting MZM Server        |26       |170        |
|Sub Meeting Zone            |Sub Meeting cb Server         |26       |171        |
|Telephone Number Zone       |Telephone Number Server       |27       |175        |
|Generic Port Monitoring Zone|Generic Port Monitoring Server|35       |201        |
|TP Gateway Zone             |TP Gateway Server             |38       |212        | 

Supported xml tag

File: ../mct-central-api/src/main/java/com/webex/mct/platform/entity/PlugItem.java
    5: @Alias("PlugItem")
    6: public class PlugItem {
    7:     private String name;
    8:     private String type;
    9:     private String desc;
   10:     private String checkReg;
   11:     private String defaultValue;
   12:     private String field;
   13:     private long maxLength;
   14:     private String checkItem;
   15:     private String checkMemo;
   16:     private String key;
   17:     private String required;
   18:     private String showDependency;

Type info query

select mdt.domain_default_name, mzt.zone_name, mst.server_name , mzt.zone_type, mst.server_type
from mct_domain_zone_map mdzm
         join mct_domain_template mdt on mdzm.domain_type = mdt.domain_type
         join mct_zone_template mzt on mdzm.zone_type = mzt.zone_type
         join mct_server_template mst on mst.zone_tmp_id = mzt.zone_tmp_id
where mzt.zone_type = x;

xml build

method

  1. search zoneType:x or serverType:x in page proj
  2. search more ui logic info base on above code context, e.g. _cbServerField1
  3. build xml base on above code logic

xml

Meeting Zone

zone_name server_name zone_type server_type
Meeting Zone Meeting CB Server 0 102
Meeting Zone Meeting MZM Server 0 101
<zone-template>
    <zoneField1 name='Primary storage location' type='text' desc='Example: 192.168.0.1:/nbr_root' check-regular=''></zoneField1>
    <zoneField2 name='Backup storage location' type='text' desc='Example: 192.168.0.2:/nbr_root' check-regular=''></zoneField2>
    <zoneField3 name='Verify Meeting' type='checkbox' desc='Checked means do verify meeting' checkitems=':1' check-regular=''>0</zoneField3>
    <zoneField4 name='Tomcat J2ee App Server VIP' type='text' desc='Example: nebulaab.webex.com;nebulaac.webex.com' check-regular=''></zoneField4>
    <parameter name='Web Domain' key='webDomain' type='text' desc='Example: abwd' check-regular=''></parameter>
    <parameter name='Verification Mode' type='select' key='verifyMode' checkitems='SMAC:SMAC;CI:CI' desc='SMAC: Key Management Service' check-regular=''>SMAC</parameter>
    <parameter name='CI Scope' key='CIScope' type='text' show-dependency="verifyMode:CI"></parameter>
    <parameter name='CI Env' key='CIEnv4MeetingZone' type='select' show-dependency="verifyMode:CI" checkitems='IL5:IL5'>IL5</parameter>
</zone-template>
Meeting MZM Server
<server-template>
    <serverField1 name='Backup MZM Server' type='text' desc='For example: IP:port, the default port is 80.' maxlength="255" check-regular=''></serverField1>
    <serverField3 name='VIP' type='checkbox' checkitems=':1' desc='If you not checked VIP, you will input the Backup MZM Check.' check-regular=''></serverField3>
</server-template> 

need UI special process:

File: src/main/webapp/js/infrastructure.js
 3727:                     onServerClickCheckbox(0, 101, 'z0s101');
File: src/main/webapp/jsp/serverAutoUpdate.jsp

1258: function onServerClickCheckbox(zoneType, serverType, target) {
    1259:  switch (serverType) {
        1260:   case 101:
            1261:       if ($("#serverAuto_"+zoneType+"_cbServerField3").is(":checked")) {
                1262:           $("."+target).hide();//z0s101 is serverField1 related,but xml not support fieldx show-dependency
                1263:           $("#serverAuto_"+zoneType+"_txtServerField1").val("");
                1264:       } else {
                1265:           $("."+target).show();
                1266:       }
            1267:       break;
Meeting CB Server

no need xml

Web Zone

zone_name server_name zone_type server_type
Web Zone WWP Server 3 109
<zone-template>
    <zoneField3 name='Support XML Service' type='checkbox' checkitems=':1' check-regular=''></zoneField3>
    <zoneField4 name='Web Check' type='text' maxlength="255" check-regular=''></zoneField4>
    <zoneField5 name='Web Domain' type='text' maxlength="255" check-regular=''></zoneField5>
</zone-template>
WWP Server
<server-template>
  <serverField2 name='Backup WWP Check IP' type='text' maxlength="255" check-regular=''></serverField2>
  <serverField3 name='WLZ Ports' type='text' maxlength="5"  required='1' check-regular=''></serverField3>
</server-template>

Tel Zone

zone_name server_name zone_type server_type
Tel Zone Java Telephony Server 4 115
Tel Zone TSP Telephony Server 4 116
<zone-template>
    <zoneField1 name='Test NBR Method' type='select' show-dependency="zoneField3:1" checkitems="Create AB session:1;Call-in by GIVR:0" check-regular=''></zoneField1>
    <zoneField2 name='GIVR Address' type='text' required="1" show-dependency="zoneField3:1;zoneField1:0;zoneField4:1" maxlength="255" check-regular=''></zoneField2>
    <zoneField3 name='NBR' type='checkbox' checkitems=':1' desc=" * The version of TS must be 2.7 or beyond" check-regular=''></zoneField3>
    <zoneField4 name='Manual Setting' type='checkbox' show-dependency="zoneField3:1;zoneField1:0" checkitems=':1' desc=" * Givr address manually set or auto discovery from MCT " check-regular=''></zoneField4>
</zone-template>

need UI special process:

complicate concatenation

File: src/main/webapp/jsp/zoneAutoUpdate.jsp
 1178:  function NBRClick() {
 1179:   if($("#zoneAuto_4_cbZoneField3").prop('checked')) {
 1180:    $("#nbrMethod").show();
 1181:    NBRMethod();
 1182:   } else {
 1183:    $("#nbrMethod").hide();
 1184:    $("#teleCallin").hide();
 1185:   }
 1186:  }
 1187:  function NBRMethod() {
 1188:   if($("#zoneAuto_4_selZoneField1").val() == 0) {
 1189:    $("#teleCallin").show();
 1190:   } else {
 1191:    $("#teleCallin").hide();
 1192:   }
 1193:  }
 1194:  function AutoManualClick() {
 1195:   if($("#zoneAuto_4_cbZoneField4").prop('checked')) {
 1196:    $("#teleCallinPara").show();
 1197:   } else {
 1198:    $("#teleCallinPara").hide();
 1199:   }
 1200:  }

File: src/main/webapp/js/infrastructure.js
1661:                     if (zone.zoneField3 == 1) {
    1662:                         this.$editZoneMD.find("#zoneAuto_" + zoneType + "_cbZoneField3").prop("checked", true);
    1663:                         $("#nbrMethod").show();
    1664:                         if (zone.zoneField1 == 0) {
        1665:                             this.$editZoneMD.find("#zoneAuto_" + zoneType + "_selZoneField1").val(0);
        1666:                             $("#nbrMethod").show();
        1667:                             $("#teleCallin").show();
        1668:                         } else if (zone.zoneField1 == 1) {
        1669:                             this.$editZoneMD.find("#zoneAuto_" + zoneType + "_selZoneField1").val(1);
        1670:                             $("#teleCallin").hide();
        1671:                         } else {
        1672:                             this.$editZoneMD.find("#zoneAuto_" + zoneType + "_selZoneField1").val(0);
        1673:                             $("#teleCallin").show();
        1674:                         }
    1675:                     } else {
    1676:                         this.$editZoneMD.find("#zoneAuto_" + zoneType + "_cbZoneField3").prop("checked", false);
    1677:                         $("#teleCallin").hide();
    1678:                         $("#nbrMethod").hide();
    1679:                     }
1680:                     if (zone.zoneField4 == '1') {
    1681:                         this.$editZoneMD.find("#zoneAuto_" + zoneType + "_cbZoneField4").prop("checked", true);
    1682:                         $("#teleCallinPara").show();
    1683:                         this.$editZoneMD.find("#zoneAuto_" + zoneType + "_txtZoneField1").val(zone.zoneField1);
    1684:                         this.$editZoneMD.find("#zoneAuto_" + zoneType + "_txtZoneField2").val(zone.zoneField2);
    1685:                     } else {
    1686:                         this.$editZoneMD.find("#zoneAuto_" + zoneType + "_cbZoneField4").prop("checked", false);
    1687:                         $("#teleCallinPara").hide();
    1688:                     }
1689:                     break;
Java Telephony Server
<server-template>
    <serverField1 name='Host Access Code' type='text' check-regular=''></serverField1>
    <parameter name='VIP' type='checkbox' checkitems=':1' key='vipcheck' desc='Note: If you want to do NBR recording, please check the checkbox of VIP and checkbox of NBR on the the Tel zone level.' check-regular=''></parameter>
    <parameter name='PCN Account verification' type='checkbox' checkitems=':2' key='pcncheck' check-regular=''></parameter>
</server-template> 

need UI special process:

File: src/main/webapp/jsp/serverAutoUpdate.jsp
  165:   <div class="form-group mb5">
  166:    <label for="normal-field" class="col-sm-4 control-label">Host Access Code</label>
  167:    <div class="col-sm-6">
  168:     <input type="text" id="serverAuto_4_txtServerField1_115" class="form-control" maxlength="255" >
  169:    </div>
  170:   </div>
  171:   <div class="form-group mb5 ml20 mr20"> //new dev desc (normal desc in same dev)
  172:    <span class="sparkgrey"><b>Note:</b> If you want to do NBR recording, please check the checkbox of <b>VIP</b> and checkbox of <b>NBR</b> on the the Tel zone level.</span>
  173:   </div>
TSP Telephony Server
<server-template>
    <serverField2 name='Adaptor URL' type='text' required="1" maxlength="255" check-regular=''></serverField2>
</server-template> 

Email Zone

zone_name server_name zone_type server_type
Email Zone Mail Server 5 107
<zone-template>
    <zoneField1 name='MCT receiver Service' type='text' desc='Example: http://10.224.166.93:7573' maxlength="255" check-regular=''></zoneField1>
    <zoneField3 name='Retry' type='select' checkitems='1:1;2:2;3:3' check-regular=''>1</zoneField3>
</zone-template>
Mail Server
<server-template>
    <serverField3 name='Receive email' type='checkbox' checkitems=":1" check-regular=''></serverField3>    
    <serverField6 name='Support Proxy Header'  type='checkbox' checkitems=":0"  check-regular=''></serverField6>
</server-template> 

J2EE Web Zone

zone_name server_name zone_type server_type
J2EE Web Zone J2EE Web Server 10 128
no xml

need UI special process:

xml not support button and table

File: src/main/webapp/jsp/zoneAutoPA.jsp
49: <div id="zoneAutoPA_zoneTypeDiv_10" class="zoneAutoPATypeDiv none">
    50:  <legend>J2EE Web Zone</legend>
    51:  <div class="form-group mb5 ml15 mr15">
    52:      <button id="zoneAutoPA_10_btnAdd" type="button" class="btn btn-primary float-right" >Add Web URL</button>
    53:     </div>
    54:  <div class="form-group mb5 ml15 mr15">
    55:   <table id="zoneAutoPA_10_table" class="table table-bordered table-striped table-hover">
    56:    <thead>
    57:     <tr>
    58:      <th class="width-p10">NO.</th>
    59:      <th class="width-p30">Web Domain</th>
    60:      <th class="width-p10">Port</th>
    61:      <th class="width-p10">Retry</th>
    62:      <th class="width-p10">Interval</th>
    63:      <th class="width-p10">Status</th>
    64:      <th class="width-p10">Edit</th>
    65:      <th class="width-p10">Delete</th>
    66:     </tr>
    67:    </thead>
    68:   </table>
    69:  </div>
    70: </div>

case 10: //zoneType:10
               var $urlTable = $normalZoneTypeDiv.find("#zoneAutoPA_"+zoneType+"_table");
               $urlTable.dataTable({//init datatable
                   "bDestroy": true,
                      "bAutoWidth": false,
                      "bPaginate": false,
                      "bFilter": false,
                      "bInfo": false,
                      "bSort": false,
                      "aaSorting": [[ 0, "asc" ]]
                  });
               if(zoneSetting.listWebURL == null) {
             this.listZoneUrlMap.set(zoneTypeZoneName, []);
               } else {
             this.listZoneUrlMap.set(zoneTypeZoneName, zoneSetting.listWebURL.slice(0));
               }
               var $btnDiv = $normalZoneTypeDiv.find("#zoneAutoPA_"+zoneType+"_btnAdd");
         $btnDiv.attr("onclick", "mctConfigure.automationPAHandler.onAddMonitorURL('"+zoneTypeZoneName+"', 1)");
         this._refreshUrlTable(zoneTypeZoneName);
         break;
J2EE Web Server
<server-template>
    <serverField2 name='Balance Check?'  type='checkbox' checkitems=":1"  check-regular=''></serverField2>
    <serverField3 name='Protocol' type='select' checkitems="HTTP:1;HTTPS:2;HTTP、HTTPS:3" required='1' show-dependency="serverField2:1" check-regular=''>1</serverField3>
</server-template> 

need UI special process:

type="hidden" not support in xml
File: src/main/webapp/jsp/serverAutoUpdate.jsp
  271:       <input type="hidden" id="serverAuto_10_txtServerField4_128"/>
  272:       <input type="hidden" id="serverAuto_10_txtMonitorUrl_128"/>

function onServerProtocolChange(zoneType, serverType){
  var selectVal =  $("#serverAuto_"+zoneType+"_selServerField3_"+serverType).val();
  if(1 == selectVal){// show HTTP 
    $("#div_http_port_"+zoneType+"_"+serverType).removeClass("none");//show(); 
    $("#div_https_port_"+zoneType+"_"+serverType).addClass("none");//hide();
    $("#serverAuto_"+zoneType+"_txtServerField4_"+serverType).val($("#input_http_port_"+zoneType+"_"+serverType).val()+";");
  }else if(2 == selectVal){//show HTTPS
    $("#div_http_port_"+zoneType+"_"+serverType).addClass("none");//hide();
    $("#div_https_port_"+zoneType+"_"+serverType).removeClass("none");//show();
    $("#serverAuto_"+zoneType+"_txtServerField4_"+serverType).val(";"+ $("#input_https_port_"+zoneType+"_"+serverType).val());
  }else if(3 == selectVal){//show https & http
    $("#div_http_port_"+zoneType+"_"+serverType).removeClass("none");//show();
    $("#div_https_port_"+zoneType+"_"+serverType).removeClass("none");//show();
    $("#serverAuto_"+zoneType+"_txtServerField4_"+serverType).val($("#input_http_port_"+zoneType+"_"+serverType).val()+";"+ $("#input_https_port_"+zoneType+"_"+serverType).val());
  }
}

function onServerBalanceClicked(zoneType, serverType) {
  var balanceServerCheckVal = $("#serverAuto_"+zoneType+"_cbServerField2_"+serverType).is(':checked');
  if(balanceServerCheckVal){
    showOrHideProtocolAndPort(true, zoneType, serverType);
    var j2ee_web_server_flagVal = $("#j2ee_web_server_flag_"+zoneType+"_"+serverType).val();
    if(j2ee_web_server_flagVal == "1"){ //too complicated logic for show-dependency
      if(serverType == 232) {
        mctInfra.infrastructureHandler.initJ2eeWebDomainSelect(6, zoneType, serverType);
      }else{
        mctInfra.infrastructureHandler.initJ2eeWebDomainSelect(1, zoneType, serverType);
      }
    }
  }else{
    showOrHideProtocolAndPort(false, zoneType, serverType);
  }
}
...seems many special process

J2EE App Zone

zone_name server_name zone_type server_type
J2EE App Zone J2EE App Server 11 130

no xml

need UI special process:

File: src/main/webapp/js/configure.js
 5228:               case 11: //zoneType:11
 5229:                var $urlTable = $normalZoneTypeDiv.find("#zoneAutoPA_"+zoneType+"_table");
 5230:                $urlTable.dataTable({//init datatable
 5231:                    "bDestroy": true,
 5232:                       "bAutoWidth": false,
 5233:                       "bPaginate": false,
 5234:                       "bFilter": false,
 5235:                       "bInfo": false,
 5236:                       "bSort": false,
 5237:                       "aaSorting": [[ 0, "asc" ]]
 5238:                   });
 5239:                if(zoneSetting.listAPPURL == null) {
 5240:              this.listZoneUrlMap.set(zoneTypeZoneName, []);
 5241:                } else {
 5242:              this.listZoneUrlMap.set(zoneTypeZoneName, zoneSetting.listAPPURL.slice(0));
 5243:                }
 5244:                var $btnDiv = $normalZoneTypeDiv.find("#zoneAutoPA_"+zoneType+"_btnAdd");
 5245:          $btnDiv.attr("onclick", "mctConfigure.automationPAHandler.onAddMonitorURL('"+zoneTypeZoneName+"', 4)");
 5246:          this._refreshUrlTable(zoneTypeZoneName);
 5247:          break;
J2EE App Server
<server-template>
    <serverField2 name='Balance Check?'  type='checkbox' checkitems=":1"  check-regular=''></serverField2>
    <serverField3 name='Protocol' type='select' checkitems="HTTP:1;HTTPS:2;HTTP、HTTPS:3" required='1' show-dependency="serverField2:1" check-regular=''></serverField3>
</server-template> 

need UI special process: just like J2EE Web Server

URL Watch Zone

zone_name server_name zone_type server_type
URL Watch Zone URL Watch Server 12 131
<zone-template>
    <zoneField3 name='Single Thread' type='checkbox' checkitems=':1' check-regular=''></zoneField3>
    <zoneField6 name='Muti-thread Num' type='text' maxlength='40' desc="Only effective when Single Thread is not selected !" check-regular=''>10</zoneField6>
</zone-template>
URL Watch Server
<server-template>
    <serverField5 name='JQ String' type='text' maxlength="512" desc="Use JQ(https://devdocs.io/jq/) to filter the JSON result of Markdown log of detail status for some specific checks." check-regular=''></serverField5>
    <parameter name='Check Name' type='text' key='serverName' required='1' maxlength='512' check-regular=''></parameter>
    <parameter name='URL' type='textarea' key='url' desc='For example:webex/apachepoll.php' required='1' maxlength='512' check-regular=''></parameter>
    <parameter name='Positive Match' type='text' key='positive' required='0' maxlength='50' check-regular=''></parameter>
    <parameter name='Negative Match' type='text' key='negative' required='0' maxlength='50' check-regular=''></parameter>
    <parameter name='Timeout' type='text' key='timeout' maxlength='80' check-regular=''>60</parameter>
    <parameter name='Retries' type='select' key='retry' checkitems="1 times:1;2 times:2;3 times:3;4 times:4;5 times:5" check-regular=''>1</parameter>
    <parameter name='Mode' type='select' key='mode' checkitems="Anonymous Access:0;Integrated Windows Authentication:1;Basic Authentication:2;oAuth2 Authentication:3;Custom Headers Authentication:4;CI Token Authentication (By MCT Account):5" check-regular=''>0</parameter>
    <parameter name='Username' type='text' key='username' maxlength="64" check-regular=''></parameter>
    <parameter name='Password' type='text' key='password' maxlength="256" check-regular=''></parameter>
    <parameter name='Method' type='select' key='method' checkitems="Get:0;Post:1" check-regular=''>0</parameter>
    <parameter name='Data Type' type='select' key='dataType' checkitems="None:0;Json Type:1" show-dependency="method:1" check-regular=''></parameter>
    <parameter name='Post Data' type='text' key='urlField1' maxlength="2000" show-dependency="method:1" check-regular=''></parameter>
</server-template>

note:

parameters are from mct_monitor_url instead of mct_server
File: src/main/webapp/js/infrastructure.js
3911:                     $baseServerDiv.find("#serverAuto_" + zoneType + "_txtMonitorPositive").val(mctFormat.formatObjValue(monitorUrl.positive));
3912:                     $baseServerDiv.find("#serverAuto_" + zoneType + "_txtMonitorNegative").val(mctFormat.formatObjValue(monitorUrl.negative));

need UI special process:

special describe: <a href="https://devdocs.io/jq/" target="_blank">JQ</a>
File: src/main/webapp/jsp/serverAutoUpdate.jsp
497:    <span class="sparkgrey">Use <a href="https://devdocs.io/jq/" target="_blank">JQ</a> to filter the JSON result of Markdown log of detail status for some specific checks. For example:'.["foo"]'</span></br>

xml not support select and input in same div
File: src/main/webapp/jsp/serverAutoUpdate.jsp
401:  <div class="form-group mb5">
    402:   <label for="normal-field" class="col-sm-4 control-label">Timeout</label>
    403:   <div class="col-sm-6">
    404:    <select id="serverAuto_12_selMonitorTimeout" class="select2 form-control" onchange="onTimeoutChange(12)">
    405:    </select>
    406:    <input id="serverAuto_12_txtMonitorTimeout" class="form-control width-400" style="border: 1px solid rgb(83, 99, 106); position: relative; top: -32px;" size="80" maxlength="255" type="text">
    407:   </div>
    408:  </div>

select option from api 
File: src/main/webapp/js/infrastructure.js
3930:                     this._initSelectOptions(retries, $baseServerDiv.find("#serverAuto_" + zoneType + "_selMonitorRetry"), "key", "value");

File: src/main/webapp/jsp/serverAutoUpdate.jsp
1362: function onServerAuthenUserChange(zoneType){
1363:  var selectVal =  $("#serverAuto_"+zoneType+"_selMonitorMode").val();
1364:  if(4 == selectVal){// custom header 
    1365:    $("#serverAuto_"+zoneType+"_txtMonitorUsername").val($("#serverAuto_"+zoneType+"_txtMonitorHeader").val());
    1366:  } else if (5 == selectVal) {
    1367:   $("#serverAuto_"+zoneType+"_txtMonitorUsername").val($("#serverAuto_"+zoneType+"_txtCIScope").val() + ';' + $("#serverAuto_"+zoneType+"_txtCIEnv").val());
    1368:  } else{
    1369:    $("#serverAuto_"+zoneType+"_txtMonitorUsername").val($("#serverAuto_"+zoneType+"_txtMonitorUser").val());
    1370:  }
1371: }

File: src/main/webapp/js/infrastructure.js
3948:                     onServerAuthenChange(zoneType);

textarea not support in xml 
File: src/main/webapp/jsp/serverAutoUpdate.jsp
487:  <div class="form-group mb5" id="serverAuto_12_post_data">
    488:   <label for="normal-field" class="col-sm-4 control-label ">Post Data</label>
    489:   <div class="col-sm-6">
    490:    <textarea rows="3" id="serverAuto_12_txtMonitorField1" class="form-control height-min-74 transition-height" maxlength="2000" title="Can't input chinese and if select Post this field can't be empty, max length 2000."></textarea>
    491:   </div>
    492:  </div>

Generic URL Zone

<zone-template>
    <zoneField3 name='Single Thread' type='checkbox' checkitems=':1' check-regular=''></zoneField3>
    <zoneField5 name='Generic Template' type='select' checkitems='' required='1' check-regular=''></zoneField5>
    <zoneField6 name='Muti-thread Num' type='text' maxlength='40' desc="Only effective when Single Thread is not selected !" check-regular=''>10</zoneField6>
</zone-template>

need UI special process:

select option from api query
File: src/main/webapp/js/infrastructure.js
 1780:                     var $templateSel = $("#zoneAuto_" + zoneType + "_selZoneField5").select2();
 1781:                     this.updateSelectTemplate($templateSel, mctFormat.formatObjValue(zone.zoneField5));

Generic URL Server

<server-template>
    <serverField1 name='Protocol' type='select' checkitems='HTTP:1;HTTPS:2;HTTP、HTTPS:3' required='1' check-regular=''>3</serverField1>
    <serverField4 name='Generic Template' type='select' checkitems='' check-regular=''></serverField4>
    <parameter name='HTTP Port' type='text' key='ras1' desc='Input multi-port as "," For example: "8080,8081"' required='0' maxlength='120' check-regular=''></parameter>
    <parameter name='HTTPS Port' type='text' key='ras2' desc='Input multi-port as "," For example: "8080,8081"' required='0' maxlength='120' check-regular=''></parameter>
</server-template> 

Streaming Zone

zone_name server_name zone_type server_type
Streaming Zone Media Streaming Server 14 135
Streaming Zone Media Streaming Controller 14 136
<zone-template>
    <zoneField1 name='SiteID' type='text' maxlength='10' required='1' check-regular=''></zoneField1>
    <zoneField2 name='UserID' type='text' maxlength='10' required='1' check-regular=''></zoneField2>
    <zoneField3 name='RecordID' type='text' maxlength='10' required='1' check-regular=''></zoneField3>
    <zoneField4 name='Tomcat J2ee App Server VIP' type='text' desc='Must when [Playback Ticket Key Source] is [KM]' maxlength="255" check-regular=''></zoneField4>
    <zoneField5 name='Env' type='select' checkitems='DMZ:DMZ;QA:QA;ATS:ATS;BTS:BTS;PROD:PROD;FedRamp:FedRamp' check-regular=''>PROD</zoneField5>
    <zoneField6 name='Playback Ticket Key Source' type='select' desc='Source of key which used to generate Playback Ticket' checkitems='Disable:0;SIS:1;KM:2' check-regular=''></zoneField6>
</zone-template>    
Media Streaming Server

no fieldx or parameter

Media Streaming Controller
<server-template>
    <serverField1 name='ConfigRN' type='text' required="1" maxlength="255" check-regular=''></serverField1>
    <serverField2 name='Parameter' type='text' desc='LocalDCId in Webex.cfg' maxlength="255" required="1" check-regular=''></serverField2>
</server-template> 

WebACD Zone

domain_default_name zone_name server_name zone_type server_type
WebACD WebACD Zone BRE Server 16 140
WebACD WebACD Zone ACD Server 16 141

zone has no xml support parameter

BRE Server
<server-template>
    <serverField1 name='Port' type='text' required="1" maxlength="5" check-regular=''></serverField1>
    <serverField3 name='Balance Server?' type='checkbox' checkitems=':1' check-regular=''></serverField3>
</server-template> 
ACD Server
<server-template>
    <serverField1 name='Port' type='text' required="1" maxlength="5" check-regular=''></serverField1>
</server-template> 

Sub Meeting Zone

zone_name server_name zone_type server_type
Sub Meeting Zone Sub Meeting MZM Server 26 170
Sub Meeting Zone Sub Meeting cb Server 26 171
<zone-template>
    <zoneField1 name='MZM list' type='text' desc='Only for Eureka3.9 or above, corresponding top zone MZM list, using ";" as space.'  check-regular=''></zoneField1>
    <zoneField4 name='Tomcat J2ee App Server VIP' type='text' desc='Example: nebullaac.webex.com;nebullaab.webex.com' maxlength="255" check-regular=''></zoneField4>
</zone-template>    
Sub Meeting MZM Server
<server-template>
    <serverField1 name='Backup MZM Check' type='text' desc="For example: IP:port, the default port is 80." maxlength="255" show-dependency="serverField3:0" check-regular=''></serverField1>
    <serverField3 name='VIP' type='checkbox' desc='If you not checked VIP, you will input the Backup MZM Check.' checkitems=':1' check-regular=''></serverField3>
</server-template> 

need UI special process:

File: src/main/webapp/jsp/serverAutoUpdate.jsp
 1276:   case 170:
 1277:       if ($("#serverAuto_"+zoneType+"_cbServerField3").is(":checked")) {
 1278:           $("."+target).hide();// show-dependency on fieldx, not support
 1279:           $("#serverAuto_"+zoneType+"_txtServerField1").val("");
 1280:       } else {
 1281:           $("."+target).show();
 1282:       }
 1283:       break;
Sub Meeting cb Server

no xml: not related code in page proj (server_fieldx are all empty)

Telephone Number Zone

domain_default_name zone_name server_name zone_type server_type
Tel Telephone Number Zone Telephone Number Server 27 175
<zone-template>
    <zoneField1 name='TS VIPS:' type='text' desc='*TS VIP list, split by semicolon (;). The version of TS must be 2.6.2 or beyond.' required="1" check-regular=''></zoneField1>
    <zoneField2 name='wbxsiteID:' type='text' check-regular=''></zoneField2>
    <zoneField3 name='Is cascading meeting' type='checkbox' desc='*Is turn on large meeting feature.' checkitems=':1' check-regular=''></zoneField3>
</zone-template>    
Telephone Number Server
<server-template>
    <parameter name='Country/Region' key='tel1' type='select' checkitems='U.S.A/Canada:1;China:86;Global:-1;Afghanistan:93;Alaska(U.S.A):1907;Albania:355;Algeria:213;Andorra:376;Angola:244;Anguilla I.:1264;Argentina:54;Armenia:374;Aruba I.:297;Ascension:247;Australia:61;Austria:43;Azerbaijan:994;Bahrain:973;Bangladesh:880;Barbados:1246;Belarus:375;Belgium:32;Belize:501;Benin:229;Bermuda Is.:1441;Bhutan:975;Bolivia:591;Botswana:267;Brazil:55;Bulgaria:359;Burkinafaso:226;Burundi:257;Cameroon:237;Cape Verde:238;Cayman Is.:1345;Central Africa:236;Chad:235;Chile:56;Colombia:57;Comoro:269;Congo:242;Cook IS.:682;Costa Rica:506;Croatian:383;Cuba:53;Cyprus:357;Czech:420;Denmark:45;Diego Garcia I.:246;Djibouti:253;Ecuador:593;Egypt:20;El Salvador:503;Eritrea:291;Estonia:372;Ethiopia:251;Falkland Is.:500;Faroe Is.:298;Fiji:679;Finland:358;France:33;French Guiana:594;Gabon:241;Gambia:220;Georgia:995;Germany:49;Ghana:233;Gibraltar:350;Greece:30;Greenland:299;Grenada:1809;Guam:671;Guatemala:502;Guinea:224;Guinea-bissau:245;Guyana:592;HongKong:852;Haiti:509;Hawaii:1808;Honduras:504;HunGary:36;Iceland:354;India:91;Indonesia:62;Iran:98;Iraq:964;Ireland:353;Israel:972;Italy:39;Ivory Coast:225;Jamaica:1876;Japan:81;Jordan:962;Kampuchea:855;Kenya:254;Kiribati:686;Korea(dpr):850;Korea(republic):82;Kuwait:965;Laos:856;Latvia:371;Lebanon:961;Lesotho:266;Liberia:231;Libya:218;Lithuania:370;Luxembourg:352;Macao:853;Macedonia:389;Madagascar:261;Malawi:265;Malaysia:60;Maldive:960;Mali:223;Malta:356;Mariana Is.:670;Marshall Is.:692;Martinique:596;Mauritania:222;Mauritius:230;Mexico:52;Micronesia:691;Moldova:373;Monaco:377;Mongolia:976;Montserrat I.:1664;Morocco:212;Mozambique:258;Myanmar:95;Namibia:264;Nauru:674;Nepal:977;Netherlands:31;New Zealand:64;Nicaragua:505;Niger:227;Nigeria:234;Niue I.:683;Norfolk I,:6723;Norway:47;Oman:968;Palau:680;Panama:507;Paraguay:595;Peru:51;Philippines:63;Poland:48;Portugal:351;Pskistan:92;Puerto Rico:1787;Qatar:974;Reunion I.:262;Rumania:40;Russia/Tajikistan/Uzbekistan:7;Rwanda:250;San.Marino:378;Saudi Arabia:966;Senegal:221;Seychelles:248;Singapore:65;Slovak:421;Slovenia:386;Solomon Is.:677;Somali:252;South Africa:27;Spain:34;Sri Lanka:94;St.Helena:290;St.Lucia:1758;St.Vincent I.:1784;Sudan:249;Suriname:597;Swaziland:268;Sweden:46;Switzerland/Liechtenstein:41;Syria:963;Taiwan:886;Tanzania:255;Thailand:66;Togo:228;Tokelau Is.:690;Tonga:676;Tunisia:216;Turkey:90;Turkmenistan:993;Tuvalu:688;Uganda:256;Ukraine:380;United Kingdom:44;Uruguay:598;Vanuatu:678;Vatican:379;Venezuela:58;Vietnam:84;Western sahara/Yemen:967;Yugoslavia:381;Zaire:243;Zambia:260;Zanzibar:259;Zimbabwe:263;' check-regular=''>1</parameter>
    <parameter name='Area Code' type='text' key='tel2' required='1' maxlength='8' check-regular=''></parameter>
    <parameter name='Telephone Number' type='text' key='tel3' required='1' maxlength='15' check-regular=''></parameter>
    <parameter name='Extension Number' type='text' key='tel4' required='1' maxlength='8' check-regular=''></parameter>
</server-template> 

need UI special process:

select option from api response, xml not support
File: src/main/webapp/js/infrastructure.js
4458:             var city = $("#serverAuto_" + zoneType + "_txtCity").val();
4459:             var $selCity = $("#serverAuto_" + zoneType + "_selTel1");
4460:             if (this.listCountry == null || this.listCountry.length == 0) {
  4461:                 mctAjax.get({
    4462:                     url: "country",

Generic Port Monitoring Zone

zone_name server_name zone_type server_type
Generic Port Monitoring Zone Generic Port Monitoring Server 35 201

no xml: not related code in page proj (zone_fieldx are all empty)

Generic Port Monitoring Server
<server-template>
    <serverField1 name='Positive Match' type='text' maxlength="50" check-regular=''></serverField1>
    <serverField2 name='Send Data' type='textarea' maxlength="255" check-regular=''></serverField2>
    <serverField4 name='Port' type='text' maxlength="300" required='1' desc="Can input multiple ports and split by ' , '. For example: '9092,9093'." check-regular=''></serverField4>
    <serverField6 name='Concurrency' type='select' checkitems='10:10;20:20;30:30;50:50' check-regular=''>20</serverField6>
    <parameter name='Negative Match' type='text' key='ras1' maxlength='50' check-regular=''></parameter>
    <parameter name='Timeout' type='select' key='ras2' checkitems='60:60 sec;90:90 sec;120:120 sec;150:150 sec;180:180 sec;210:210 sec;240:240 sec;270:270 sec;300:300 sec' check-regular=''>60</parameter>
    <parameter name='Retries' type='select' key='ras3' checkitems='1:1 times;2:2 times;3:3 times;4:4 times;5:5 times' check-regular=''>1</parameter>
</server-template> 

need UI special process:

File: src/main/webapp/js/infrastructure.js
4148:                     this._initSelectOptions(timeout, $baseServerDiv.find("#serverAuto_" + zoneType + "_selRas2"), "key", "value");

File: src/main/webapp/jsp/serverAutoUpdate.jsp
  968:  <div class="form-group mb5">
  969:   <label for="normal-field" class="col-sm-4 control-label">Timeout</label>
  970:   <div class="col-sm-6">
  971:    <select id="serverAuto_35_selRas2" class="select2 form-control"> // query option from api
  972:    </select>
  973:   </div>
  974:  </div>

TP Gateway Zone

domain_default_name zone_name server_name zone_type server_type
Meeting TP Gateway Zone TP Gateway Server 38 212
<zone-template>
    <zoneField1 name='MZM List' type='text' desc='Multi MZM IPAddress split by semicolon (;) as space' required='1' check-regular=''></zoneField1>
    <zoneField2 name='MCC VIP' type='text' desc='Must input when test video session start from tpgw.' check-regular=''></zoneField2>
    <zoneField5 name='Tomcat J2ee App Server VIP' type='text' desc='Must when [SMAC Key Source] is [KM]' maxlength="255" check-regular=''></zoneField5>
    <zoneField6 name='SMAC Key Source' type='select' desc='Source of key which used to generate SMAC' checkitems='Disable:0;SIS:1;KM:2' check-regular=''>0</zoneField6>
    <parameter name='MCC LocalDCId' key='localDCId' type='text' desc='LocalDCId in Webex.cfg. Must input when test video session start from tpgw.' check-regular=''></parameter>
    <parameter name='Env' type='select' key='env4TPGW' checkitems='IL5:IL5;DMZ:DMZ;QA:QA;ATS:ATS;BTS:BTS;PROD:PROD;FedRamp:FedRamp' check-regular=''>PROD</parameter>
</zone-template>
TP Gateway Server
<server-template>
    <serverField3 name='Port' type='text' required="1" maxlength="5" check-regular=''></serverField3>
</server-template> 

xml update SQL

enable xml

UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='Primary storage location' type='text' desc='Example: 192.168.0.1:/nbr_root' check-regular=''></zoneField1>
    <zoneField2 name='Backup storage location' type='text' desc='Example: 192.168.0.2:/nbr_root' check-regular=''></zoneField2>
    <zoneField3 name='Verify Meeting' type='checkbox' desc='Checked means do verify meeting' checkitems=':1' check-regular=''>0</zoneField3>
    <zoneField4 name='Tomcat J2ee App Server VIP' type='text' desc='Example: nebulaab.webex.com;nebulaac.webex.com' check-regular=''></zoneField4>
    <parameter name='Web Domain' key='webDomain' type='text' desc='Example: abwd' check-regular=''></parameter>
    <parameter name='Verification Mode' type='select' key='verifyMode' checkitems='SMAC:SMAC;CI:CI' desc='SMAC: Key Management Service' check-regular=''>SMAC</parameter>
    <parameter name='CI Scope' key='CIScope' type='text' show-dependency="verifyMode:CI"></parameter>
    <parameter name='CI Env' key='CIEnv4MeetingZone' type='select' show-dependency="verifyMode:CI" checkitems='IL5:IL5'>IL5</parameter>
</zone-template>$$
WHERE zone_name = 'Meeting Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Backup MZM Server' type='text' desc='For example: IP:port, the default port is 80.' maxlength="255" check-regular=''></serverField1>
    <serverField3 name='VIP' type='checkbox' checkitems=':1' desc='If you not checked VIP, you will input the Backup MZM Check.' check-regular=''></serverField3>
</server-template>$$ 
where server_name = 'Meeting MZM Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField3 name='Support XML Service' type='checkbox' checkitems=':1' check-regular=''></zoneField3>
    <zoneField4 name='Web Check' type='text' maxlength="255" check-regular=''></zoneField4>
    <zoneField5 name='Web Domain' type='text' maxlength="255" check-regular=''></zoneField5>
</zone-template>$$
WHERE zone_name = 'Web Zone';

update mct_server_template set server_template = $$<server-template>
  <serverField2 name='Backup WWP Check IP' type='text' maxlength="255" check-regular=''></serverField2>
  <serverField3 name='WLZ Ports' type='text' maxlength="5"  required='1' check-regular=''></serverField3>
</server-template>$$ 
where server_name = 'WWP Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='Test NBR Method' type='select' show-dependency="zoneField3:1" checkitems="Create AB session:1;Call-in by GIVR:0" check-regular=''></zoneField1>
    <zoneField2 name='GIVR Address' type='text' required="1" show-dependency="zoneField3:1;zoneField1:0;zoneField4:1" maxlength="255" check-regular=''></zoneField2>
    <zoneField3 name='NBR' type='checkbox' checkitems=':1' desc=" * The version of TS must be 2.7 or beyond" check-regular=''></zoneField3>
    <zoneField4 name='Manual Setting' type='checkbox' show-dependency="zoneField3:1;zoneField1:0" checkitems=':1' desc=" * Givr address manually set or auto discovery from MCT " check-regular=''></zoneField4>
</zone-template>$$
WHERE zone_name = 'Tel Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Host Access Code' type='text' check-regular=''></serverField1>
    <parameter name='VIP' type='checkbox' checkitems=':1' key='vipcheck' desc='Note: If you want to do NBR recording, please check the checkbox of VIP and checkbox of NBR on the the Tel zone level.' check-regular=''></parameter>
    <parameter name='PCN Account verification' type='checkbox' checkitems=':2' key='pcncheck' check-regular=''></parameter>
</server-template>$$ 
where server_name = 'Java Telephony Server';

update mct_server_template set server_template = $$<server-template>
    <serverField2 name='Adaptor URL' type='text' required="1" maxlength="255" check-regular=''></serverField2>
</server-template>$$ 
where server_name = 'TSP Telephony Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='MCT receiver Service' type='text' desc='Example: http://10.224.166.93:7573' maxlength="255" check-regular=''></zoneField1>
    <zoneField3 name='Retry' type='select' checkitems='1:1;2:2;3:3' check-regular=''>1</zoneField3>
</zone-template>$$
WHERE zone_name = 'Email Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField3 name='Receive email' type='checkbox' checkitems=":1" check-regular=''></serverField3>    
    <serverField6 name='Support Proxy Header'  type='checkbox' checkitems=":0"  check-regular=''></serverField6>
</server-template>$$ 
where server_name = 'Mail Server';


update mct_server_template set server_template = $$<server-template>
    <serverField2 name='Balance Check?'  type='checkbox' checkitems=":1"  check-regular=''></serverField2>
    <serverField3 name='Protocol' type='select' checkitems="HTTP:1;HTTPS:2;HTTP、HTTPS:3" required='1' show-dependency="serverField2:1" check-regular=''>1</serverField3>
</server-template>$$ 
where server_name = 'J2EE Web Server';


update mct_server_template set server_template = $$<server-template>
    <serverField2 name='Balance Check?'  type='checkbox' checkitems=":1"  check-regular=''></serverField2>
    <serverField3 name='Protocol' type='select' checkitems="HTTP:1;HTTPS:2;HTTP、HTTPS:3" required='1' show-dependency="serverField2:1" check-regular=''></serverField3>
</server-template>$$ 
where server_name = 'J2EE App Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField3 name='Single Thread' type='checkbox' checkitems=':1' check-regular=''></zoneField3>
    <zoneField6 name='Muti-thread Num' type='text' maxlength='40' desc="Only effective when Single Thread is not selected !" check-regular=''>10</zoneField6>
</zone-template>$$
WHERE zone_name = 'URL Watch Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField5 name='JQ String' type='text' maxlength="512" desc="Use JQ(https://devdocs.io/jq/) to filter the JSON result of Markdown log of detail status for some specific checks." check-regular=''></serverField5>
    <parameter name='Check Name' type='text' key='serverName' required='1' maxlength='512' check-regular=''></parameter>
    <parameter name='URL' type='textarea' key='url' desc='For example:webex/apachepoll.php' required='1' maxlength='512' check-regular=''></parameter>
    <parameter name='Positive Match' type='text' key='positive' required='0' maxlength='50' check-regular=''></parameter>
    <parameter name='Negative Match' type='text' key='negative' required='0' maxlength='50' check-regular=''></parameter>
    <parameter name='Timeout' type='text' key='timeout' maxlength='80' check-regular=''>60</parameter>
    <parameter name='Retries' type='select' key='retry' checkitems="1 times:1;2 times:2;3 times:3;4 times:4;5 times:5" check-regular=''>1</parameter>
    <parameter name='Mode' type='select' key='mode' checkitems="Anonymous Access:0;Integrated Windows Authentication:1;Basic Authentication:2;oAuth2 Authentication:3;Custom Headers Authentication:4;CI Token Authentication (By MCT Account):5" check-regular=''>0</parameter>
    <parameter name='Username' type='text' key='username' maxlength="64" check-regular=''></parameter>
    <parameter name='Password' type='text' key='password' maxlength="256" check-regular=''></parameter>
    <parameter name='Method' type='select' key='method' checkitems="Get:0;Post:1" check-regular=''>0</parameter>
    <parameter name='Data Type' type='select' key='dataType' checkitems="None:0;Json Type:1" show-dependency="method:1" check-regular=''></parameter>
    <parameter name='Post Data' type='text' key='urlField1' maxlength="2000" show-dependency="method:1" check-regular=''></parameter>
</server-template>$$ 
where server_name = 'URL Watch Server'; 


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField3 name='Single Thread' type='checkbox' checkitems=':1' check-regular=''></zoneField3>
    <zoneField5 name='Generic Template' type='select' checkitems='' required='1' check-regular=''></zoneField5>
    <zoneField6 name='Muti-thread Num' type='text' maxlength='40' desc="Only effective when Single Thread is not selected !" check-regular=''>10</zoneField6>
</zone-template>$$
WHERE zone_name = 'Generic URL Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Protocol' type='select' checkitems='HTTP:1;HTTPS:2;HTTP、HTTPS:3' required='1' check-regular=''>3</serverField1>
    <serverField4 name='Generic Template' type='select' checkitems='' check-regular=''></serverField4>
    <parameter name='HTTP Port' type='text' key='ras1' desc='Input multi-port as "," For example: "8080,8081"' required='0' maxlength='120' check-regular=''></parameter>
    <parameter name='HTTPS Port' type='text' key='ras2' desc='Input multi-port as "," For example: "8080,8081"' required='0' maxlength='120' check-regular=''></parameter>
</server-template>$$ 
where server_name = 'Generic URL Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='SiteID' type='text' maxlength='10' required='1' check-regular=''></zoneField1>
    <zoneField2 name='UserID' type='text' maxlength='10' required='1' check-regular=''></zoneField2>
    <zoneField3 name='RecordID' type='text' maxlength='10' required='1' check-regular=''></zoneField3>
    <zoneField4 name='Tomcat J2ee App Server VIP' type='text' desc='Must when [Playback Ticket Key Source] is [KM]' maxlength="255" check-regular=''></zoneField4>
    <zoneField5 name='Env' type='select' checkitems='DMZ:DMZ;QA:QA;ATS:ATS;BTS:BTS;PROD:PROD;FedRamp:FedRamp' check-regular=''>PROD</zoneField5>
    <zoneField6 name='Playback Ticket Key Source' type='select' desc='Source of key which used to generate Playback Ticket' checkitems='Disable:0;SIS:1;KM:2' check-regular=''></zoneField6>
</zone-template>$$
WHERE zone_name = 'Streaming Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField1 name='ConfigRN' type='text' required="1" maxlength="255" check-regular=''></serverField1>
    <serverField2 name='Parameter' type='text' desc='LocalDCId in Webex.cfg' maxlength="255" required="1" check-regular=''></serverField2>
</server-template>$$ 
where server_name = 'Media Streaming Controller';


update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Port' type='text' required="1" maxlength="5" check-regular=''></serverField1>
    <serverField3 name='Balance Server?' type='checkbox' checkitems=':1' check-regular=''></serverField3>
</server-template>$$ 
where server_name = 'BRE Server';

update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Port' type='text' required="1" maxlength="5" check-regular=''></serverField1>
</server-template>$$ 
where server_name = 'ACD Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='MZM list' type='text' desc='Only for Eureka3.9 or above, corresponding top zone MZM list, using ";" as space.'  check-regular=''></zoneField1>
    <zoneField4 name='Tomcat J2ee App Server VIP' type='text' desc='Example: nebullaac.webex.com;nebullaab.webex.com' maxlength="255" check-regular=''></zoneField4>
</zone-template>$$
WHERE zone_name = 'Sub Meeting Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Backup MZM Check' type='text' desc="For example: IP:port, the default port is 80." maxlength="255" show-dependency="serverField3:0" check-regular=''></serverField1>
    <serverField3 name='VIP' type='checkbox' desc='If you not checked VIP, you will input the Backup MZM Check.' checkitems=':1' check-regular=''></serverField3>
</server-template>$$ 
where server_name = 'Sub Meeting MZM Server';

UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='TS VIPS:' type='text' desc='*TS VIP list, split by semicolon (;). The version of TS must be 2.6.2 or beyond.' required="1" check-regular=''></zoneField1>
    <zoneField2 name='wbxsiteID:' type='text' check-regular=''></zoneField2>
    <zoneField3 name='Is cascading meeting' type='checkbox' desc='*Is turn on large meeting feature.' checkitems=':1' check-regular=''></zoneField3>
</zone-template>$$
WHERE zone_name = 'Telephone Number Zone';

update mct_server_template set server_template = $$<server-template>
    <parameter name='Country/Region' key='tel1' type='select' checkitems='U.S.A/Canada:1;China:86;Global:-1;Afghanistan:93;Alaska(U.S.A):1907;Albania:355;Algeria:213;Andorra:376;Angola:244;Anguilla I.:1264;Argentina:54;Armenia:374;Aruba I.:297;Ascension:247;Australia:61;Austria:43;Azerbaijan:994;Bahrain:973;Bangladesh:880;Barbados:1246;Belarus:375;Belgium:32;Belize:501;Benin:229;Bermuda Is.:1441;Bhutan:975;Bolivia:591;Botswana:267;Brazil:55;Bulgaria:359;Burkinafaso:226;Burundi:257;Cameroon:237;Cape Verde:238;Cayman Is.:1345;Central Africa:236;Chad:235;Chile:56;Colombia:57;Comoro:269;Congo:242;Cook IS.:682;Costa Rica:506;Croatian:383;Cuba:53;Cyprus:357;Czech:420;Denmark:45;Diego Garcia I.:246;Djibouti:253;Ecuador:593;Egypt:20;El Salvador:503;Eritrea:291;Estonia:372;Ethiopia:251;Falkland Is.:500;Faroe Is.:298;Fiji:679;Finland:358;France:33;French Guiana:594;Gabon:241;Gambia:220;Georgia:995;Germany:49;Ghana:233;Gibraltar:350;Greece:30;Greenland:299;Grenada:1809;Guam:671;Guatemala:502;Guinea:224;Guinea-bissau:245;Guyana:592;HongKong:852;Haiti:509;Hawaii:1808;Honduras:504;HunGary:36;Iceland:354;India:91;Indonesia:62;Iran:98;Iraq:964;Ireland:353;Israel:972;Italy:39;Ivory Coast:225;Jamaica:1876;Japan:81;Jordan:962;Kampuchea:855;Kenya:254;Kiribati:686;Korea(dpr):850;Korea(republic):82;Kuwait:965;Laos:856;Latvia:371;Lebanon:961;Lesotho:266;Liberia:231;Libya:218;Lithuania:370;Luxembourg:352;Macao:853;Macedonia:389;Madagascar:261;Malawi:265;Malaysia:60;Maldive:960;Mali:223;Malta:356;Mariana Is.:670;Marshall Is.:692;Martinique:596;Mauritania:222;Mauritius:230;Mexico:52;Micronesia:691;Moldova:373;Monaco:377;Mongolia:976;Montserrat I.:1664;Morocco:212;Mozambique:258;Myanmar:95;Namibia:264;Nauru:674;Nepal:977;Netherlands:31;New Zealand:64;Nicaragua:505;Niger:227;Nigeria:234;Niue I.:683;Norfolk I,:6723;Norway:47;Oman:968;Palau:680;Panama:507;Paraguay:595;Peru:51;Philippines:63;Poland:48;Portugal:351;Pskistan:92;Puerto Rico:1787;Qatar:974;Reunion I.:262;Rumania:40;Russia/Tajikistan/Uzbekistan:7;Rwanda:250;San.Marino:378;Saudi Arabia:966;Senegal:221;Seychelles:248;Singapore:65;Slovak:421;Slovenia:386;Solomon Is.:677;Somali:252;South Africa:27;Spain:34;Sri Lanka:94;St.Helena:290;St.Lucia:1758;St.Vincent I.:1784;Sudan:249;Suriname:597;Swaziland:268;Sweden:46;Switzerland/Liechtenstein:41;Syria:963;Taiwan:886;Tanzania:255;Thailand:66;Togo:228;Tokelau Is.:690;Tonga:676;Tunisia:216;Turkey:90;Turkmenistan:993;Tuvalu:688;Uganda:256;Ukraine:380;United Kingdom:44;Uruguay:598;Vanuatu:678;Vatican:379;Venezuela:58;Vietnam:84;Western sahara/Yemen:967;Yugoslavia:381;Zaire:243;Zambia:260;Zanzibar:259;Zimbabwe:263;' check-regular=''>1</parameter>
    <parameter name='Area Code' type='text' key='tel2' required='1' maxlength='8' check-regular=''></parameter>
    <parameter name='Telephone Number' type='text' key='tel3' required='1' maxlength='15' check-regular=''></parameter>
    <parameter name='Extension Number' type='text' key='tel4' required='1' maxlength='8' check-regular=''></parameter>
</server-template>$$ 
where server_name = 'Telephone Number Server'; 


update mct_server_template set server_template = $$<server-template>
    <serverField1 name='Positive Match' type='text' maxlength="50" check-regular=''></serverField1>
    <serverField2 name='Send Data' type='textarea' maxlength="255" check-regular=''></serverField2>
    <serverField4 name='Port' type='text' maxlength="300" required='1' desc="Can input multiple ports and split by ' , '. For example: '9092,9093'." check-regular=''></serverField4>
    <serverField6 name='Concurrency' type='select' checkitems='10:10;20:20;30:30;50:50' check-regular=''>20</serverField6>
    <parameter name='Negative Match' type='text' key='ras1' maxlength='50' check-regular=''></parameter>
    <parameter name='Timeout' type='select' key='ras2' checkitems='60 sec:60;90 sec:90;120 sec:120;150 sec:150;180 sec:180;210 sec:210;240 sec:240;270 sec:270;300 sec:300' check-regular=''>60</parameter>
    <parameter name='Retries' type='select' key='ras3' checkitems='1 times:1;2 times:2;3 times:3;4 times:4;5 times:5' check-regular=''>1</parameter>
</server-template>$$ 
where server_name = 'Generic Port Monitoring Server';


UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
    <zoneField1 name='MZM List' type='text' desc='Multi MZM IPAddress split by semicolon (;) as space' required='1' check-regular=''></zoneField1>
    <zoneField2 name='MCC VIP' type='text' desc='Must input when test video session start from tpgw.' check-regular=''></zoneField2>
    <zoneField5 name='Tomcat J2ee App Server VIP' type='text' desc='Must when [SMAC Key Source] is [KM]' maxlength="255" check-regular=''></zoneField5>
    <zoneField6 name='SMAC Key Source' type='select' desc='Source of key which used to generate SMAC' checkitems='Disable:0;SIS:1;KM:2' check-regular=''>0</zoneField6>
    <parameter name='MCC LocalDCId' key='localDCId' type='text' desc='LocalDCId in Webex.cfg. Must input when test video session start from tpgw.' check-regular=''></parameter>
    <parameter name='Env' type='select' key='env4TPGW' checkitems='IL5:IL5;DMZ:DMZ;QA:QA;ATS:ATS;BTS:BTS;PROD:PROD;FedRamp:FedRamp' check-regular=''>PROD</parameter>
</zone-template>$$
WHERE zone_name = 'TP Gateway Zone';

update mct_server_template set server_template = $$<server-template>
    <serverField3 name='Port' type='text' required="1" maxlength="5" check-regular=''></serverField3>
</server-template>$$ 
where server_name = 'TP Gateway Server';

disable xml

UPDATE mct_zone_template mzt
SET zone_template = $$<zone-template>
</zone-template>$$
WHERE zone_type in ('Meeting Zone', 'Meeting Zone', 'Web Zone', 'Tel Zone', 'Tel Zone', 'Email Zone', 'J2EE Web Zone', 'J2EE App Zone', 'URL Watch Zone', 'Generic URL Zone', 'Streaming Zone', 'Streaming Zone', 'WebACD Zone', 'WebACD Zone', 'Sub Meeting Zone', 'Sub Meeting Zone', 'Telephone Number Zone', 'Generic Port Monitoring Zone', 'TP Gateway Zone');

update mct_server_template set server_template = $$<server-template>
</server-template>$$ 
where server_type in ('Meeting MZM Server', 'Meeting CB Server', 'WWP Server', 'Java Telephony Server', 'TSP Telephony Server', 'Mail Server', 'J2EE Web Server', 'J2EE App Server', 'URL Watch Server', 'Generic URL Server', 'Media Streaming Server', 'Media Streaming Controller', 'BRE Server', 'ACD Server', 'Sub Meeting MZM Server', 'Sub Meeting cb Server', 'Telephone Number Server', 'Generic Port Monitoring Server', 'TP Gateway Server');