Hi,

Still I'm not sure about the lifestyle of these macro objects and I'm
> investigating in to it.
>

If you meant the life-cycle of macros, it's something like below:

- When XWiki starts up it loads the MacroManager component and asks it to
load all the Macros (including Java macros as well as Wiki Macros).
- MacroManager maintains a list of Macros currently defined (either Java or
Wiki)
- While rendering a page if a macro reference block is found (e.g
{{example_macro}}....{{example_macro}}), rendering engine asks the
MacroManager component for a macro named "example_macro"....
- If such a macro is found, then the corresponding body (XDOM node) +
arguments are passed into that macro code and there the "example_macro"
macro can perform its transformations and return the result (again another
XDOM node) which is then again rendered (hopefully your macro does not have
recursive calls).

May be part of the complication is that you need some understanding of the
XWiki component architecture:
http://platform.xwiki.org/xwiki/bin/view/DevGuide/WritingComponents

You need to cross-reference between AbsractMacro, MacroManager,
WikiMacroManager, WikiMacro classes. It's a lot to digest!

NOTE:- Some of my points might be little invalid now because my XWiki
knowledge is bit out-dated but you should be able to get the idea.

Hope this helps.

- Asiri


>
> Thanks,
> Supun..
>
>
> On Thu, Apr 7, 2011 at 6:58 PM, Kasun Nishshanka <[email protected]>wrote:
>
>> Hi Thomas & Asiri,
>>
>> Thanks for pointing this out. Now I'm looking at the correct place
>> (rendering project)
>>
>> Thanks,
>> Kasun
>>
>>
>> On Thu, Apr 7, 2011 at 5:20 PM, Asiri Rathnayake <
>> [email protected]> wrote:
>>
>>>
>>>
>>> On Thu, Apr 7, 2011 at 12:35 PM, Asiri Rathnayake <
>>> [email protected]> wrote:
>>>
>>>> Hi Kasun,
>>>>
>>>> On Thu, Apr 7, 2011 at 12:22 PM, Kasun Nishshanka <
>>>> [email protected]> wrote:
>>>>
>>>>> I went through the code and your UI for creating macros. I can see you
>>>>> are using Redeox for rendering the macros and other wiki content.
>>>>>
>>>>
>>>> AFAIK XWiki uses it's own rendering engine (for normal wiki content as
>>>> well as macros) and Redeox was the old way of doing things. XWiki rendering
>>>> engine is at the heart of XWiki and you'd have to get familiar with XDOM
>>>> (it's sort of an abstract syntax tree).
>>>>
>>>> see: http://rendering.xwiki.org/xwiki/bin/view/Main/ (here you can
>>>> learn a lot about XWiki rendering engine)
>>>>
>>>
>>> PS: This is how you'd write a macro in JAVA:
>>> http://rendering.xwiki.org/xwiki/bin/view/Main/ExtendingMacro
>>>
>>> As you'd guess, Wiki Macros function the same way except that Wiki Macros
>>> take parameters from user input (taken from the wiki macro object) and
>>> register macros on the fly with the macro manager. Look inside the
>>> wiki-macro module code base and you'll find a WikiMacro (or something like
>>> that) class which represent the class responsible for defining a wiki macro.
>>>
>>> It might sound scary initially and amount of information you have to
>>> digest it bit large. After all, this is at the heart of XWiki :)
>>>
>>> But for the proposal you need to show that you have adequate knowledge
>>> about the code base and you are capable of learning things fast. If you show
>>> you can handle XWiki rendering code base, it might convince Thomas ;)
>>>
>>> Hope this helps!
>>>
>>> - Asiri
>>>
>>>
>>>>
>>>> I think macros come into play in the transformations phase of rendering.
>>>> It's not that difficult once you get used to it.
>>>>
>>>> Have fun!
>>>>
>>>> - Asiri
>>>>
>>>>
>>>>>
>>>>> So I believe there are two high level goals in the project.
>>>>>
>>>>> 1. Design the UI to support parameter types for macros
>>>>> 2. When the information is transferred to the engine use the typed
>>>>> parameters to create the macro.
>>>>>
>>>>> Can you please point me to the place in code where these information
>>>>> from the UI is transferred to the back end?
>>>>>
>>>>> Kind regards.
>>>>>
>>>>>
>>>>> On Thu, Apr 7, 2011 at 12:20 AM, Kasun Nishshanka <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Asiri,
>>>>>> Thank you for the information. I am looking at the details now, and
>>>>>> hoping to submit the proposal tomorrow.
>>>>>> -Kasun
>>>>>>
>>>>>> On Wed, Apr 6, 2011 at 9:42 PM, Asiri Rathnayake <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi Kasun,
>>>>>>>
>>>>>>> The dead-line for applications is closing:
>>>>>>> http://www.google-melange.com/gsoc/events/google/gsoc2011
>>>>>>>
>>>>>>> May be you should contact devs on the IRC, do a quick research and
>>>>>>> put together a proposal asap? I think Thomas (IRC Nick: tmortagne) 
>>>>>>> knows a
>>>>>>> lot about Wiki Macros implementation and probably he has more 
>>>>>>> information on
>>>>>>> typing parameters.
>>>>>>>
>>>>>>> Hope this helps.
>>>>>>>
>>>>>>> - Asiri
>>>>>>>
>>>>>>> On Wed, Apr 6, 2011 at 4:49 PM, Kasun Nishshanka <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I am a student of University of Moratuwa Sri Lanka, currently
>>>>>>>> following my
>>>>>>>> Chemical and Process Engineering degree. Although I'm not a computer
>>>>>>>> science
>>>>>>>> student I found it is a very interesting subject, especially Java
>>>>>>>> programming. I have experience in developing Java programs and web
>>>>>>>> based
>>>>>>>> application using JSP technologies. Last year got the chance to play
>>>>>>>> with
>>>>>>>> the xWiki and I must say I really enjoyed working with it. So I
>>>>>>>> thought it
>>>>>>>> is better if I can participate in the XWiki project through the GSoC
>>>>>>>> 2011.
>>>>>>>>
>>>>>>>> Recently I had my 3rd semester end exam and was unable to send an
>>>>>>>> application earlier, since my exam is now over and having two months
>>>>>>>> of
>>>>>>>> vacation I'm pretty sure that I can successfully participate in a
>>>>>>>> project
>>>>>>>> for XWIki.
>>>>>>>>
>>>>>>>> I looked at the project ideas in your web site and found some of the
>>>>>>>> ideas
>>>>>>>> are quite interesting. I'm interested in the following two ideas.
>>>>>>>>
>>>>>>>> Add support for parameters types in Wiki Macros
>>>>>>>> Structural Search and Replace
>>>>>>>>
>>>>>>>> I really appreciate your feed back and guidance on this matter.
>>>>>>>>
>>>>>>>> Kind Regards,
>>>>>>>>
>>>>>>>> --
>>>>>>>> Nishshanka Kamburugamuwa.
>>>>>>>> University of Moratuwa
>>>>>>>> Moratuwa, Sri Lanka.
>>>>>>>> _______________________________________________
>>>>>>>> devs mailing list
>>>>>>>> [email protected]
>>>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Kasun Nishshanka.
>>>>>> University of Moratuwa
>>>>>> Moratuwa, Sri Lanka.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Kasun Nishshanka.
>>>>> University of Moratuwa
>>>>> Moratuwa, Sri Lanka.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> Kasun Nishshanka.
>> University of Moratuwa
>> Moratuwa, Sri Lanka.
>>
>>
>>
>>
>
>
> --
> Kasun Nishshanka.
> University of Moratuwa
> Moratuwa, Sri Lanka.
>
>
>
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to