With property templates you can create custom properties that can be added to any number of classes. Having a standard template from which to create class properties promotes the re-use of properties within a single object store and across multiple object stores. Custom properties retain an association with the property template that was used to create them. They rely on it as the source of their display name and descriptive text, making it also a single point for localization and change.
As an example, a property template could be created containing a single Boolean value defining whether a document object's content is ready for publishing. Its initial value would be set to "No". Several document classes could each be assigned a custom property based on this property template. All documents checked in using those classes would have this property and its value would be "No". A business process would determine the publishing date. It would search for all objects which fulfill the requirements for publishing, and set this property's value to "Yes" on those objects. This change could then trigger an event that would actually carry out the publishing of the object's content.
Each newly created custom property inherits its initial attributes and any associated default settings from its property template. Thereafter most attributes (default value, constraints, and so on) can be changed on a per-class basis. Some attributes (property name, description, and datatype) are strictly controlled by the property template and cannot vary across classes.
Changes made directly to a custom property are local to that custom property's class and are not inherited by the property template nor by any other custom properties based on the property template.
See Concepts: properties for more information.