commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From henrib <>
Subject [JEXL] Towards a JEXL 2.1 release
Date Fri, 15 Jul 2011 09:06:05 GMT
Dear Jexl community;
I'd like to make the case for a JEXL 2.1 release - instead of the intended
Besides the bug fixes and the enhancements around arithmetic (scale,
precision, number formats), new feature needs have matured and cristallized,
mostly around a better control over what JEXL allows and does.

One of the usage of the library is to use it for power users to "script"
features in an application; if we consider an ETL framework or specialized
{document,data}base engine, there must be a way to describe which data is
fetched or how it is formatted (say a "strange" CVS-derived format for
instance). JEXL is one technical answer to this kind of functional need.
In more general terms, JEXL is a simple scripting language that applications
can exploit to gain versatility in their user exposed feature-set. 

However, as of 2.0.x, JEXL lacked some required control to avoid these users
to bring the server to its knees - creating runaway scripts - or call
methods that although public, are not intended for general consumption and
could have ill side-effects if inproperly used. It also lacks some control
wrt to the evaluation context; all variables being exposed through that
context, it is too easy to pollute and it is hard to detect unintentional
variable creation. It would also be convenient to be able to check  that a
script only accesses known/exposed variables and avoid some potential
runtime failure.

Those issues have been clearly identified and their resolution is available
in the trunk or underway.
These are tracked under:
JEXL-113: Add functions to extract which variables, parameters and local
variables are used to evaluate a script
JEXL-114: Allow scripts to create local variables // Add return keyword
JEXL-115: Add support for asynchronous script execution and cancellation
JEXL-116. Add control over classes, methods, constructors and properties
allowed in scripts
These being really new features and not enhancements, basic release
numbering rules imply a least a minor update, thus 2.1.

Although our community is shy and scattered, now would be a good time to
raise your opportunistic needs or comment the existing plan so we can shoot
for a "summer" release.
Many thanks to all,
Best regards

View this message in context:
Sent from the Commons - User mailing list archive at

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message