Hi, Sounds good. I like the idea of XWiki object to define and describe macros. This will allow to declare parameters being mandatory or not, too.
Jerome. Vincent Massol wrote: > Hi, > > We need to allow users to write macros using Velocity and still use > the same mechanism as the new rendering. Basically this means > transforming velocity macros into Rendering Macros. Once this is done > then the velocity macro will be able to be used as standard Rendering > Macros, they'll appear in the new WYSIWYG, etc. > > Here's a proposal for doing so: > > * Split xwiki-velocity/ module into 2 > - xwiki-velocity-engine/ (the one currently in xwiki-velocity) > - xwiki-velocity-macro/ (the new one) > * In xwiki-velocity-macro create a VelocityMacroManager class that > does the following: > - initialize itself at xwiki startup > - create a VelocityMacroClass definition in the wiki if it doesn't > exist > - query the wiki for all objects of type VelocityMacroClass > - for each of them register them dynamically (we can already do > this) as a Rendering Macro > * The VelocityMacroClass has several fields: > - macro name, parameter names, parameters description, macro > description, usage example, velocity content to execute (the macro > content) > * The VelocityMacroManager register itself against the Observation > component to receive notifications whenever a VelocityMacroClass is > modified (added, removed, etc) > * Users will then be able to add velocity macros by simply creating a > new page, adding the VelocityMacroClass in it, fill the values. > * We should also provide a VelocityMacroClassSheet so that the macro > page containing the VelocityMacroClass can display the help for the > macro (self-standing) > > The nice thing is that this keeps velocity macro handling in the xwiki- > velocity/ module and makes it completely optional (i.e. the wiki will > still work and there's no ties with this feature elsewhere). > > WDYT? > > Thanks > -Vincent > http://xwiki.com > http://xwiki.org > http://massol.net > > > > > > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

