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? _______________________________________________ users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users