A new Rhythmyx patch is now available that targets improving the customer experience with the updated Velocity 2.0 template engine. It can be downloaded from the Support Portal. The release notes for the patch, including links to documentation on the new features, may be found here.
A few comments on the Velocity 2.0 update
Our intention with the Velocity 2.0 update was not to create problems or to force customers to change anything in their templates. We realize that you are operating Enterprise websites and need to schedule major changes. The update had been a feature request by several customers, and given that Velocity hadn’t been updated in many years, this seemed a logical update in our progression to version 8.0. Our in house testing with the Fast Forward applications generated no incompatibility issues, and the update cleared QA.
As customer feedback started to roll in, we quickly realized that the Fastforward implementation did not cover enough of the Velocity language and techniques used in the field to detect all incompatibilities. Given that feedback, we have been working hard to rapidly improve our approach to the Velocity 2.0 upgrade, with a goal of minimizing or removing any customer pain from this update.
To that end, this patch includes the following changes:
1.) Support for Kebab Case. Hyphens or -'s in Variables. We have forked Velocity 2.0 and removed this change made by the Apache Velocity team. It created too many backwards compatibility issues for customers. After applying this patch, the updated Velocity will now once again allow for hyphens in variable names, slot names, and template names.
2.) 1.x Auto Correction. We have added a new precompile feature that will automatically pre-compile your existing Velocity templates and auto correct 1.x syntax that is obsolete with 2.0 syntax. The result is that your existing templates and macro files will render in the new engine without error after applying the patch. The precompiler may be turned on or off using a server property and is extensible in that new patterns to replace can be added to the configuration file.
3.) Macro Parameter passing. Velocity 2.0 included some changes in the way the variables and parameters were passed back and forth between macros and templates. This created backwards compatibility issues in Templates where the variable passed in to the macro did not exactly match the Macro parameter name. We’ve patched Velocity to include a backward compatible flag for this change in behavior so that it is backward compatible by default.
The Auto Correction feature currently contains patterns known to cause problems. There may be additional patterns out there in the user community that we are unaware of. I would encourage all Rhythmyx users, developers, and administrators to post any incompatibilities that they find that are not currently auto corrected on this thread, or on a support ticket by emailing firstname.lastname@example.org. Our team will happily diagnose and assist in correcting any issues that you have.
With enough feedback from the field, I am confident that we can make the Velocity update as seamless as possible for all customers.