On Dec 1, 2010, at 10:32 PM, Sergiu Dumitriu wrote:
> On 12/01/2010 10:40 AM, Vincent Massol wrote:
>> fyi.... At some point we'll need to migrate.
>>
>> Some things I've noticed from the release notes:
>> - their new syntax #[[...]]# is going to be fun for us... :(
>
> Why the sad face?
Well it's going to be hard to put a link in monospace font inside a velocity
macro:
{{velocity}}
...
##[[link>>ref]]##
...
{{/velocity}}
Well actually it was already not possible to use monospace inside the velocity
macro since it's considered velocity comments and there was no way to escape a
velocity comment in velocity, so indeed it's not going to change much...
Thanks
-Vincent
>> - the velocimacro.context.localscope replacement is important for us
>
> Not quite, it means the default behavior is getting closer to what we're
> doing.
>
>> -Vincent
>>
>> Begin forwarded message:
>>
>>> From: Nathan Bubna<[email protected]>
>>> Date: December 1, 2010 7:46:29 AM GMT+01:00
>>> To: [email protected], Velocity Developers
>>> List<[email protected]>, Velocity Users
>>> List<[email protected]>, general<[email protected]>
>>> Subject: [ANNOUNCE] Apache Velocity Engine 1.7
>>>
>>> The Apache Velocity Team announces the immediate availability of the
>>> of Apache Velocity Engine 1.7. This release is fully compatible with
>>> the previous release and includes significant improvements in
>>> performance, stability and features.
>>>
>>> Apache Velocity is well-known in the Java field as a lightweight,
>>> easy-to-use templating library for creating dynamic web sites and
>>> performing other text-generation tasks.
>>>
>>> Much work in this release has gone to making Velocity more
>>> user-friendly, adding some long-desired features and improving many
>>> others. Apart from this, numerous bugs were fixed (both common and
>>> obscure), deprecation warnings were added to push people toward the
>>> eventual 2.0 version, and performance continues to be improved. Some
>>> details are listed below:
>>>
>>> * There are four new syntax features:
>>> - #[[ This is a literal text block. It is not parsed, but directly
>>> fed into the output. ]]#
>>> - #...@yourmacro() can now have body content. Just remember to add the
>>> @ when calling it with a body! #end
>>> - You can use brackets to get and set values in lists (and arrays).
>>> e.g. #set( $foo[2] = $bar[$i] )
>>> - Quotes, both single and double, may be escaped in string literals
>>> via doubling. e.g. #set( $foo = "Like ""this""!" )
>>>
>>> * There are five notable deprecations:
>>> - $velocityCount should be changed to $foreach.index (0-base) or
>>> $foreach.count (1-base)
>
> ^This is important for us, since we've been using $velocityCount in many
> places.
>
>>> - $velocityHasNext should be changed to $foreach.hasNext,
>>> $foreach.last or $foreach.first
>>> - The #literal directive has been replaced by #[[ the much superior
>>> textblock ]]#
>>> - The velocimacro.context.localscope setting is being phased out;
>>> please get/set local #macro references as members of the optional,
>>> context-aware and self-documenting $macro "namespace" object. (e.g.
>>> #set( $macro.foo = 'bar' ) and $macro.foo). Enable this by setting
>>> macro.provide.scope.control=true in your properties.
>>> - The directive.evaluate.context.class setting is being phased out;
>>> please get/set local #evaluate references as members of the $evaluate
>>> "namespace" object. Enable this by setting
>>> evaluate.provide.scope.control=true in your properties.
>>>
>>> * The are three important changes:
>>> - The #stop directive now stops rendering instead of parsing, making
>>> it much more useful.
>>> - The #break directive can now be used in any scope, not just in a
>>> nested #foreach. It will terminate the nearest content "block",
>>> whether a directive, a macro body, or an entire template.
>
> ^This is cool.
>
>>> - All templates, standard block (aka "content") directives, macros,
>>> macro bodies, #evaluate content and #define blocks can be easily
>>> configured to have an automatically-provided, context-aware and
>>> self-documenting namespace reference in which you can safely and
>>> securely #set and get any "local" references to keep them out of the
>>> global context.
>
> ^This is nice for local, temporary variables which normally leak out
> globally in our current code. We should enable some local scopes and
> start using them.
>
>>> See the change log for a more complete explanation of any and all of
>>> these, or ask us about them at [email protected].
>>>
>>> Documentation Velocity 1.7 can be found here:
>>> http://velocity.apache.org/engine/releases/velocity-1.7/
>>>
>>> The change log is here:
>>> http://velocity.apache.org/engine/releases/velocity-1.7/changes-report.html
>>>
>>> Apache Velocity 1.7 can be downloaded here:
>>> http://velocity.apache.org/download.cgi
>>>
>>> For the Apache Velocity Team
>>> Nathan Bubna
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs