Hmmm... more tags? I thought you guys liked Wicket because it's plain html
support. Now looks like there's a big interest in having more tags. If this
is true, why don't we go back a few years, or move to JSF? Let's give Wicket
support to Tag Libraries too :)

For the record, I don't like wicket:enclosure, neither wicket:fragment and
you guys want to put more?
Instead, I prefer new attributes to keep my html plain.

<div wicket:fragment="fragment-id"></div>

Regards,

On Nov 6, 2007 9:35 AM, Chris Colman <[EMAIL PROTECTED]> wrote:

> > I totally agree with you, having named extension points would be
> perfect.
> > However, I am trying to do a quick proof of concept that can be
> discussed
> > before I implement all those nice and shiny features. Hopefully this
> > prototype convinces some of those sceptics out there ;)
>
> I think the anyone who understands how Java supports multiple abstract
> methods without supporting multiple inheritance should be convinced. If it
> makes sense for OO languages to support multiple overriddable abstract
> methods why should wicket be limited to only a single overridable markup
> section?
>
> > I already figured out how to implement this change. Basically, it's only
> a
> > single method (MergedMarkup.merge(...)) to change ... but this method
> has
> > 275 lines and needs *major* refactoring ... damn.
>
> Doh! I reckon you'll have more success adding a completely new tag set
> because touching the old one get people worried that it might break. If you
> have a new tag set you are free to define the syntax and behaviour - and you
> have no chance of breaking how the old tag set works. There's nothing wrong
> with two tag sets - especially as the new one can be named correctly and
> will have to support named extension points, eventually.
>
> >
> > However, changing the name of the tag (while it would make perfect
> sense)
> > seems to be more complicated. You would have to make sure, that tags are
> > not
> > mixed up and decide between two different
> markup-merging-implementations,
> > although one implementation is capable of doing the same as the other
> one
> > -
> > and more.
>
> Maybe make 'child' an alias for 'abstract' and 'extends' an alias for
> 'implements' and then use your funky new markup-merging-implementation to
> handle both multiple (if names are provided) and fallback to single (if no
> names are provided) - single is then just an ordinary case of multiple where
> n=1.
>
> >
> > However, I'll consider using a different name and separate
> implementation
> > for the prototype.
> >
> > -- Stefan
> >
> >
> >
> > Chris Colman wrote:
> > >
> > >> if i were you i would use tags other then extend and child just so
> you
> > >> dont conflict.
> > >
> > > Yes Stefan, I would think that would be a better approach to use a new
> > set
> > > of tags. It also allows you to choose more correct naming (because
> > > inheritance isn't actually a parent/child relationship so the word
> child
> > > just confuses the issue).
> > >
> > > Maybe wicket:abstract in the base and wicket:implements (nice - thanks
> > to
> > > whoever suggested that) or wicket:override in the derived (extended)
> > > markup.
> > >
> > > I think using IDs up front would also be great, if not necessary,
> > because
> > > in Java as would probably occur in wicket mark up, you can have
> > > intermediate classes that don't implement all abstract methods in a
> base
> > > class. Without IDs you won't know exactly which abstract method an
> > > intermediate class is implementing.
> > >
> > > This example hopefully demonstrates what I mean:
> > >
> > > Base
> > > ----
> > > <wicket:abstract id=header />
> > > <wicket:abstract id=body />
> > >
> > > PumpsBase
> > > ---------
> > > <wicket:implements id=header>
> > >     A header for all pages to do with pumps
> > > </wicket:implements>
> > >
> > > Note: no body implemented here - deferred until a more specialized
> > > class/markups: WaterPumpsBase and OilPumpsBase
> > >
> > > WaterPumpBase
> > > -------------
> > > Note: no header implemented here - the general PumpsBase one suffices
> > for
> > > all pumps pages
> > >
> > > <wicket:implements id=body>
> > >     A body discussing water pumps
> > > </wicket:implements>
> > >
> > >
> > > OilPumpBase
> > > -----------
> > > Note: no header implemented here - the general PumpsBase one suffices
> > for
> > > all pumps pages
> > >
> > > <wicket:implements id=body>
> > >     A body discussing oil pumps
> > > </wicket:implements>
> > >
> > >
> > > I think the tag pairs abstract/implements flow much better from an OO
> > > perspective than child/extends. It hurts my brain way to much to think
> > of
> > > a base class as a child.
> > >
> > >>
> > >> -igor
> > >>
> > >>
> > >> On 11/5/07, Stefan Fußenegger <[EMAIL PROTECTED]> wrote:
> > >> >
> > >> > Well, what I'd like to do is what I explained in my first post. One
> > >> would
> > >> > still have a one-one-relationship if it comes to files (Base.html,
> > >> Base.java
> > >> > - Sub.html, Sub.java). However, a Base.html might contain more than
> > one
> > >> > <wicket:extend />. So this no longer an exact duplicate of the
> > parent-
> > >> child
> > >> > relationship that is already specified by the java class hierarchy.
> > It
> > >> now
> > >> > would be similar to abstract method, where the abstract class
> > specifies
> > >> one
> > >> > or more extension points that are implemented by its subcasses ...
> > >> abstract
> > >> > methods. There isn't a restriction, that there is only one abstract
> > >> method
> > >> > per class!
> > >> >
> > >> > My proof of concept would go the probably easiest way and just link
> > the
> > >> > first extend with the first child, the second extend with the
> second
> > >> child,
> > >> > the third ... you got the idea ;) At a later point it might be
> useful
> > >> to
> > >> > link them using ids (like the names of abstract methods).
> > >> >
> > >> > You could than for instance do some hierarchies like this:
> > >> >
> > >> > BaseClass - Application base class. Navigation on top, two columns
> > with
> > >> > wicket:extend
> > >> > SectionOneBaseClass extends BaseClass - Sub-navigation in left
> column
> > >> > SectionOneIndex extends SectionOneBaseClass - Navigation on top,
> > >> > sub-navigation in left column and some fancy content in right
> column
> > >> >
> > >> > I totally agree to anybody who argues that this is already possible
> > by
> > >> other
> > >> > means. However, to me it seems to be the most natural and elegant
> way
> > >> to
> > >> do
> > >> > this.
> > >> >
> > >> > As I mentioned before, I don't know Wicket's inner workings too
> much,
> > >> so
> > >> I
> > >> > will definitely need some pointers to the right directions.
> > >> >
> > >> > My naive guess is that Wicket parses BasePage.html and looks for
> > >> > SecionOneBaseClass.html and the first <wicket:child /> as soon as
> it
> > >> finds a
> > >> > <wicket:extend />. The idea would know be to just add a counter to
> > this
> > >> > call, asking for the second <wicket:child />, rather than the first
> > (I
> > >> doubt
> > >> > that it's really going to be that easy though).
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > Bruno Borges wrote:
> > >> > >
> > >> > > Stefan, try first giving us an example of what would you like to
> > do.
> > >> What
> > >> > > I
> > >> > > can see is that you want this:
> > >> > >
> > >> > > BasePage.html
> > >> > > <html>
> > >> > >   <body>
> > >> > >     <h1>BasePage</h1>
> > >> > >     <hr/>
> > >> > >     <h3>This is my child:</h3>
> > >> > >     <wicket:child />
> > >> > >     <hr/>
> > >> > >     <h3>This is my OTHER child:</h3>
> > >> > >     <wicket:child />
> > >> > >   </body>
> > >> > > </html>
> > >> > >
> > >> > > ** Example of a child page:*
> > >> > > ChildPage.html
> > >> > > <html>
> > >> > >   <body>
> > >> > >     <wicket:extend>
> > >> > >       <h4>ChildPage</h4>
> > >> > >       <h5>I'm your child</h5>
> > >> > >     </wicket:extend>
> > >> > >   </body>
> > >> > > </html>
> > >> > >
> > >> > > Now, given this html, how do you see the Java code structured?
> > What's
> > >> your
> > >> > > vision?
> > >> > >
> > >> > > On Nov 5, 2007 11:28 AM, Stefan Fußenegger
> > >> <[EMAIL PROTECTED]>
> > >> > > wrote:
> > >> > >
> > >> > >>
> > >> > >>
> > >> > >> Eelco Hillenius wrote:
> > >> > >> >
> > >> > >> >> It would be quite feasible to add support for multiple
> > overridden
> > >> > >> >> sections using the above tag names while remaining backwards
> > >> > >> compatible
> > >> > >> >> with existing markup by continuing to support the old
> > >> <child/extends>
> > >> > >> >> tags working the way they always have.
> > >> > >> >
> > >> > >> > It's kind of a predictable answer, but the best way to push
> new
> > >> ideas
> > >> > >> > forward is to supply us with a patch, so that we can discuss
> > some
> > >> > >> > working code. The current committers don't see much in the
> idea,
> > >> but
> > >> > >> > that doesn't mean they wouldn't want to support at least the
> > >> option
> > >> of
> > >> > >> > plugging this in. And hey, maybe some working code convinces
> us
> > >> :-)
> > >> > >> >
> > >> > >> > Eelco
> > >> > >> >
> > >> > >> >
> > >> -------------------------------------------------------------------
> > >> --
> > >> > >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > >> > For additional commands, e-mail: [EMAIL PROTECTED]
> > >> > >> >
> > >> > >> >
> > >> > >> >
> > >> > >>
> > >> > >> Hi eelco,
> > >> > >>
> > >> > >> I'd love to do a proof of concept here. Admittedly, I don't know
> > >> wicket's
> > >> > >> inner workings very well. But if I get some support, I'd try
> > >> implementing
> > >> > >> this. I am currently looking through the code, but can't find
> > where
> > >> the
> > >> > >> transition between parent and child takes place (in other words:
> > the
> > >> line
> > >> > >> of
> > >> > >> code that recognizes the wicket:extend tag and takes the
> > appropriate
> > >> > >> action). If somebody could point me to that line I would try to
> > >> implement
> > >> > >> this possible new feature ... well, I'll first estimate the time
> > >> > >> necessary
> > >> > >> to do so and see if I can afford it ;)
> > >> > >>
> > >> > >> Regards
> > >> > >>
> > >> > >>
> > >> > >>
> > >> > >> -----
> > >> > >> -------
> > >> > >> Stefan Fußenegger
> > >> > >> http://talk-on-tech.blogspot.com // looking for a nicer domain
> ;)
> > >> > >> --
> > >> > >> View this message in context:
> > >> > >> http://www.nabble.com/Multiple-%3Cwicket%3Achild--%3E-tags-on-a-
> > >> single-base-page--tf4738673.html#a13586814
> > >> > >> Sent from the Wicket - User mailing list archive at Nabble.com.
> > >> > >>
> > >> > >>
> > >> > >>
> > >> ---------------------------------------------------------------------
> > >> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >> > >>
> > >> > >>
> > >> > >
> > >> > >
> > >> > > --
> > >> > > Bruno Borges
> > >> > > blog.brunoborges.com.br
> > >> > > +55 1185657739
> > >> > >
> > >> > > "The glory of great men should always be
> > >> > > measured by the means they have used to
> > >> > > acquire it."
> > >> > > - Francois de La Rochefoucauld
> > >> > >
> > >> > >
> > >> >
> > >> >
> > >> > -----
> > >> > -------
> > >> > Stefan Fußenegger
> > >> > http://talk-on-tech.blogspot.com // looking for a nicer domain ;)
> > >> > --
> > >> > View this message in context: http://www.nabble.com/Multiple-
> > >> %3Cwicket%3Achild--%3E-tags-on-a-single-base-page--
> > >> tf4738673.html#a13587701
> > >> > Sent from the Wicket - User mailing list archive at Nabble.com.
> > >> >
> > >> >
> > >> >
> ---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > For additional commands, e-mail: [EMAIL PROTECTED]
> > >> >
> > >> >
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> >
> >
> > -----
> > -------
> > Stefan Fußenegger
> > http://talk-on-tech.blogspot.com // looking for a nicer domain ;)
> > --
> > View this message in context: http://www.nabble.com/Multiple-
> > %3Cwicket%3Achild--%3E-tags-on-a-single-base-page--
> > tf4738673.html#a13597619
> > Sent from the Wicket - User mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Bruno Borges
blog.brunoborges.com.br
+55 1185657739

"The glory of great men should always be
measured by the means they have used to
acquire it."
- Francois de La Rochefoucauld

Reply via email to