+1 for the general principal of using rendering api from script in
place of velocity macros.

I would prefer a MacroClass which can support any script language.
Thanks to jsr223, the only difference with what you described is that
the macro content would be executed with a different engine depending
on a "language" field of the MacroClass (and the name of the class
would be different ;)). This field would be to "velocity" by default I
guess.

On Wed, Feb 4, 2009 at 8:41 AM, Vincent Massol <[email protected]> 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
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to