Property inheritance

All built-in, or system, properties assigned to a particular root class are inherited by all its subclasses. Similarly, all custom properties added to a class are inherited by all of its subclasses.

If you...

  • Add a custom property to a superclass, the property is added to all new and existing subclasses; however, the property in the existing versions has no value.
  • Delete a custom property from a superclass, the property is not deleted from any subclasses. After you delete the custom property from a superclass, you can manually delete it from its subclasses.
  • Update a custom property on superclass, the change propagates to new versions and subclasses. The property is not updated in existing subclasses and versions.
  • Add an alias ID to a superclass, the alias ID is added to all subclasses.
  • Change the Maximum Length for a string or binary property, the change propagates to subclasses with a higher maximum value or where the value was not set.
  • Change the Minimum Value or Maximum Value of a property, the change propagates to all subclasses where the current value is less than the new value, or where a value is not set.
  • Change a property's value for Settability, the change propagates automatically only if the new setting is more restrictive than the previous setting. The Settability order from least restrictive to most restrictive is Read/Write, Set only before checkin, Set only on create, and Read only.

    Similarly, change a property's value for Value Required, the change propagates automatically only if the setting is more restrictive than the current setting.

    For example, if you...

    • Change a property's Settability value from Read Only to any other value, or change Value Required from true to false, the change does not propagate to subclasses. Make this change manually.
    • Change a property's Settability value from Read/Write to any other value, or change Value Required from false to true, the change is propagated to all subclasses.