I need to understand how session relevance through the web reports soap API works for global retrieved propertues and analysis properties.
I query for computer properties as follows:
<?Relevance
trs of
(
(
td of (if (exists ID of item 0 of it ) then (concatenation ";" of (ID of item 0 of it as string)) else "") &
td of (if (exists result (item 0 of it, item 1 of it))then (concatenation ";" of values of result (item 0 of it, item 1 of it))else ("")) &
td of (if (exists result (item 0 of it, item 2 of it))then (concatenation ";" of values of result (item 0 of it, item 2 of it))else (""))
)
of
(
bes computers, bes property "PROP1", bes property "PROP2"
)
)
?>
I would like to understand how the web reports relevance SOAP API behaves in the following scenarios :
PROP1 is a global retrieved property and there exists an analyses A1 with an analyses retrieved property called PROP1 (same name as the global property). Which value would be pulled by the relevance above ?
I try to fetch retrieved property PROP3 defined for an analysis A2 for all computers when the analysis is applicable only for a subset of the population.
Is there a specific relevance query feature that allows us to differentiate between an analyses property and global retrieved property (i.e., if there’s any kind of namespace resolution e.g. PROP1 vs A1.PROP1)
Also, If there’s there any documentation around web relevance for analysis properties, can you please point me to it.
(bes property “prop1”) will return the first property that it finds with that name. In practice, you can consider it randomly picking the property and thus it is bad way to look up properties (albeit a useful shorthand if there is only one property). You should instead re-write it to be more specific like:
bes property whose (name of it = “prop1” and name of source analysis of it = “A1”)
There will only be results returned for computers which have returned a result (because they were applicable to the analysis).
<?Relevance
trs of
(
(
td of (if (exists ID of item 0 of it ) then (concatenation ";" of (ID of item 0 of it as string)) else "") &
td of (if (exists result (item 0 of it, item 1 of it))then (concatenation ";" of values of result (item 0 of it, item 1 of it))else ("")) &
td of (if (exists result (item 0 of it, item 2 of it))then (concatenation ";" of values of result (item 0 of it, item 2 of it))else (""))
)
of
(
bes computers, bes property whose (name of it = "prop1" and name of source analysis of it = "A1"), bes property "PROP2"
)
)
?>
The relevance query generation module also checks for the validity of the retrieved property and that would need changes too for correct scope resolution.
Like we have a mechanism in the relevance language for analysis scope resolution, is there a way in the BigFix relevance language to force the property resolution to resolve only within the set of global retrieved properties so that there is error-free scope resolution.
What would the relevance query need to change when there alias global retrieved property referred within an analysis ?
e.g. The “Set Global Property Columns” allows us to associate global retrieved properties from the web reports UI. There are some analyses where a reference to a global retrieved property is part of the analysis definition:
Is it possible to alias global retrieved property within the analysis?
You can narrow the results from the ‘bes properties’ inspector by filtering out various types of properties. Here are a few of the pertinent properties of the ‘bes properties’ type:
reserved flag of : boolean
custom flag of : boolean
default flag of : boolean
analysis flag of : boolean
So to exclude analysis properties, use something like this:
values of results of bes property whose (not analysis flag of it AND name of it = “OS”)
To see all the properties of the ‘bes properties’ object, use the relevance language ‘intraspectors’: