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

Reply via email to