1. I'd like to put the same code for e.g. regexp form validation in one page and just include it from other (ClassSheet) pages. Following http://platform.xwiki.org/xwiki/bin/view/DevGuide/Creating+a+form+with +validation+and+tooltips valdidation works fine, when #macro(showallerrors) macro is included in ClassSheet page, though it doesn't work, when macro in ClassSheet is included from other file (e.g. putting macro in VelocityScripts page and writing in ClassSheet: {{include reference="VelocityScripts"/}} or {{include document...) It works though, if macro is put in ../xwiki/templates/macros.vm file. Found it out myself. Trick was, that include section should be before velocity in ClassSheet. E.g. {{include reference="VelocityScripts"/}} {{velocity}} ...
2. As velocity cannot use passing variables by reference, I'd like to create own "global" velocity variable similar to $isGuest, $hasComment, $hasAdmin, etc. I tried to set this in xwikivars.vm, but it didn't work. Found that I can set value in cookie with Groovy: {{groovy}} import javax.servlet.http.* Cookie mycookie = new Cookie("mycookie","myvalue") mycookie.setPath("/") mycookie.setMaxAge(-1) xcontext.getContext().getResponse().addCookie(mycookie) {{/groovy}}
and then I can get it as global value in xwikivars.vm #set($myvalue=$xwiki.getUserPreferenceFromCookie('mycookie')) And then I can get $myvalue from any other page. Valdis