<== object object_name ==> [field1 operator value1] [field2 operator value2] … [fieldn operator valuen]
This directive is used to define an object to be used as a link between two fields of different types. The most common purpose for this directive is to use it to enter a value into a text field, and have this value added to an existing field with a display type of list or pop-up.
Use the object directive to use a value entered in a text field to be inserted as a new value in a list field.
The most common operator to use within the syntax for each expression is the equal sign (=), but others may be used according to this table:
Field Display Type | Multi-Value Field Support | Valid Operators |
Enumerated list fields User Fields |
Y | =, !=, <>, contains, contains any, contains all, contains none, excludes |
Enumerated list fields User Fields |
N | =, !=, <> |
Text Fields Text Area Fields HTML Area Fields |
N | =, !=, <> |
Numeric Fields | N | =, !=, <>, >, <, >=, <= |
Date & Day Fields | Not supported | |
Image & Document Fields | Not supported |
The list of filters that you enter are all ANDed together to evaluate the expression
As an example, you may create directive rules similar to:
<== object cust ==> AREA='Customers', LINK=CUST_LIST, TITLE=SHORT_DESCR, PRIVACY=false
<== object cust.{guarantee} ==> AREA='Customers', LINK=CUST_LIST, TITLE=SHORT_DESCR, PRIVACY=false
<== object custpopup ==> AREA='Customers', PROJECT='Contacts', LINK=CUST_POPUP, TITLE=SHORT_DESCR, PRIVACY=false, DO_NOT_MIGRATE=true
This link may be used in a rule similar to:
if (CUST_LIST.{changed}) {
CUST_CONTACT = (cust).CUST_CONTACT;
EMAIL_ADDRESS = (cust).EMAIL_ADDRESS;
}
A multi-valued expression filter may look like each of the two following examples:
MULTI_VALUE_FIELD contains x;y;z
NUMERIC_VALUE_FIELD <= 1.9
When the directive is followed by one or more name operator value combinations, the object rule will only be triggered when all the filter expressions match the values.
This is a list of all the parameters that may be used with the object directive:
LINK=<LIST or POPUP field name>
Required – contains the name of the field with the list entry to be added, modified, or deleted
TITLE=<TEXTFIELD field name>
Required – contains the name of the field containing the title or text to be added to the list entry
PARENT=<field name>
Optional – contains the name of the parent field of the LINK field in an allowed value relationship
AREA=<area title>
Required – specifies the area of the issue where the object rule is executed
PROJECT=<project title>
Optional – specifies the project within the AREA where the object rule is executed. If this is not defined, then the object directive is executed for all PROJECTS within the defined AREA
RG_NAME=<relationship group name>
Unused at present
PRIVACY=TRUE | FALSE
Optional – the option to add PRIVACY=true
will add the customer to a privacy group with the same title, and add the current user to that privacy group.
DO_NOT_MIGRATE=TRUE|FALSE
Optional – The default is FALSE, indicating that the values will be migrated with the XML Export / Import utility. If the value is provided and has a value of TRUE, then all User Defined Field values created with the OBJECT rule are not migrated from one ExtraView instance to another via the XML Export / XML Import utilities. This allows the addition of test data values within one instance using the OBJECT rule, but ensures the data is not migrated to the target instance. Note that the UDF list utility will show which values were added with this parameter.
In summary, the link causes a value entered into the CUSTOMER field in the Customers business area to be automatically added to the list named CUST_LIST. This list is available in any other business area and is used in the rule to bring the values associated with the customer into the current screen, when a customer is chosen from its list.
The {guarantee}
qualifier to the object
rule allows an issue to be created when the rule is executed, but prevents the value to the title being added as a duplicate to the list. If the value does not exist, it will be created but if the value exists, that will be used.