Declare Index form - Completing the Indexes tab

Use this tab to convey how and when the system constructs an index in a database. The system forms an index instance from the Purpose key part of this rule and the handle of the base instance.

Field Description
Source page context Identify a page that contains the properties used in completing the index data. Typically, this is an embedded page.

Alternatively, enter a pattern that is a Page List or Page Group property reference, but omit the index (subscript). For example, enter:

.PageList().EmbeddedPage.AnotherPageList().

to cause the system to create an index for every embedded page in a top-level page that fits this pattern.

Source page context class Identify the class of the page or pattern entered in the Source Page Context field, typically a class derived from the Embed- base class. In most cases, set this value to match the PageClass field on the General tab of the property.

You cannot use the keywords $ANY, $NONE, or $CLASS here.

Index class to write Identify a concrete class derived from the Index- base class that is to contain the index instances maintained by this rule.
Properties for indexing and mapping Enter in this array the sources of property values to be saved in this index. The order of sources is significant; this determines the sort order of index instances.

To reorder the rows of this array, hold the mouse pointer over a number. Click and drag to another row. To duplicate or move a row, hold the mouse pointer over a number. Or, right-click to access a context menu with Cut, Copy, and Insert options.

Source class property Enter a property reference to a Single Value or Value List mode property including a preceding period character. The property may have any Type, including DateTime, Decimal, or Integer. This property need not be a distinct exposed column in the database table that contains the source class.

It is possible to use page name keywords "top" and "parent" in property references ("parent.property" would refer to a property on the page one level up from the class identified in the Source Class Context field; "top.property" would refer to a property on the primary or top-level page of the Applies To class); however, these references are not reliable.

Change tracking only works with properties that are defined within the page context path. references to "top", "parent", or another named page are not within that path. If you have an instance, and you change a property which is referred to by a "parent" or "top" reference, you cannot be sure that the indexes for that instance will be updated.

Avoid using "top" or "parent" references unless the properties they refer to are constant throughout the lifetime of an instance.

Mapping Select Equals.
Index class property Identify in each row of this array the destination property, available in the class you entered in the Index Class To Write field, that is to hold the value of the source property.
Indexing conditions  
When Optional. Enter the second key part of a when condition rule to further qualify which indexes are created by this rule, or an expression resulting in a Boolean value.The system uses the Applies To key part of this Declare Index rule as the Applies To key part of the when condition.

The system evaluates this rule or expression each time an instance of the Applies To class is saved by any requestor. Both outcomes — true and false — may create or remove indexes:

  • If the condition or expression is false, no Index- instances (from that Applies To instance) must be present. None are added. Any existing Index- instances are deleted.
  • If the condition or expression evaluates to true, Index- instances appropriate to this Declare Index rule are added. Previously created Index- instances may be deleted.
Index even when a source property is blank Select to create index objects even if one or more of the Source Class Properties listed has no value.

Clear to create index objects only when all the source properties have a non-blank value.