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

Reply via email to