2022 April Release

Customization Point FSCVENVUI@1.1001:CPMindbreezeQueryConstraints Permanent link for this heading

This customization point defines a list of Mindbreeze query constraints based on object class, room class and constraint type, which are used to restrict the search results of the Mindbreeze query to particular search scopes.
The customization point is evaluated on the current object the user navigates to on the client.
If you want to make use of default query constraints you may call the action FSCTEAMROOM@1.1001:GetMindbreezeQueryContraints.
When defining this customization point the optional keys may be null, therefore a special evaluation mechanism is required. Instead of direct evaluation of the customization point, the action EvaluateCPMindbreezeQueryConstraints is used.

Example:
customize CPMindbreezeQueryConstraints<Folder, null, null> {
  queryconstraintdicts = expression {
    dictionary[] constraints = [];
    if (cooobj) {
      TeamRoom room = cooobj.GetObjectRoom(, true);
      if (room) {
        constraints += {
          id:"teamroom",
          name:"In Teamroom \"" + room.objname + "\"",
          constraint:"objteamroom/annotation/mes:key:"+ room.objaddress,
        };
      }
      Group group = cooobj.objowngroup;
      if (group) {
        constraints += {
          id: "group",
          name: "In Group \"" + group.objname + "\"",
          constraint: "objowngroup/annotation/mes:key:" + group.objaddress,
        };
      }
      constraints += {
        id: "all",
        name: "Everywhere",
        constraint: "ALL",
      };
      constraints[0].defaulttab = true;
    }
    return constraints;
  }
}

dictionary[] FSCVENVUI@1.1001:CPMindbreezeQueryConstraints(
  key ObjectClass objclass,
  key optional ObjectClass roomclass,
  key optional MindbreezeQueryConstraint constrainttype,
  out retval dictionary[] queryconstraintdicts)

Name

Description

objclass

Customization point applies if the current object belongs to this class.

roomclass

Customization point applies if the current object belongs to a room of this type.

constrainttype

Input parameter to identify the context; an instance of the type FSCVENV@1.1001:MindbreezeQueryConstraint; currently only FSCVENV@1.1001:MQC_GENERAL is used to calculate the default query constraints used in the default search of the browser client.

queryconstraintdicts

Defines a list of dictionaries that describe multiple search constraints. each dictionary consists of the following entries:
  • id: A unique id of the constraint (search scope respectively).
  • name: The name of the constraint; this text will be displayed in the "Where" facet box in the search view and the autocomplete dropdown list of the search box.
  • constraint: A Mindbreeze query constraint string that restricts the search to this particular scope.
  • contextobj: Defines the context object for this constraint.
    Note: Further customizations relating to the search may be evaluated on this context object. If a search constraints defines an app, for example, then the AppDashboard should be used as the context object.
  • defaulttab: true if this constraint should be the default constraint, e.g. the constraint that is used if the user does not choose a particular constraint from the autocomplete dropdown list of the search box.
    Note: If FSCVENV@1.1001:CPMindbreezeQueryContraints supports multiple constraints, one constraint has to be marked as default with the property defaulttab.

Additional Information