Disabling editing and deletion of domains

Tags: 134 views 0

How to disable editing and deletion of domains in the User Panel.


With this setup, editing and deletion of domains is disabled in the Hosting Control Panel’s domain manager. The domain name is also renewed regardless of renewal invoice being paid or not, so that domains don’t get terminated by unpaid invoices. Domain protection can be configured to be valid for one renewal or for eternity. If domain protection until further notice is activated, it must be ended manually as the domain protection subscription itself can’t be deleted from the Billing Customer Panel.

Ordering the domain protection product

The customer can order the domain protection product on the extra services page in the User Panel. On this page the customer fills out the domain name to be protected and selects a payment method. After pressing Order, validation of domain TLD is done based on acceptableDomainTlds attribute, and the provided domain is checked for existence.

Domain protection ordering

Image 1: Domain protection ordering.

After the order is processed and paid for, domain protection is provisioned. The domain is then marked as domain-protected in Hosting Control Panel > Domain manager, and all editing of the domain is disabled.

Whois protection shown in the Control Panel

Image 2: Whois protection shown in the User Panel.

The domain protection service is listed in Billing Customer Panel > Subscriptions.

Whois protection shown in the Control Panel

Image 3: Whois protection shown in the User Panel.

Setting up domain protection

To set up domain protection, the following steps need to be taken:

  1. Set up one or more products.
  2. Configure the product as an extra service.
  3. Configure if shops are used or not.
  4. Configure provisioning service.

These steps are described in detail below.

Setting up one or more products

  1. Go to Admin Panel > Products > Products > Add new product.
  2. Set the following data.
    1. Provisioning service: DomainProtection
    2. Product category: Extra service
    3. Type of Billing: Fixed price and Recurring

Keep in mind

Each item can have its own price, but must have its own article number.

  1. By default, the domain protection product can’t be deleted from the Billing Customer Panel. If this option is desired, add the following to Other data:
    1. Name: ServiceId
    2. Value: 00000000-0000-0000-0000-000000000000
  2. If you want the domain protection product itself to get renewed and not terminated without payment, the following attribute needs to be added in Other data:
    1. Name: ForceProvision
    2. Value: SetWhenProvisioning

Keep in mind

ForceProvision overrides the ServiceId attribute and the domain protection product will not be available for deletion in the User Panel.

  1. Fill out the rest of the properties as you require.

Configuring the product as an extra service

  1. Configure the following to allow a product to be ordered more than once.
    1. Name: allowMultiple
    2. Value: true
  2. Specify that the product is domain based with the following attributes.
    1. Name: domainBased
    2. Value: true
  3. Define the list of packages in which this product is available.
    1. Name: packages
    2. Value: list of package article numbers separated by | character (example: HST-GLDY|HST-GLDQ|HST-GLDM)
  4. Define the list of domain items for which this product is applicable.
    1. Name: applicableToArticleNumbers
    2. Value: list of domain item article numbers separated by | character (example: DMN-COM|DMN-NET|DMN-ORG)

Keep in mind

When defining list of domain items, domain protection is available for purchase only if the customer has at least one domain from the list.

  1. Configure the system to only accept the order if the provided domain exists in the customer’s subscriptions.
    1. Name: checkIfDomainExists
    2. Value: true
  2. Define the list of TLDs for domain validation when order is submitted.
    1. Name: acceptableDomainTlds
    2. Value: list of TLDs for domain validation separated by | character (example: com|net|org)


The list of TLDs must match applicableToArticleNumbers item TLDs.

Configuring if shops are used

    1. Go to Admin Panel > Products > Products and select to Edit the domain protection product in the list.
    2. In segment Other data, the attributes specified above need to be added.

Example properties for domain protection extra service product

Image 4: Example properties for domain protection extra service product.

Configuring if shops are not used

    1. Open the Atomia.Web.Plugin.HostingProducts.dll.config file in the BillingCustomerPanel’s bin folder. Usual path is: C:\Program Files (x86)\Atomia\BillingCustomerPanel\bin\Atomia.Web.Plugin.HostingProducts.dll.config
    2. Add attributes to the file in configuration / hostingProductsConfigurationSection / productsList. See example entry below.
<product id="someid1" articalNumber="DMNPROT" productCategory="ExtraService" resourceKey="DomainProtection">
        <customAttribute name="allowMultiple" value="true"/>
        <customAttribute name="domainBased" value="true"/>
        <customAttribute name="packages" value="HST-GLDY|HST-GLDQ|HST-GLDM" />
        <customAttribute name="applicableToArticleNumbers" value="DMN-COM|DMN-NET|DMN-ORG" />
        <customAttribute name="checkIfDomainExists" value="true" />
        <customAttribute name="acceptableDomainTlds" value="com|net|org" />

Configuring provisioning service

    1. Open the Web.config file in the BillingAPI’s folder.
    2. Add the following configuration to DomainProtection:
  <customProduct name="DomainProtection" provisioningService="DomainProtection" handlerClass="Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin.DomainPropertiesHandler, Atomia.Billing.Plugins.ProvisioningPlugins.AtomiaProvisioningPlugin">
        <property name="DomainPropertyNames" value="DomainProtectionEnabled|ForceProvision" />
        <property name="AddToSubscription0" value="true" />
        <property name="AddToSubscription1" value="true" />
        <property name="DomainPropertyValueDefaultAdd1" value="true" />
        <property name="DomainPropertyValueDefaultRemove1" value="false" />
        <property name="SetSubscriptionToRecurring" value="true" />
        <property name="NoSuspendUnsuspend" value="true" />
  1. Here is a full list of attributes that can configured and their purposes:
    1. DomainPropertyNames: List of properties that are affected with provisioning of product. Separated by | character.
    2. AddToSubscriptionN: Specifies that the Nth + 1 property from DomainPropertyNames is added/changed as a domain subscription custom attribute.
    3. AddToDomainRegDomainN: Specifies that the Nth + 1 property from DomainPropertyNames is added/changed as a DomainRegDomain service property.
    4. DomainPropertyValueDefaultAddN: Specifies the value of property which is set when provisioning or unsuspending Nth + 1 property from DomainPropertyNames. (If not specified for property, default is 1).
    5. DomainPropertyValueDefaultRemoveN: Specifies the value of property which is set when terminating or suspending Nth + 1 property from DomainPropertyNames. (If not specified for property, default is 0).
    6. SetSubscriptionToRecurring: Sets domain subscription to recurring.
    7. NoSuspendUnsuspend: Disables Suspend and Unsuspend actions.

Was this helpful?