>> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf >> Of Jerome Velociter >> Sent: Wednesday, January 30, 2008 3:37 PM >> To: XWiki Users >> Subject: Re: [xwiki-users] Macros in XWiki.org dev guide >> >> Hello, >> >> > The dev guides do a fine job explaining the use of groovy and > velocity >> > code snippets. They also explain how to develop applications and >> > plugins by creating classes. However they don't do much to explain > the >> > creation of macros; that or I'm failing to find this. >> > >> > I greatly prefer using macros over copy/paste coding snippets into > each >> > article. I managed to find this lovely article about creating > Radeox >> > macros in xwiki: >> > > http://hritcu.wordpress.com/2007/03/13/xwiki-plugins-tips-and-tricks/ >> > but I'm struggling to find info on creating/adding what I believe > are >> > referred to as Velocity Macros (#macroName(var1, var2...)). I > assume >> > help has been requested on this repeatedly, but I seem to again be >> > having poor luck in my keyword searches. Looking at trends in macro >> > submissions, Velocity macros seem to be preferable in most cases, > are >> > they? Does each have strengths and weaknesses? >> >> You will find Velocity macros documentation in the apache velocity > user >> guide : >> http://velocity.apache.org/engine/releases/velocity-1.5/user- >> guide.html#velocimacros >> (Agreed, did not found that link on first google shot ;)) >> Velocity macros are very usefull within XWiki. You can define those > either >> in the macros.vm file of your skin, or inside wiki pages. The first > option >> has the advantage of letting the macros defined be available for every >> document of your wiki; but the file can grow quickly if you have a lot > of >> macros, so the second option is there, precisely for > application-specific >> macros. >> Best practice for this second option is to have one or several > documents >> that contains your application macros, and include that document from > the >> page that will actually use them, with the #includeMacros statement ; > for >> example : >> >> #includeMacros("MyAppCode.AppMacros") >> >> A part from that, there is very little XWiki-specific to know to write >> velocity macros within your wiki. You can access the full XWiki API > inside >> your macro as you would usually do when scripting velocity inside a > wiki >> document. >> >> Hope this help, and we'd be very keen on you contributing your > experience >> with velocimacros for xwiki on the dev guide. >> >> Regards, >> Jerome. > > That's exactly what I wanted to know, thank you! Now I wonder if > there's some way to get the best of both worlds. Users without disk > access cannot edit the macros.vm file, and it's a pain to have to > include the code segments every time you want to use it....Just musing > but there must be a way to write a generic call that fetches a segment > from a specified object (or page, whatever) on xwiki and then calls the > contained macro using a variable number of arguments (and only pulls in > the code once per page).
What I can think of now is having your skin as XWikiDocument (possibly extending one you have on filesystem). There might be ways to parse content from a document from within the macros.vm file, so that you have macros available everywhere, and stored in wiki pages... Not sure how, must be experimented I guess. Jerome. > > But yes, that's what I needed to know to get started, thanks again. > > -Paul Grodt > _______________________________________________ > users mailing list > users@xwiki.org > http://lists.xwiki.org/mailman/listinfo/users > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users