Vincent Massol wrote:
> Very good! :)
> 
> Some small comments:
> 
> * Not sure why you call the class HelloWorldContextualizer instead of  
> HelloWorldVelocityContextInitializer

That's my fault, I used this name in an example I gave Anca.

> * Might be good to have a small section about the fact that components  
> remove the need for static code (for the best!) since you can have a  
> component with a "singleton" lifecycle.
> * "and since we don't want to add the whole core and all its  
> dependencies as a dependency of a simple lightweight component, ".  
> Actually the real problem is that this would create a circular  
> dependency since the core uses the components.

This is already specified a bit further down, in the "Code outside
components" section. Anyway, I added a short note here, too.

> * "In the component world, the current request information is held in  
> an execution context. This is actually more powerful than the old  
> XWiki context, as it is a generic execution context, and you can  
> create one anytime you want and use it anyway you want. And you don't  
> have to manually pass it around with all method calls, as execution  
> contexts are managed by the Execution component, which you can use  
> just like any other XWiki component.". We need to specify that it's a  
> ThreadLocal implementation (meaning you get a new instance of the  
> Execution context per thread). This means also that it's initialized  
> by default at all XWiki entry points (i.e. where threads are created:  
> Servlet, Portlet, Lucene thread, Stats thread, etc).

It's a bit too technical IMHO. But perhaps it would be good to specify
this so that people creating new thread should know to take care of the
execution context.

> * "If you need some functionality from the old core, consider  
> rewriting that part as a new component first, and then use that new  
> component from your code.". I'd rather ask to discuss it on the list  
> so that we find a solution collaboratively

Done.

> I even learnt something! Good idea with the old xwikicontext cast to a  
> Map, hasn't thought of that :)

Actually, to make this fully useful, I'd like to change all setters to
put data held in fields in the map, too.

> 
> Excellent work Anca.
> 
> Big +1 to link it from our dev practices document.
> 
> Thanks
> -Vincent
> 
> On Sep 29, 2008, at 8:33 PM, Anca Paula Luca wrote:
> 
>> Hi devs,
>>
>> while developing my XWiki watch component, I've written a quick  
>> start tutorial
>> on XWiki components, which I would like to add in the dedicated  
>> section on
>> platform.xwiki.org.
>>
>> It is currently in draft version at
>> http://dev.xwiki.org/xwiki/bin/view/Drafts/CreatingComponents .  
>> Please give it a
>> critical look and signal any errors that might have slipped or send  
>> improvement
>> suggestions.
>>
>> Here's my +1 for taking it out of draft version, WDYT?
>>
>> Happy coding,
>> Anca Luca
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
> 
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
> 


-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to