Skip to main content
Theo Hollenberg
Explorer ⭐⭐
September 10, 2026
Solved

Werkt ?interpret nog?

Ik gebruik op SaaS in een Freemarker step een variabele die testLib heet en '<#function joehoe><#return "YOYO"></#function>'  bevat.

Nu is dit mijn freemarker template bij het zetten van de variabele BLAAT:

<@_variables["testLib"]?interpret />
${joehoe()}

De error die ik krijg is:
Step 1 'Assigning to variable "BLAAT"'
[2026-09-10T12:43:32.994100050Z] Starting FreeMarker template processing
[2026-09-10T12:43:32.994549660Z] Error while processing FreeMarker template: The following has evaluated to null or missing:
==> joehoe  [in template "action" at line 2, column 3]

Begrijp ik hieruit dat ?interpret niet meer werkt op SaaS?

Theo Hollenberg
Explorer ⭐⭐
September 11, 2026

Natuurlijk werkt het niet. Ook op variables wordt Freemarker losgelaten. Dat betekent dat ik mijn te interpreteren Freemarker code moet URL escapen.

Dus de variablele bevat nu:

&lt;#function joehoe &gt;&lt;#return &#39;YOYO&#39;&gt;&lt;/#function&gt;

En die wordt als volgt geïnterpreteerd:

<@_variables.testLib?replace("&lt;", "<")?replace("&gt;", ">")?replace("&quot;", "\"")?replace("&#39;", "'")?replace("&amp;", "&")?interpret />

Helaas een beetje omslachtig maar zolang TOPdesk niet de mogelijkheid biedt om op een nette manier global functions en macros toe te voegen, is dit wat het is.

Overigens heb ik bij sommige klanten die functies in assets staan en haal ik, naar gelang nodig die assets eerst op boven in mijn actiereeks om die dan per freemarker blok in een regel te interpreteren. Mooi als je je generieke code maar op 1 plek wil beheren.

Enablement is key

4 replies

Theo Hollenberg
Explorer ⭐⭐
September 10, 2026

Overigens werkt het volgende wel:

<#assign code = "<#function joehoe ><#return 'YOYO'></#function>">
<@code?interpret />
${joehoe()}

en het volgende niet:

<#assign code = _variables.testLib>
<@code?interpret />
${joehoe()}

Waarbij de waarde van _variables.testLib het volgende is:

<#function joehoe ><#return 'YOYO'></#function>

 

Translate
Enablement is key
Theo Hollenberg
Theo HollenbergAuthorAnswer
Explorer ⭐⭐
September 11, 2026

Natuurlijk werkt het niet. Ook op variables wordt Freemarker losgelaten. Dat betekent dat ik mijn te interpreteren Freemarker code moet URL escapen.

Dus de variablele bevat nu:

&lt;#function joehoe &gt;&lt;#return &#39;YOYO&#39;&gt;&lt;/#function&gt;

En die wordt als volgt geïnterpreteerd:

<@_variables.testLib?replace("&lt;", "<")?replace("&gt;", ">")?replace("&quot;", "\"")?replace("&#39;", "'")?replace("&amp;", "&")?interpret />

Helaas een beetje omslachtig maar zolang TOPdesk niet de mogelijkheid biedt om op een nette manier global functions en macros toe te voegen, is dit wat het is.

Overigens heb ik bij sommige klanten die functies in assets staan en haal ik, naar gelang nodig die assets eerst op boven in mijn actiereeks om die dan per freemarker blok in een regel te interpreteren. Mooi als je je generieke code maar op 1 plek wil beheren.

Translate
Enablement is key
Sanne van Opstal-Brakel
Employee
Employee
September 11, 2026

Heb je hiermee zelf je vraag beantwoord ​@Theo Hollenberg ?

Translate
Sanne van Opstal-Brakel, your TOPdesk Community Fairy Godmother
Theo Hollenberg
Explorer ⭐⭐
September 11, 2026

Inderdaad Sanne, wellicht is het concept ook te lastig voor de meeste community gebruikers.

Translate
Enablement is key