Quick find, query, and edge filtering are all controlled using the same property comparison mechanism. This property comparison is
-
Configured as an argument on the Quick Find and Query methods.
-
Configured as a property on the Edge Definition.
Simple properties on an object are in the form of InterfaceDefUID~PropertyDefUID~=~Enum value.
-
ISPFDocumentRevision~SPFRevState~=~e1CURRENT
This provides support for !=.
-
ISPFDocumentRevision~SPFRevState~!=~e1SUPERSEDED
Properties on related objects are in the form +/-RelDef.
-
+SPFFileComposition~ISPFDocumentVersion~SPFIsDocVersionSuperseded~=~False
Environment variables can be used.
-
Owner is current username: +SPFItemOwner~IObject~Name~=~ENV.Username
-
Transmittal is valid for user (testing the related Company): +SPFCToInternalOrg~IObject~Name~=~ENV.USERORGANIZATIONNAME
Multiple criteria can be specified that use AND ~ delimited.
-
ISPFDocumentRevision~SPFRevState~=~e1WORKING~+SPFRevisionVersions~ISPFDocumentVersion~SPFIsDocVersionSuperseded~=~False
Alternate values can be tested for one property.
-
ISPFDocumentRevision~SPFRevState~=~e1CURRENT|e1WORKING
Edges are supported using the following format.
-
+EDG_edgename~interfacename~propertyname
Property criteria also supports 1:M relationship testing.
-
+EDG_ItemContractUser~ISPFLoginUser~SPFLoginName~=~ENV.UserName
-
A preceding + or - is used for setting the relationship direction.
-
When criteria use only an = comparison, the string on the left has to equal the string on the right. However, when comparing relationships to objects, the = is smart, and does an ANY comparison. For example, the edge definition can expand from the contract to multiple users, any of which can match the current user.
-
The wild card * is supported for use in a general wild card string, and a _ is supported in a string for single character matching. For example, IObject~Name~=~A_*|B_* works if you want to filter on values starting with an A or B, which are at least 2 characters long, and the _ ensures that the second character is present.
-
Wildcards are not supported with environment variables.
-
If you have to specify multiple values for a property comparison in an edge definition, you can use the NOT IN operator to filter out those results while matching the criteria. For example, “+SPFFiletype~IObject~UID~NOT IN~FT_vecz|FT_binz”. This filters out all the files related to the document except the WebGL files.