|
A dynamic group maintains its member list automatically by auto-adding contexts that match group's Validity Expression, if the latter is specified. It is written using the built-in Expression Language. When a new group is created, or the validity expression itself is updated, AggreGate Server evaluates this expression for every context in the system. If the expression evaluates to true, the server considers that the said context should be dynamically added to the group.

|
Dynamic groups can still have manually added members. However, there is no method to remove dynamically added members from the group.
|

|
Example: Dynamic groups are useful for consolidating devices of a certain type. For example, to make a group containing all printer devices in the system, set the Validity Expression to startsWith({.#type}, 'device') && {.:genericProperties$type} == 'printer'. This expression will resolve to TRUE when the type property for the context being checked (indicated by "." relative context path) starts with device word and type field of genericProperties variable (that contains a user-selected type for a device) equals to printer.
|
|