About extending and replacing forms

Mongoose forms can form an inheritance hierarchy, with child forms extending parent forms in an arbitrary tree structure. This topic introduces a variation of the extension mechanism called “extend and replace.” When utilized, a form that “extends and replaces” a parent form is opened when a request to open the parent form is received, transparent to the user. This is similar to the extend and replace feature for IDOs.

You can enable this extension mechanism by selecting the Load/replace form with extended form check box on the User Preferences dialog box.

When the user requests a form, IDO Runtime follows this hierarchy of priority to determine which form definition must be returned:

  1. Form Extensions form entry for Form Name

    If the Form Name value is the same as the Replaced By Form value, the extend and replace feature will not take place. IDO Runtime simply returns the requested form definition.

  2. Descendant forms in extension hierarchy with Replace Base Form property set to True
  3. Highest descendant level
    • If there is no form found at this level, then the requested form definition is returned.
    • If there is one form found at this level, then the requested form definition is replaced by that descendant form definition.
    • If there are multiple forms found at this level, then you must use the Form Extensions form to determine which form definition must be returned.
  4. Form Extensions form entry:
    1. Language ID
    2. Scope Type

To identify which extended form is used to replace the requested form based on the hierarchical level, select Help > About This Form then click the Warning Message(s) button.

Related topics