Ok…What I did to create a JEXL Expression is:
a). Shut Down the Rhytmyx Server, Created a jar file with a simple Jexl
b). copied the jar file to WEB-INF/lib directory
c). Executed installExtensions target:
ant -f deploy.xml installExtensions.
d) Started the server.
e) Open Workbench
f) Went to System View, and looked under Extensions/ JEXL Expressions
g). I see the new JEXL under the node
h). Went to edit an existing template,
i). In the template, typed: $rx.
j). Opened the AutoComplete window.
I dont see the newly created Extension anywhere? First of all, my understanding is that the new extension should appear in this list. Is this correct, is there any step I missed in the above sequence?
What “Context” did you give your new extension? The only contexts that appear in the typeahead are “global/percussion/system” and “global/percussion/user”. Anything will not appear.
Also, check that you have correctly implemented the IPSJexlExpression interface and that each of your methods has the appropriate @IPSJexlMethod annotation.
The extension didnot appear when I was using $rx in the templates. However, when I used $user the extension started to appear.
Is it OK to use $user instead of $rx for referencing extensions in the template?
$user is the prefix used for custom JEXL functions. You should always use it when referring to fucnitons you have created. The prefix $rx is a system prefix.
In the Rhythmyx Implementation Guide (Version 6.6 link), see the topics “Binding Variables” and “System Functions”.