You can set properties within the site category as required or read only. Using view mapping to set a property as required, add a required attribute and set the attribute to true. To set a property as read only set the isReadOnly property to true. The following is an example of both property specifications:
<!--You can define this once, and reuse it for any property that you want to mark as required--> <add-item item-descriptor="propertyViewAttributeDefinition" id="SaPvRequiredTrue"> <set-property name="defaultValue"><![CDATA[true]]></set-property> </add-item> <!-- Using Description as an example – note the required attribute, and the isReadOnly property--> <add-item item-descriptor="propertyView" id="SaPvSiteDescription"> <set-property name="name"><![CDATA[Site Description propertyView]]></set-property> <set-property name="description"><![CDATA[Site Description propertyView]]></set-property> <set-property name="mode"><![CDATA[AmMmDef]]></set-property> <set-property name="type"><![CDATA[string]]></set-property> <set-property name="viewComponent"><![CDATA[atg.editor.view property.DefaultEditor]]></set-property> <set-property name="isComponentPropertyView"><![CDATA[false]]> </set-property> <set-property name="isDefault"><![CDATA[false]]></set-property> <set-property name="isReadOnly"><![CDATA[true]]></set-property> <set-property name="attributes"><![CDATA [inputFieldMaxlength=AmPvadIntInputFieldMaxLength, inputFieldMaxWidth=AmPvadIntInputFieldMaxWidth, required=SaPvRequiredTrue]]></set-property> </add-item>
Important: To configure a property, ATG best practices suggest that you add the properties in the view mapping, and not the repository. Any modifications to properties that you make in the repository will apply to all sites.

