See
http://platform.xwiki.org/xwiki/bin/view/DevGuide/Scripting#HChoosingaScrip…
Thanks
-Vincent
On May 18, 2012, at 11:04 AM, Caleb James DeLisle wrote:
Hi,
I think of Velocity as a templating language.
You can write:
{{velocity}}
Your username is $xcontext.getUser(), welcome to the site.
{{/velocity}}
Combining code and text in a natural way.
You can even include XWiki markup in your velocity script since the output
from velocity will go to the rendering engine.
In groovy the same example would look like this:
{{groovy}}
println("Your username is " + xcontext.getUser() + " welcome to the
site.");
{{/groovy}}
Also possible but not as easy.
We usually use velocity for everything unless there is a compelling reason for
groovy (there are some things such as the import keyword which are not available in
velocity)
Caleb
On 05/18/2012 04:31 AM, mohit gupta wrote:
> Hi all,
>
> i have seen xwiki can do lot of stuff with groovy and velocity.I am new to
> groovy so trying to understand how groovy and velocty can benefit xwiki and
> ultimately end user. As most of the site says groovy and java are almost
> similar. so why xwiki is using groovy when it built upon java. As per my
> understanding xwiki is using groovy as scripting language where admin can
> write groovy scripts at run time from UI which needs not nto be compiled
> but work like in the similar fashion to java. Internally we are passing
> this grrovy script as string to server which is compilinh it and executing
> it at run time. Right?
>
> Now second part is why velocity in xwiki? Velocity is used in similar
> fashin to groovy in xwiki but difference is that any user without
> programming rights also can write velocity scripts as it has access to
> limited set of apis . Apart from that we can also write front end in
> velocity script like if i write
> {velocity}Hello:$xContext.getUser(){velocity} it will simply say
> Hello:Scott on UI
> but inside groovy scriplets everything will be taken as java code. Right?