Filtering Issues

Filtering is the way a request XML packet indicates the object (one or several domains) to which an operation is to be applied. Parameters nested in the filter node are called filtering rule.

The filter node is presented by the DomainFilterType complex type (domain_input.xsd). Its graphical representation is as follows:

 

Two types of filtering are available:

 

Individual filtering

The following packet requests hosting settings of domains specified by their id:

<packet version="1.6.0.0">
<domain>
<get>
   <filter>
      <id>124</id>
      <id>127</id>
   </filter>
   <dataset>
      <hosting/>
   </dataset>
</get>
</domain>
</packet>

 

The following packet is identical except it specifies domains by their names:

<packet version="1.6.0.0">
<domain>
<get>
   <filter>
      <domain-name>example.com</domain-name>
      <domain-name>sample.com</domain-name>
   </filter>
   <dataset>
      <hosting/>
   </dataset>
</get>
</domain>
</packet>

The following packet is invalid as both the id node and the domain-name node are used in the same filter:

<packet version="1.6.0.0">
<domain>
<get>
   <filter>
      <domain-name>example.com</domain-name>
      <id>126</id>
   </filter>
   <dataset>
      <hosting/>
   </dataset>
</get>
</domain>
</packet>

To fix this issue, use two different <get> sections:

<packet version="1.6.0.0">
<domain>
<get>
   <filter>
      <domain-name>example.com</domain-name>
   </filter>
   <dataset>
      <hosting/>
   </dataset>
</get>
<get>
   <filter>
      <id>126</id>
   </filter>
   <dataset>
      <hosting/>
   </dataset>
</get>
</domain>
</packet>

 

Group filtering

The following packet removes all domains owned by two Plesk users:

<packet version="1.6.0.0">
<domain>
<del>
   <filter>
      <owner-id>1324</owner-id>
      <owner-id>1325</owner-id>
   </filter>
</del>
</domain>
</packet>

The same packet removes domains of JDoe and RRoe Plesk users:

<packet version="1.6.0.0">
<domain>
<del>
   <filter>
      <owner-login>JDoe</owner-login>
      <owner-loginn>RRoe</owner-login>
   </filter>
</del>
</domain>
</packet>

The following packet is invalid as it uses both the owner-id node and the owner-login node within one filter:

<packet version="1.6.0.0">
<domain>
<del>
   <filter>
      <owner-id>1324</owner-id>
      <owner-login>RRoe</owner-login>
   </filter>
</del>
</domain>
</packet>

To fix this packet, use two different <del> sections:

<packet version="1.6.0.0">
<domain>
<del>
   <filter>
      <owner-id>1324</owner-id>
   </filter>
</del>
<del>
   <filter>
      <owner-login>RRoe</owner-login>
   </filter>
</del>
</domain>
</packet>

The following packet sent by Plesk Administrator removes all domains available in Plesk. If sent by a Plesk client/reseller, it will delete all domains of this client/reseller:

<packet version="1.6.0.0">
<domain>
<del>
   <filter/>
</del>
</domain>
</packet>