Dynamic Clusters and Properties

You can:

Add dynamic properties to existing classes to implement new or changed functionality without requiring a database reorganization of installations where the changes are installed. These dynamic properties are displayed and can be used in the same way as static properties, including as key elements in MemberKeyDictionary classes.

You can declare one or more property clusters on a class. Dynamic properties can be added rather than static properties, to avoid the need for a reorganization.

When a dynamic property has been defined, it can be used in most places where static properties can be used; for example, in packages, ODBC, keys, and exposures (but not in RPS, Jade audit access, or ad hoc indexes). The two types of dynamic properties are:

The Window sheet of the Preferences or Jade Installation Preferences dialog enables you to change the color with which the text of dynamic design-time and runtime property names are displayed in the Properties List of a hierarchy browser. By default, design-time dynamic properties are displayed in maroon and runtime dynamic properties in magenta.

For details about defining dynamic property clusters, see "Defining Dynamic Clusters", in Chapter 3. For details about defining dynamic attribute and reference properties, see "Defining a Dynamic Attribute Property" and "Defining a Dynamic Reference Property", respectively, in the following subsections.

The following limitations apply when using dynamic clusters and properties.

When you click the OK button on the Define Dynamic Property or Define Dynamic Reference dialog, a message box similar to that shown in the following image is displayed if the class is not versioned or the selected schema is not the latest.

Clicking:

A similar message box is displayed if the class is not versioned or the selected schema is not the latest, so that the change can be versioned, directly applied, or aborted.

Deleting a design‑time dynamic property also displays a similar message box if the class is not versioned or the selected schema is not the latest, allowing the delete action to be versioned, directly applied, or aborted. Note that the deletion of a non‑embedded design‑time dynamic property (exclusive, slob, or blob) requires a reorganization to perform the delete action.

The process of changing a dynamic property is the same as that for a static property, except that:

For details about the scope of design‑time dynamic properties, including a table providing usage decisions, see "Design-Time Dynamic Property Use" and "Deciding Between Static and Design-Time Dynamic Properties".