PingDirectory Server's support for virtual attributes is a useful facility that can dynamically generate values in entries for a wide range of use cases. These are used to generate key operational attributes like entryDN, subschemaSubentry, isMemberOf, numSubordinates, hasSubordinates, and ds-entry-checksum. The values of other attributes in the same or different entries can be mirrored, and values can be constructed from other attributes in the same entry. Items such as password policies and privileges can be dynamically, and it is also possible to create custom virtual attribute providers with the Server SDK using a wide variety of logic.
However, virtual attributes are not an ideal solution for all use cases. This section provides information on conposed attributes, which dynamically generate attribute values to complement virtual attributes. Composed attributes are suited for some scenarios that virtual attributes do not support.