Evaluator: Metadata not available for eval columns in textual filter

(Seemingly a sibling of this thread; script columns would work here just fine)


When called from a textual filter, evaluator columns will not have access to file metadata, only to file system metadata (shell properties, I guess).

Let's compare two simple eval columns:

// ecTest1
=size<3.5mb ? "small" : "big"

and

// ecTest2
=IsSet(latitude) ? "is set" : "is not set"

They work as expected:

However, only ecTest1 can be properly used in a textual filter, at least with a Select command.

Button 1:

Select FILTERDEF =Val("eval:ecTest1")=="small"

Button 2a:

Select FILTERDEF =Val("eval:ecTest2")=="is set"

Button 2b:

Select FILTERDEF =Val("eval:ecTest2")=="is not set"

XML
<?xml version="1.0"?>
<evalcolumn align="0" attrrefresh="no" autorefresh="no" customgrouping="no" foldertype="all" keyword="ecTest1" maxstars="5" namerefresh="no" reversesort="no" title="ecTest1" type="0">=size&lt;3.5mb ? &quot;small&quot; : &quot;big&quot;</evalcolumn>
<?xml version="1.0"?>
<evalcolumn align="0" attrrefresh="no" autorefresh="no" customgrouping="no" foldertype="all" keyword="ecTest2" maxstars="5" namerefresh="no" reversesort="no" title="ecTest2" type="0">=IsSet(latitude) ? &quot;is set&quot; : &quot;is not set&quot;</evalcolumn>
<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>ecTest1</label>
	<tip>Select FILTERDEF =Val(&quot;eval:ecTest1&quot;)==&quot;small&quot;</tip>
	<icon1>#newcommand</icon1>
	<function type="normal">
		<instruction>Select FILTERDEF =Val(&quot;eval:ecTest1&quot;)==&quot;small&quot;</instruction>
	</function>
</button>
<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>ecTest2a</label>
	<tip>Select FILTERDEF =Val(&quot;eval:ecTest2&quot;)==&quot;is set&quot;</tip>
	<icon1>#newcommand</icon1>
	<function type="normal">
		<instruction>Select FILTERDEF =Val(&quot;eval:ecTest2&quot;)==&quot;is set&quot;</instruction>
	</function>
</button>
<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" textcol="none">
	<label>ecTest2b</label>
	<tip>Select FILTERDEF =Val(&quot;eval:ecTest2&quot;)==&quot;is not set&quot;</tip>
	<icon1>#newcommand</icon1>
	<function type="normal">
		<instruction>Select FILTERDEF =Val(&quot;eval:ecTest2&quot;)==&quot;is not set&quot;</instruction>
	</function>
</button>
1 Like

We'll make that work in 13.5.1.

1 Like