How to add custom fields per TLD for when domain names are ordered or a contact is assigned to an existing domain name.
Overview
Custom fields makes the setup easier for selling TLDs, since these often have specific requirements for contacts. The custom fields are stored as a serialised dictionary in custom_fields property of DomainRegService in Automation Server. They are also populated to contacts in Atomia Domain Registration.
The configured custom fields are requested automatically in the Order Website and Billing Customer Panel when domains are ordered. Custom fields are also required in the Hosting Control Panel when a contact is attached to an existing domain name, if it is missing required fields. With the default installation, custom fields are required when ordering .US domain names.
Configuration of custom fields is done through customer validation rules. Default validation configuration is in product, but this configuration can be extended with an override file.
Configuring custom fields
- Add C:\Program Files (x86)\Atomia\Common\atomiaConfigurationStore.overrides file on all servers that host Atomia GUI applications.
- Add custom validation rules in the file for each field. See Atomia Configuration Defaults. The override file must follow the formatting rules given in the default file. For custom fields, only regexp rule types are supported. Rule format for custom fields is as follows:
custom_fields.<RuleSetNo>.<FieldName>.<CountryOption>.<ProductGroupOption>.<ProductOption>
- Add resource file entries for field names and validation error messages in the CustomFields global resource files for the custom theme. Field name resource entry must have <FieldName> part of the rule as a key. Validation message translations must have <FieldName>.<CountryOption>.<ProductGroupOption>.<ProductOption> as a key. For given .US configuration, use the following entries:
<data name="nexus_app_purpose" xml:space="preserve"> <value>Application purpose</value> </data> <data name="nexus_app_purpose.default.default.dmn-us" xml:space="preserve"> <value>Application purpose can be P1, P2, P3, P4 or P5</value> </data> <data name="nexus_category" xml:space="preserve"> <value>Nexus category</value> </data> <data name="nexus_category.default.default.dmn-us" xml:space="preserve"> <value>Nexus category can be C11, C12, C21, C31 or C32</value> </data>