I haven't yet had time to look at everything in great detail, so I'll  
just start with a few questions/comments.

Is it correct to say that ContentSource is a wicket component that is  
decorated by pax-wicket in order to make it into an osgi service? If  
so, to me that is easier to understand than saying "packaged with".

Regarding the "Concepts" page:


  - AbstractAggregatedSource: this is beautiful! Suddenly it has gone  
from being
    incomprehensible to being totally clear. Nice!

  - Same thing for AbstractContentSource, along with the explanation.  
Great!
    I really like how you explained this and the  
AbstractAggregatedSource, oh
    and RootContentAggregator as well.

  - Maybe AbstractPageFactory needs some additional explanations...  
but then again,
    maybe it would be easier just to introduce the concepts in order  
of appearance
    rather than alphabetical order or whatever. And links between the  
definitions
    would be useful as well.

  - Need more diagrams. Picture's worth a thousand words. :-)

  - If ContentId = wicket:id, can't we just get rid of the concept of
    ContentId? Why introduce yet another term to learn/remember if it's
    not needed? Can't we just call it a WicketId? Makes perfect sense  
to me...

  - Model vs. Components: this is a very important concept, so  
somehow it
    needs more explanation.

  - I'm still having trouble with "Destination", but I can't put my  
finger
    on why this is so.


I'm still pondering the rest, but I leave my largest comment for last.


My next comment may be a bit radical with respect to your design, so  
I expect you'll show some resistence... But I'm wondering if it's  
really necessary to use the "destinationId=aggregationId.contentId"  
with a string.

The reason I say this is because ideally, the framework should be as  
intuitive as possible. If people want or need to understand the  
details, that's fine, but they shouldn't be forced to.

Now, in my mind (so I'm assuming other dimwits think like me), I  
associate a string with some kind of nitty-gritty implementation  
details. My mind is usually more open to accepting objects than  
strings. Not sure why this is so, but it is. Anyway, I naturally  
accept that an object is some kind of abstraction of something, so I  
don't feel the psychological need to understand all the fine details,  
and I can easily accept the concept of the object. When I see a  
string, though, my mind gets out of relaxation mode.

With that in mind, couldn't we use some kind of DestinationDescriptor  
or something, that has fields that can be set... so maybe something  
like:

public interface DestinationDescriptor
{
   String getAggretationId();
   String getContentId();
}


Ok, so by now you're laughing at me, thinking "not only is that the  
same thing, but using an object is more complicated than just using a  
simple string!" Maybe so... but like I say, to me it's the  
psychological effect that, IMHO, will lower the resistance barrier  
when learning pax-wicket.

Also, though I haven't thought about it in detail, maybe it would get  
rid of the need to have to understand in too much detail the  
ContentMatchExpression and AggregationMatchExpression.


Just a thought.





On Jan 15, 2007, at 19:02, Niclas Hedhman wrote:

>
> Gang,
>
> I have worked quite a bit on documentation, which I would  
> appreciate if you
> have a look at; http://www.ops4j.org/projects/pax/wicket
>
> This is not Wiki, but Maven generated stuff and sources sit
> in /repos/ops4j/projects/pax/wicket/src/site if anyone feels like  
> editing
> material.
>
>
> Cheers
> Niclas
>
> _______________________________________________
> general mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/general


_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to