Re: generics in Wicket

2007-03-07 Thread Martijn Dashorst

What happened to the otherwise we break the API too much? I remember
putting up a vote for a model backport, but that time you did a -1 :-P

Martijn

On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

 But if we backport the model changes then that is done inside the model and
 that is much much cleaner (i am +1 for backporting that to 1.3)

+1 too. Especially considering the case you just described: ugly! :)

Eelco




--
Learn Wicket at ApacheCon Europe: http://apachecon.com
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.5 will keep your server alive. Download Wicket now!
http://wicketframework.org


WICKET-365 - Go from setVisible(false) to setVisible(true) on a component in ajax does not work

2007-03-07 Thread Vincent Demay

I think it will be easier to speek about this in the mailing list ;) .

I agree with the last comment : then why not simply adding the 
style=display:none attribute to the component tag, instead of creating 
an additional span ? but without its innnerHtml, only the 
componentTag. I think it should work in all case.


--
Vincent Demay
http://.demay-fr.net/blog/


RE: generics in Wicket

2007-03-07 Thread Stefan Lindner
I am completely against degenerifying components. We have build a high 
abstraction framework with typed components that are reused in several other 
components and the generics help us to ensure to use the the use of the right 
component at the right place.
Besides some minor problems with suns generic implementation I think that 
generic are the most usefull thing for us in Java 5. Type checking at 
development time hels to speed up development a lot.
things like 

 Integer i = (Integer)integerTextField.getModelObject();

always leads to problems at runtime whent the customer suddenly needs a Dobule 
field insteda of an Integer field. 
And over and above this would be another API break.
 
Stefan Lindner


Re: WICKET-365 - Go from setVisible(false) to setVisible(true) on a component in ajax does not work

2007-03-07 Thread Vincent Demay

Martijn Dashorst a écrit :
I don't agree. style=display:none is not the same as not rendering 
it at all


The text and markup is still available, it could have stuff that is
sensitive in it. setVisible (false) should always remove the whole
markup for the component from the stream.

No, I think I wasn't very clear in what I said ;) .
Generating an empty span is not very good because it could invalidate 
the xhtml, so just replacing the empty span tag with an *empty* 
component tag (div if it was a div, td if it was a td etc...) and 
display:none on it in order to not invalidate Xhtml could be fine imo.


Ajax should work the same as normal requests. Otherwise what is the
fricking point of having a AjaxFallbackLink?

Yes it is a drag to add containers around your stuff that you want to
hide. but it makes it explicit and predictable.

Martijn

On 3/7/07, Vincent Demay [EMAIL PROTECTED] wrote:

I think it will be easier to speek about this in the mailing list ;) .

I agree with the last comment : then why not simply adding the
style=display:none attribute to the component tag, instead of creating
an additional span ? but without its innnerHtml, only the
componentTag. I think it should work in all case.

--
Vincent Demay
http://.demay-fr.net/blog/








Re: WICKET-365 - Go from setVisible(false) to setVisible(true) on a component in ajax does not work

2007-03-07 Thread Frédéric Bertin
well, from a user point of view, the fact that you can't make a 
component visible using Ajax by simply doing:


component.setVisible(true)
target.addComponent(component)

is perceived as a bug. And I can't believe you guys won't find something 
smarter for Wicket than using a surrounding container ;)


For example, instead of using an HTML tag, what about using a Wicket 
specific one, like wicket:component id=myInvisibleComponent/ ?


Fred




Martijn Dashorst wrote:
I don't agree. style=display:none is not the same as not rendering 
it at all


The text and markup is still available, it could have stuff that is
sensitive in it. setVisible (false) should always remove the whole
markup for the component from the stream.

Ajax should work the same as normal requests. Otherwise what is the
fricking point of having a AjaxFallbackLink?

Yes it is a drag to add containers around your stuff that you want to
hide. but it makes it explicit and predictable.

Martijn

On 3/7/07, Vincent Demay [EMAIL PROTECTED] wrote:

I think it will be easier to speek about this in the mailing list ;) .

I agree with the last comment : then why not simply adding the
style=display:none attribute to the component tag, instead of creating
an additional span ? but without its innnerHtml, only the
componentTag. I think it should work in all case.

--
Vincent Demay
http://.demay-fr.net/blog/







RE: generics in Wicket

2007-03-07 Thread Jonathan Locke


don't worry.  i believe that reason will prevail.  i too am against a
/complete/ degenerification, as are all the core developers.  we just want
to lighten it up some without losing much.  in the case of typed textfields,
there might be a workaround that doesn't force Component to be
parameterized.  for example, maybe just TextFieldT is enough.  or maybe a
typesafe accessor can provide what you want in an IntegerTextField subclass. 
in any case, i think exactly how and where to degenerify things for whatever
comes after 1.3 needs to be discussed at length and there should be plenty
of time to talk reasonably.

can you provide more details of generics benefits you don't want to lose?


Stefan Lindner wrote:
 
 I am completely against degenerifying components. We have build a high
 abstraction framework with typed components that are reused in several
 other components and the generics help us to ensure to use the the use of
 the right component at the right place.
 Besides some minor problems with suns generic implementation I think that
 generic are the most usefull thing for us in Java 5. Type checking at
 development time hels to speed up development a lot.
 things like 
 
  Integer i = (Integer)integerTextField.getModelObject();
 
 always leads to problems at runtime whent the customer suddenly needs a
 Dobule field insteda of an Integer field. 
 And over and above this would be another API break.
  
 Stefan Lindner
 
 

-- 
View this message in context: 
http://www.nabble.com/generics-in-Wicket-tf3360271.html#a9354095
Sent from the Wicket - Dev mailing list archive at Nabble.com.



Performance problems due to Component:initModel()

2007-03-07 Thread Jan Vermeulen

We are having serious performance problems (delays of various seconds) due to
the lookup process in Component:initModel() that tries to find a wrapModel
looking for an parent with an IInheritableModel.

The problem is the following: if a component has no model defined,
initModel() looks for a parent that has an IInheritableModel. Since it has
to consult the model of that parent, it calls getModel(). If the parent
itself has no model (it's just a container that has a layout function),
within getModel() there is a new call to initModel(), this time to look for
a model for that parent.

This is a simple simulation of what happens in Component: If I have a
component graph, in which a component is contained in 4 containers of which
3 have no model, I end up calling 8 times the initModel() method of the
topmost container without model.

public class Component {
private String id;
private Component parent = null;
private Object model = null;
private int initCount = 0;

public Component(Component parent,String id,Object model) {
this.parent = parent;
this.id = id;
this.model = model;

if (model == null)
initModel();
}

public Object getModel() {
if (model == null)
initModel();
return(model);
}

public void initModel() {
initCount++;
for (Component parent = this.parent; parent != null; parent =
parent.parent) {
parent.getModel();
}   
}

@Override
public String toString() {
return(id: +id+ initCount: +initCount);
}

public static void main(String[] args) {
Component a = new Component(null,a,a);
Component b = new Component(a,b,null);
Component c = new Component(b,c,null);
Component d = new Component(c,d,null);
Component e = new Component(d,e,null);

System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
}
}

In a real usecase, the component graph ends up being a lot larger than this
simple example, and the effect of calling initModel() can end up causing a
response delay of 10's of seconds.

We can solve the problem by overwriting the initModel() method in containers
that shouldn't have a model, or give them a mock model.

But I think there is a conceptual error in the component implementation: I
think initModel() should not be called from the method getModel(). Once
decided that there is no model for a component, it should not try and get
one each time we want to get it. I.e., initModel should be called only once
for each component. Am I right ?

Jan.

-- 
View this message in context: 
http://www.nabble.com/Performance-problems-due-to-Component%3AinitModel%28%29-tf3362476.html#a9354170
Sent from the Wicket - Dev mailing list archive at Nabble.com.



Re: WICKET-365 - Go from setVisible(false) to setVisible(true) on a component in ajax does not work

2007-03-07 Thread Igor Vaynberg

now here is an idea we can try. something like wicket:placeholder.

-igor


On 3/7/07, Frédéric Bertin [EMAIL PROTECTED] wrote:


well, from a user point of view, the fact that you can't make a
component visible using Ajax by simply doing:

component.setVisible(true)
target.addComponent(component)

is perceived as a bug. And I can't believe you guys won't find something
smarter for Wicket than using a surrounding container ;)

For example, instead of using an HTML tag, what about using a Wicket
specific one, like wicket:component id=myInvisibleComponent/ ?

Fred




Martijn Dashorst wrote:
 I don't agree. style=display:none is not the same as not rendering
 it at all

 The text and markup is still available, it could have stuff that is
 sensitive in it. setVisible (false) should always remove the whole
 markup for the component from the stream.

 Ajax should work the same as normal requests. Otherwise what is the
 fricking point of having a AjaxFallbackLink?

 Yes it is a drag to add containers around your stuff that you want to
 hide. but it makes it explicit and predictable.

 Martijn

 On 3/7/07, Vincent Demay [EMAIL PROTECTED] wrote:
 I think it will be easier to speek about this in the mailing list ;) .

 I agree with the last comment : then why not simply adding the
 style=display:none attribute to the component tag, instead of
creating
 an additional span ? but without its innnerHtml, only the
 componentTag. I think it should work in all case.

 --
 Vincent Demay
 http://.demay-fr.net/blog/






Re: generics in Wicket

2007-03-07 Thread Eelco Hillenius

It's good to see someone being happy with it and using it for
something real. I'm afraid my initial message was FUD anyway, as
looking into it a little bit closer, it doesn't seem like we have a
lot of choice. Seems to be either all or nothing. And as we can always
tell the compiler to ignore this stuff, I guess 'all' is the best
here.

Eelco

On 3/7/07, Stefan Lindner [EMAIL PROTECTED] wrote:

Maybe I am too accustomed to generics now but I can't imagine how a non-generic 
Component class definition with a generic Model parameter can look like.
Now Compinent is defined as

 class ComponentT ... {
  public Component(final MarkupContainer? parent, final String id, final 
IModelT model) {
  ...
  }

  public final T getModelObject() {
  ...
  }

How should a non generic class definition look like? And pepole that don't like 
or need generics can still use the raw types.
My preference for a strong gneric API comes from the experience I made when I 
moved from Wicket 1.2 to 2.0. The simple syntactic modifications for generic 
Components showed up several programming errors that we otherwise had to debug 
during runtime of the application. It also showed up some design problems of 
our applicatioin. So a strong generic API may took a little bit more time in 
developing an application but it saves much more time in debugging.

Stefan Lindner




Re: generics in Wicket

2007-03-07 Thread Eelco Hillenius

you guys arent talking about putting it into 1.3 are you? can we please
finish with 1.3 already!


We agreed that as long as 1.3 is in beta we could implement changes
that break the API. So we can make a release and still do that change.
Or do it in 1.4 if you like, but I don't want to even start on 1.4 if
we decide to keep 2.0 alive.

Eelco


Re: WICKET-365 - Go from setVisible(false) to setVisible(true) on a component in ajax does not work

2007-03-07 Thread Igor Vaynberg

well i guess someone will have to write up a patch and make sure it works in
all the browsers :)

-igor


On 3/7/07, Martijn Dashorst [EMAIL PROTECTED] wrote:


I seriously doubt it will work in browsers. Not choking on wicket:
tags and attributes is one thing, having them available in the dom and
working is a completely other beast.

Martijn

On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 now here is an idea we can try. something like wicket:placeholder.

 -igor


 On 3/7/07, Frédéric Bertin [EMAIL PROTECTED] wrote:
 
  well, from a user point of view, the fact that you can't make a
  component visible using Ajax by simply doing:
 
  component.setVisible(true)
  target.addComponent(component)
 
  is perceived as a bug. And I can't believe you guys won't find
something
  smarter for Wicket than using a surrounding container ;)
 
  For example, instead of using an HTML tag, what about using a Wicket
  specific one, like wicket:component id=myInvisibleComponent/ ?
 
  Fred
 
 
 
 
  Martijn Dashorst wrote:
   I don't agree. style=display:none is not the same as not rendering
   it at all
  
   The text and markup is still available, it could have stuff that is
   sensitive in it. setVisible (false) should always remove the whole
   markup for the component from the stream.
  
   Ajax should work the same as normal requests. Otherwise what is the
   fricking point of having a AjaxFallbackLink?
  
   Yes it is a drag to add containers around your stuff that you want
to
   hide. but it makes it explicit and predictable.
  
   Martijn
  
   On 3/7/07, Vincent Demay [EMAIL PROTECTED] wrote:
   I think it will be easier to speek about this in the mailing list
;) .
  
   I agree with the last comment : then why not simply adding the
   style=display:none attribute to the component tag, instead of
  creating
   an additional span ? but without its innnerHtml, only the
   componentTag. I think it should work in all case.
  
   --
   Vincent Demay
   http://.demay-fr.net/blog/
  
  
 
 



--
Learn Wicket at ApacheCon Europe: http://apachecon.com
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.5 will keep your server alive. Download Wicket now!
http://wicketframework.org



Re: generics in Wicket

2007-03-07 Thread Igor Vaynberg

thats not the point! its not about api breaks. this is why 1.3 is taking
forever, you keep adding and adding and adding. finish 1.3, then add this
refactor to 1.4 lets release the damn thing already!

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


 you guys arent talking about putting it into 1.3 are you? can we please
 finish with 1.3 already!

We agreed that as long as 1.3 is in beta we could implement changes
that break the API. So we can make a release and still do that change.
Or do it in 1.4 if you like, but I don't want to even start on 1.4 if
we decide to keep 2.0 alive.

Eelco



RE: generics in Wicket

2007-03-07 Thread Jonathan Locke


the imodel wouldn't be generic in component.  only in subclasses.  i
actually mildly prefer total generification too, but a lot of people have
expressed annoyance at generic code bulk so i've been listening to that. 
basically, getModelObject would return Object below, but ListViewT would
return T.  or that was the idea... i'm not sure if it's good.  i just wanted
us to discuss it to see what's there.


Stefan Lindner wrote:
 
 Maybe I am too accustomed to generics now but I can't imagine how a
 non-generic Component class definition with a generic Model parameter can
 look like.
 Now Compinent is defined as 
  
  class ComponentT ... {
   public Component(final MarkupContainer? parent, final String
 id, final IModelT model) {
   ...
   }
  
   public final T getModelObject() {
   ...
   }
  
 How should a non generic class definition look like? And pepole that don't
 like or need generics can still use the raw types.
 My preference for a strong gneric API comes from the experience I made
 when I moved from Wicket 1.2 to 2.0. The simple syntactic modifications
 for generic Components showed up several programming errors that we
 otherwise had to debug during runtime of the application. It also showed
 up some design problems of our applicatioin. So a strong generic API may
 took a little bit more time in developing an application but it saves much
 more time in debugging.
  
 Stefan Lindner
  
 
 

-- 
View this message in context: 
http://www.nabble.com/generics-in-Wicket-tf3360271.html#a9356570
Sent from the Wicket - Dev mailing list archive at Nabble.com.



Re: generics in Wicket

2007-03-07 Thread Johan Compagner

no that is not the case
We don't wait for features or wait because we add stuff!
We wait for the apache things that we have to do.

So dropping in new features until that is resolved is not really a problem
and those features are already tested by everybody that uses 2.0
So also backporting those is not a problem for me. I can patch it the coming
days.
if ofcourse others also want it.

johan




On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


thats not the point! its not about api breaks. this is why 1.3 is taking
forever, you keep adding and adding and adding. finish 1.3, then add this
refactor to 1.4 lets release the damn thing already!

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

  you guys arent talking about putting it into 1.3 are you? can we
please
  finish with 1.3 already!

 We agreed that as long as 1.3 is in beta we could implement changes
 that break the API. So we can make a release and still do that change.
 Or do it in 1.4 if you like, but I don't want to even start on 1.4 if
 we decide to keep 2.0 alive.

 Eelco




Re: generics in Wicket

2007-03-07 Thread Johan Compagner

But what is the problem then?
You do want the textfield?
But the component isn't really in your way and does give you
getModelObject()
i don't see the point of deleting it from Component but keeping it for
pretty much everything else

johan


On 3/7/07, Jonathan Locke [EMAIL PROTECTED] wrote:




the imodel wouldn't be generic in component.  only in subclasses.  i
actually mildly prefer total generification too, but a lot of people have
expressed annoyance at generic code bulk so i've been listening to that.
basically, getModelObject would return Object below, but ListViewT would
return T.  or that was the idea... i'm not sure if it's good.  i just
wanted
us to discuss it to see what's there.


Stefan Lindner wrote:

 Maybe I am too accustomed to generics now but I can't imagine how a
 non-generic Component class definition with a generic Model parameter
can
 look like.
 Now Compinent is defined as

  class ComponentT ... {
   public Component(final MarkupContainer? parent, final String
 id, final IModelT model) {
   ...
   }

   public final T getModelObject() {
   ...
   }

 How should a non generic class definition look like? And pepole that
don't
 like or need generics can still use the raw types.
 My preference for a strong gneric API comes from the experience I made
 when I moved from Wicket 1.2 to 2.0. The simple syntactic modifications
 for generic Components showed up several programming errors that we
 otherwise had to debug during runtime of the application. It also showed
 up some design problems of our applicatioin. So a strong generic API may
 took a little bit more time in developing an application but it saves
much
 more time in debugging.

 Stefan Lindner




--
View this message in context:
http://www.nabble.com/generics-in-Wicket-tf3360271.html#a9356570
Sent from the Wicket - Dev mailing list archive at Nabble.com.




Re: generics in Wicket

2007-03-07 Thread Eelco Hillenius

thats not the point! its not about api breaks. this is why 1.3 is taking
forever, you keep adding and adding and adding.


What are you talking about? 1.3's release wasn't/ isn't postponed a
single day because of us adding new features. The opposite is true:
new features (like the converter change) are added because the release
isn't out yet and it's still ok to add (or backport) features.

No, there is no 1.3 release yet for two (and only two) reasons:
1) legal issues due to incubating
2) setting up the new release process and being short in time for some
members who are working on that

Eelco


Re: generics in Wicket

2007-03-07 Thread Eelco Hillenius

no that is not the case
We don't wait for features or wait because we add stuff!
We wait for the apache things that we have to do.

So dropping in new features until that is resolved is not really a problem
and those features are already tested by everybody that uses 2.0
So also backporting those is not a problem for me. I can patch it the coming
days.
if ofcourse others also want it.


Johan++ :)

Eelco


Re: Performance problems due to Component:initModel()

2007-03-07 Thread Eelco Hillenius

But I think there is a conceptual error in the component implementation: I
think initModel() should not be called from the method getModel(). Once
decided that there is no model for a component, it should not try and get
one each time we want to get it. I.e., initModel should be called only once
for each component. Am I right ?


Theoretically, people can manually set model to null after the
component had it's own model first. But that would be quite weird.

Eelco


Re: generics in Wicket

2007-03-07 Thread Igor Vaynberg

oh please. the more stuff you add the more we have to test, the longer it
takes. johan is talking about backporting the models and thats great, but he
still hasnt fixed the serialization issues in the pagestore. we needed a
feature freeze a long time ago, so that we _would_ concentrate on getting
the legal issues resolved, but instead weve been happily hacking away. we
should at least try to work on some bugs before adding new stuff in.

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


 thats not the point! its not about api breaks. this is why 1.3 is taking
 forever, you keep adding and adding and adding.

What are you talking about? 1.3's release wasn't/ isn't postponed a
single day because of us adding new features. The opposite is true:
new features (like the converter change) are added because the release
isn't out yet and it's still ok to add (or backport) features.

No, there is no 1.3 release yet for two (and only two) reasons:
1) legal issues due to incubating
2) setting up the new release process and being short in time for some
members who are working on that

Eelco



Re: generics in Wicket

2007-03-07 Thread Eelco Hillenius

We have a team of over ten people, so I don't see why backporting
features can't be done, especially as some are without a doubt worth
it. Take the converter backport. We made at least two users happy
already! And it makes no difference AT ALL to the speed at which the
release comes. The release isn't bound to testing anyway, as the first
goal of the upcoming release is to have a dry run for an Apache ok-ed
release.

Eelco


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:

oh please. the more stuff you add the more we have to test, the longer it
takes. johan is talking about backporting the models and thats great, but he
still hasnt fixed the serialization issues in the pagestore. we needed a
feature freeze a long time ago, so that we _would_ concentrate on getting
the legal issues resolved, but instead weve been happily hacking away. we
should at least try to work on some bugs before adding new stuff in.

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

  thats not the point! its not about api breaks. this is why 1.3 is taking
  forever, you keep adding and adding and adding.

 What are you talking about? 1.3's release wasn't/ isn't postponed a
 single day because of us adding new features. The opposite is true:
 new features (like the converter change) are added because the release
 isn't out yet and it's still ok to add (or backport) features.

 No, there is no 1.3 release yet for two (and only two) reasons:
 1) legal issues due to incubating
 2) setting up the new release process and being short in time for some
 members who are working on that

 Eelco




Re: generics in Wicket

2007-03-07 Thread Igor Vaynberg

yes, but i figured johan was going to keep working on it instead of
backporting new features :)

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 and how many users did you make unhappy with the half working pagestore?
 maybe that shouldve been fixed before more energy was spent on
backporting
 the converters.

Didn't you +1 on setting that as the default, something I proposed /not/
doing?

Eelco



Re: generics in Wicket

2007-03-07 Thread Sven Meier

It was my rather limited energy that did the converter backport.

Thus Johan can't use this effort as an excuse, that the pagestore isn't 
working already ;).


Sven

Igor Vaynberg wrote:

and how many users did you make unhappy with the half working pagestore?
maybe that shouldve been fixed before more energy was spent on 
backporting

the converters.

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


We have a team of over ten people, so I don't see why backporting
features can't be done, especially as some are without a doubt worth
it. Take the converter backport. We made at least two users happy
already! And it makes no difference AT ALL to the speed at which the
release comes. The release isn't bound to testing anyway, as the first
goal of the upcoming release is to have a dry run for an Apache ok-ed
release.

Eelco


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 oh please. the more stuff you add the more we have to test, the longer
it
 takes. johan is talking about backporting the models and thats great,
but he
 still hasnt fixed the serialization issues in the pagestore. we 
needed a

 feature freeze a long time ago, so that we _would_ concentrate on
getting
 the legal issues resolved, but instead weve been happily hacking away.
we
 should at least try to work on some bugs before adding new stuff in.

 -igor


 On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
 
   thats not the point! its not about api breaks. this is why 1.3 is
taking
   forever, you keep adding and adding and adding.
 
  What are you talking about? 1.3's release wasn't/ isn't postponed a
  single day because of us adding new features. The opposite is true:
  new features (like the converter change) are added because the 
release

  isn't out yet and it's still ok to add (or backport) features.
 
  No, there is no 1.3 release yet for two (and only two) reasons:
  1) legal issues due to incubating
  2) setting up the new release process and being short in time for 
some

  members who are working on that
 
  Eelco
 








Re: generics in Wicket

2007-03-07 Thread Eelco Hillenius

On 3/7/07, Sven Meier [EMAIL PROTECTED] wrote:

It was my rather limited energy that did the converter backport.


Ah. Thanks though!


Thus Johan can't use this effort as an excuse, that the pagestore isn't
working already ;).


Nope he can't. Get on it Johan! :)

Eelco


RE: generics in Wicket

2007-03-07 Thread Jan Vermeulen


Stefan Lindner wrote:
 
 My preference for a strong gneric API comes from the experience I made
 when I moved from Wicket 1.2 to 2.0. The simple syntactic modifications
 for generic Components showed up several programming errors that we
 otherwise had to debug during runtime of the application. It also showed
 up some design problems of our applicatioin. So a strong generic API may
 took a little bit more time in developing an application but it saves much
 more time in debugging.
 

I agree with this. We had the same experience, moving from 1.x to 2.0.
Applying generics to complex component/model interactions can be hard (f.i.
models working with collections, wrapmodels that define a different object
than the nested model,...), but it clearly identifies where the design is
not correct.

We are in favor of maintaining generics.
Jan.
-- 
View this message in context: 
http://www.nabble.com/generics-in-Wicket-tf3360271.html#a9360723
Sent from the Wicket - Dev mailing list archive at Nabble.com.



Re: [Vote] Performance problems due to Component:initModel()

2007-03-07 Thread Jan Vermeulen

Yes, you might want to cover up for that. But the price to pay is really
high. I don't know if any other wicket 2.0 users have experience with
no-nonsense applications, but in our case, the response times are really
unacceptable (sometimes more than 10 seconds). By overwriting the
initModel() method on just a few of the containers that have no own model,
we reduce that time to less than a second.

But I think a framework like Wicket can not leave that up to the user of the
framework.

Jan.


Eelco Hillenius wrote:
 
 But I think there is a conceptual error in the component implementation:
 I
 think initModel() should not be called from the method getModel(). Once
 decided that there is no model for a component, it should not try and get
 one each time we want to get it. I.e., initModel should be called only
 once
 for each component. Am I right ?
 
 Theoretically, people can manually set model to null after the
 component had it's own model first. But that would be quite weird.
 
 Eelco
 
 

-- 
View this message in context: 
http://www.nabble.com/Performance-problems-due-to-Component%3AinitModel%28%29-tf3362476.html#a9360881
Sent from the Wicket - Dev mailing list archive at Nabble.com.



Re: [Vote] Performance problems due to Component:initModel()

2007-03-07 Thread Jan Vermeulen

Even if you want to control that, it could be done within the setModel()
method.
After all, that's exactly what is done for wrapOnAssignment. Why not apply
the same logic to wrapOnInheritance ?

Jan


Eelco Hillenius wrote:
 
 Theoretically, people can manually set model to null after the
 component had it's own model first. But that would be quite weird.
 
 Eelco
 
 

-- 
View this message in context: 
http://www.nabble.com/Performance-problems-due-to-Component%3AinitModel%28%29-tf3362476.html#a9360990
Sent from the Wicket - Dev mailing list archive at Nabble.com.



VOTE: backporting wicket 2.0 model change to 1.3

2007-03-07 Thread Johan Compagner

In 2.0 we have a model change:

IModel.getObject(Component) - IModel.getObject()
IModel.setObject(Component,Object) - IModel.setObject(Object)

So if you want to object from a component in 2.0 you only have to do:

component.getModel().getObject()

instead of


component.getModel().getObject()

That XXX is depending on what kind of model you use. If the component
did inherit a CompoundModel then you have to specify the component.this
If you where owner of the compoundmodel then you shouldn't specify anything
(null)

This is all fixed in 2.0 and now we can backport it to 1.3:

1 port it to 1.3

2 don't port it to 1.3


Re: VOTE: backporting wicket 2.0 model change to 1.3

2007-03-07 Thread Eelco Hillenius

This is all fixed in 2.0 and now we can backport it to 1.3:

1 port it to 1.3

2 don't port it to 1.3


Can we make a release (beta) of 1.3 this weekend? If we can, I am +1
for porting it to 1.3 right after that. That'll give users some room
for breath, while we can keep on moving fast to try to get to the
Wicket 2.0 feature set fast (only the converters would have to be
backported if I understand correctly).

Eelco


Re: VOTE: backporting wicket 2.0 model change to 1.3

2007-03-07 Thread Matej Knopp

1 port it to 1.3

-Matej

Johan Compagner wrote:

In 2.0 we have a model change:

IModel.getObject(Component) - IModel.getObject()
IModel.setObject(Component,Object) - IModel.setObject(Object)

So if you want to object from a component in 2.0 you only have to do:

component.getModel().getObject()

instead of


component.getModel().getObject()

That XXX is depending on what kind of model you use. If the component
did inherit a CompoundModel then you have to specify the component.this
If you where owner of the compoundmodel then you shouldn't specify anything
(null)

This is all fixed in 2.0 and now we can backport it to 1.3:

1 port it to 1.3

2 don't port it to 1.3





Re: [Vote] Performance problems due to Component:initModel()

2007-03-07 Thread Igor Vaynberg

i dont get it, how many method invocations happen that they take 10 seconds?

-igor


On 3/7/07, Jan Vermeulen [EMAIL PROTECTED] wrote:



Even if you want to control that, it could be done within the setModel()
method.
After all, that's exactly what is done for wrapOnAssignment. Why not apply
the same logic to wrapOnInheritance ?

Jan


Eelco Hillenius wrote:

 Theoretically, people can manually set model to null after the
 component had it's own model first. But that would be quite weird.

 Eelco



--
View this message in context:
http://www.nabble.com/Performance-problems-due-to-Component%3AinitModel%28%29-tf3362476.html#a9360990
Sent from the Wicket - Dev mailing list archive at Nabble.com.




Re: VOTE: backporting wicket 2.0 model change to 1.3

2007-03-07 Thread Johan Compagner

1 port it to 1.3

On 3/7/07, Johan Compagner [EMAIL PROTECTED] wrote:


In 2.0 we have a model change:

IModel.getObject(Component) - IModel.getObject()
IModel.setObject(Component,Object) - IModel.setObject(Object)

So if you want to object from a component in 2.0 you only have to do:

component.getModel().getObject()

instead of


component.getModel().getObject()

That XXX is depending on what kind of model you use. If the component
did inherit a CompoundModel then you have to specify the component.this
If you where owner of the compoundmodel then you shouldn't specify
anything (null)

This is all fixed in 2.0 and now we can backport it to 1.3:

1 port it to 1.3

2 don't port it to 1.3



Re: VOTE: backporting wicket 2.0 model change to 1.3

2007-03-07 Thread Johan Compagner

But then it will still land in 1.3?

And also when are we going to release 1.3? Will we release that under the
incubating tag?

johan


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


 This is all fixed in 2.0 and now we can backport it to 1.3:

 1 port it to 1.3

 2 don't port it to 1.3

Can we make a release (beta) of 1.3 this weekend? If we can, I am +1
for porting it to 1.3 right after that. That'll give users some room
for breath, while we can keep on moving fast to try to get to the
Wicket 2.0 feature set fast (only the converters would have to be
backported if I understand correctly).

Eelco



Re: VOTE: backporting wicket 2.0 model change to 1.3

2007-03-07 Thread Igor Vaynberg

THIS VOTE NEEDS TO GO ON USER LIST

-igor


On 3/7/07, Johan Compagner [EMAIL PROTECTED] wrote:


In 2.0 we have a model change:

IModel.getObject(Component) - IModel.getObject()
IModel.setObject(Component,Object) - IModel.setObject(Object)

So if you want to object from a component in 2.0 you only have to do:

component.getModel().getObject()

instead of


component.getModel().getObject()

That XXX is depending on what kind of model you use. If the component
did inherit a CompoundModel then you have to specify the component.this
If you where owner of the compoundmodel then you shouldn't specify
anything
(null)

This is all fixed in 2.0 and now we can backport it to 1.3:

1 port it to 1.3

2 don't port it to 1.3



Re: generics in Wicket

2007-03-07 Thread Johan Compagner

why?
that one can be simple disabled. PageStore works perfectly without it.
I think our in/output will always jump into cases that are not completely
supported
If that is the case. Then use the default one.

Converters didn't cost me time (it was a patch)

johan


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


and how many users did you make unhappy with the half working pagestore?
maybe that shouldve been fixed before more energy was spent on backporting
the converters.

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

 We have a team of over ten people, so I don't see why backporting
 features can't be done, especially as some are without a doubt worth
 it. Take the converter backport. We made at least two users happy
 already! And it makes no difference AT ALL to the speed at which the
 release comes. The release isn't bound to testing anyway, as the first
 goal of the upcoming release is to have a dry run for an Apache ok-ed
 release.

 Eelco


 On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
  oh please. the more stuff you add the more we have to test, the longer
 it
  takes. johan is talking about backporting the models and thats great,
 but he
  still hasnt fixed the serialization issues in the pagestore. we needed
a
  feature freeze a long time ago, so that we _would_ concentrate on
 getting
  the legal issues resolved, but instead weve been happily hacking away.
 we
  should at least try to work on some bugs before adding new stuff in.
 
  -igor
 
 
  On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
  
thats not the point! its not about api breaks. this is why 1.3 is
 taking
forever, you keep adding and adding and adding.
  
   What are you talking about? 1.3's release wasn't/ isn't postponed a
   single day because of us adding new features. The opposite is true:
   new features (like the converter change) are added because the
release
   isn't out yet and it's still ok to add (or backport) features.
  
   No, there is no 1.3 release yet for two (and only two) reasons:
   1) legal issues due to incubating
   2) setting up the new release process and being short in time for
some
   members who are working on that
  
   Eelco
  
 




Re: generics in Wicket

2007-03-07 Thread Johan Compagner

i always did say +1 (but i also said that i would do it when i fixed it)
But again. This is purely for testing and pagestore is not halfbaked. That
one is currently
pretty perfect and heavily tested (thx matej!). The wicket serialization is
just an extra
that will be on going work.

johan


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 and how many users did you make unhappy with the half working pagestore?
 maybe that shouldve been fixed before more energy was spent on
backporting
 the converters.

Didn't you +1 on setting that as the default, something I proposed /not/
doing?

Eelco



Re: generics in Wicket

2007-03-07 Thread Johan Compagner

Sven+++!

and no i will not use it as an excuse!


On 3/7/07, Sven Meier [EMAIL PROTECTED] wrote:


It was my rather limited energy that did the converter backport.

Thus Johan can't use this effort as an excuse, that the pagestore isn't
working already ;).

Sven

Igor Vaynberg wrote:
 and how many users did you make unhappy with the half working pagestore?
 maybe that shouldve been fixed before more energy was spent on
 backporting
 the converters.

 -igor


 On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

 We have a team of over ten people, so I don't see why backporting
 features can't be done, especially as some are without a doubt worth
 it. Take the converter backport. We made at least two users happy
 already! And it makes no difference AT ALL to the speed at which the
 release comes. The release isn't bound to testing anyway, as the first
 goal of the upcoming release is to have a dry run for an Apache ok-ed
 release.

 Eelco


 On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
  oh please. the more stuff you add the more we have to test, the
longer
 it
  takes. johan is talking about backporting the models and thats great,
 but he
  still hasnt fixed the serialization issues in the pagestore. we
 needed a
  feature freeze a long time ago, so that we _would_ concentrate on
 getting
  the legal issues resolved, but instead weve been happily hacking
away.
 we
  should at least try to work on some bugs before adding new stuff in.
 
  -igor
 
 
  On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
  
thats not the point! its not about api breaks. this is why 1.3 is
 taking
forever, you keep adding and adding and adding.
  
   What are you talking about? 1.3's release wasn't/ isn't postponed a
   single day because of us adding new features. The opposite is true:
   new features (like the converter change) are added because the
 release
   isn't out yet and it's still ok to add (or backport) features.
  
   No, there is no 1.3 release yet for two (and only two) reasons:
   1) legal issues due to incubating
   2) setting up the new release process and being short in time for
 some
   members who are working on that
  
   Eelco
  
 






Re: [Vote] Performance problems due to Component:initModel()

2007-03-07 Thread Johan Compagner

yes i have the same question.
initmodel doesn't really do anything very special it just walks quickly over
the parents.


Can you profile it? Where does the real time go to?

johan



On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


i dont get it, how many method invocations happen that they take 10
seconds?

-igor


On 3/7/07, Jan Vermeulen [EMAIL PROTECTED] wrote:


 Even if you want to control that, it could be done within the setModel()
 method.
 After all, that's exactly what is done for wrapOnAssignment. Why not
apply
 the same logic to wrapOnInheritance ?

 Jan


 Eelco Hillenius wrote:
 
  Theoretically, people can manually set model to null after the
  component had it's own model first. But that would be quite weird.
 
  Eelco
 
 

 --
 View this message in context:

http://www.nabble.com/Performance-problems-due-to-Component%3AinitModel%28%29-tf3362476.html#a9360990
 Sent from the Wicket - Dev mailing list archive at Nabble.com.





VOTE release 1.3beta

2007-03-07 Thread Igor Vaynberg

this vote is to release 1.3beta

-igor


Re: VOTE release 1.3beta

2007-03-07 Thread Igor Vaynberg

+1

-igor


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


this vote is to release 1.3beta

-igor



Re: VOTE release 1.3beta

2007-03-07 Thread Eelco Hillenius

+1

Eelco

On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:

this vote is to release 1.3beta

-igor



Re: AjaxSubmitButton in Panel inside ModalWindow in a Form

2007-03-07 Thread Matej Knopp

Since I just backported nested forms from trunk, this works in 1.x :)
All you need to do is to place a form inside modal window if you want to 
submit it. Wicket should take care of the rest.


-Matej

Al Maw wrote:
AjaxSubmitButton in a ModalWindow using a Panel as content doesn't work 
if the ModalWindow component is itself embedded in a Form.


The issue is that ModalWindow tacks its content on as a div on the 
body element, which places it outside the original form element.


If we fix ModalWindow to inject its Panel content into the middle of the 
page where the component actually lies, then all the CSS is messed up - 
it uses position: absolute, which will work fine until you put the 
ModalWindow component inside something that is position: relative;


If you add a form to the ModalWindow's Panel, then the nested Form 
resolution stuff removes the form element because it thinks it has a 
parent form, even though when it's rendered it's actually outside it.


I'm not sure how to fix this, or even if it's possible to.
Maybe we can make the nested form hierarchy check stop traversing its 
parents at ModalWindow boundaries, and require than things inside a 
ModalWindow have their own Form?


Al





Re: VOTE release 1.3beta

2007-03-07 Thread Johan Compagner

+1

On 3/8/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


this vote is to release 1.3beta

-igor



roadmap

2007-03-07 Thread Igor Vaynberg

pasted from almaw's email on @user

-igor

-- 8 

In my opinion we could, within the next:
-
 1 week  - Push 1.3-betas as-is.
2/3 weeks - Bug fix as people test it and push out rc's when
   we feel it's solid and stable.
 4 weeks - Rename 1.x branch to 1.3.x.
 - Release 1.3.0 final and put 1.3.x immediately into
   maintenance mode.
 - Create 1.4.x branch from 1.3.0 tag.
 - Merge the model changes from trunk to 1.4.x.
 - Backport anything else from trunk to 1.4.x that's
   not JDK5-specific.
 6 weeks - Push out 1.4-betas
7/8 weeks - Push out 1.4-rc's
 9 weeks - Push out 1.4.0 final
 - Create 1.5.x branch from 1.4.0 tag.
 - Backport/add generics, covariance and other JDK 5 trunk
   features to the 1.5.x branch.
 - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
14+ weeks - Release 1.5.0

Suggestions to make this work:
--
We won't backport from 1.4.x - 1.3.x.
We won't actively develop trunk.
We will push 1.4 out very soon after 1.3, and encourage migration.
We will have this in a public roadmap so people can see it coming.

Notes on what you think is insanity, but actually isn't:

We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
1.5.x and what's currently trunk). This may seem like madness to you,
but I reckon it isn't:

During 1.3 development, 2.x is low activity, 1.2.x negligible.
During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
During 1.5 development, only 1.4.x will also be quite active.

Once 1.5.0 is out, we can properly deprecate 2.0. People currently using
it may not like being told to migrate to 1.5.x, but that shouldn't be
too hard (much less hard than going from 1.3-2.0) and there shouldn't
be too many of them. I guess that's the price you sometimes pay for
using unreleased software. :-/

I'd envisage 1.4.x will require some backports from 1.5.x. We'd
obviously encourage core developers and patchers to upgrade their sites
to use 1.5.x, do active development on that, and therefore try to only
ever backport from 1.5.x to 1.4.x, not forward-port the other way around.

If you think I'm smoking crack, the above is utterly unreasonable, you
want to kick me out of the gang, or you have any better ideas or
suggestions as to how to keep everyone happy, please shout now. :-)

Best regards,

Alastair


Re: roadmap

2007-03-07 Thread Eelco Hillenius

This sounds good to me. The main point of critique I can think of is
that so far we haven't be able to do releases very fast. So in that
sense, the time schedule is probably very unrealistic. However, there
is nothing I would like more then us to be able to actually *do*
releases fast, so if this is another carrot on a stick to make *that*
happen, I'm all for it.

Eelco


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:

pasted from almaw's email on @user

-igor

-- 8 

In my opinion we could, within the next:
-
  1 week  - Push 1.3-betas as-is.
2/3 weeks - Bug fix as people test it and push out rc's when
we feel it's solid and stable.
  4 weeks - Rename 1.x branch to 1.3.x.
  - Release 1.3.0 final and put 1.3.x immediately into
maintenance mode.
  - Create 1.4.x branch from 1.3.0 tag.
  - Merge the model changes from trunk to 1.4.x.
  - Backport anything else from trunk to 1.4.x that's
not JDK5-specific.
  6 weeks - Push out 1.4-betas
7/8 weeks - Push out 1.4-rc's
  9 weeks - Push out 1.4.0 final
  - Create 1.5.x branch from 1.4.0 tag.
  - Backport/add generics, covariance and other JDK 5 trunk
features to the 1.5.x branch.
  - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
14+ weeks - Release 1.5.0

Suggestions to make this work:
--
We won't backport from 1.4.x - 1.3.x.
We won't actively develop trunk.
We will push 1.4 out very soon after 1.3, and encourage migration.
We will have this in a public roadmap so people can see it coming.

Notes on what you think is insanity, but actually isn't:

We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
1.5.x and what's currently trunk). This may seem like madness to you,
but I reckon it isn't:

During 1.3 development, 2.x is low activity, 1.2.x negligible.
During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
During 1.5 development, only 1.4.x will also be quite active.

Once 1.5.0 is out, we can properly deprecate 2.0. People currently using
it may not like being told to migrate to 1.5.x, but that shouldn't be
too hard (much less hard than going from 1.3-2.0) and there shouldn't
be too many of them. I guess that's the price you sometimes pay for
using unreleased software. :-/

I'd envisage 1.4.x will require some backports from 1.5.x. We'd
obviously encourage core developers and patchers to upgrade their sites
to use 1.5.x, do active development on that, and therefore try to only
ever backport from 1.5.x to 1.4.x, not forward-port the other way around.

If you think I'm smoking crack, the above is utterly unreasonable, you
want to kick me out of the gang, or you have any better ideas or
suggestions as to how to keep everyone happy, please shout now. :-)

Best regards,

Alastair



Re: roadmap

2007-03-07 Thread Eelco Hillenius

A very big problem for Martijn and me is actually that we can't go on
with writing until 1.4 is created. Models are everywhere in the book,
including a separate chapter, and they are based on the 2.0 models
currently. Martijn and me would have to decide on whether to target
1.4 or 1.5 but it would be either of them. Freezing the writing for a
few weeks is really unacceptable for us. I understand your problems of
accepting the model change for 1.3, but if it doesn't get in there -
which is fine - Martijn and me need that 1.4 branch fast.

Eelco


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

This sounds good to me. The main point of critique I can think of is
that so far we haven't be able to do releases very fast. So in that
sense, the time schedule is probably very unrealistic. However, there
is nothing I would like more then us to be able to actually *do*
releases fast, so if this is another carrot on a stick to make *that*
happen, I'm all for it.

Eelco


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 pasted from almaw's email on @user

 -igor

 -- 8 

 In my opinion we could, within the next:
 -
   1 week  - Push 1.3-betas as-is.
 2/3 weeks - Bug fix as people test it and push out rc's when
 we feel it's solid and stable.
   4 weeks - Rename 1.x branch to 1.3.x.
   - Release 1.3.0 final and put 1.3.x immediately into
 maintenance mode.
   - Create 1.4.x branch from 1.3.0 tag.
   - Merge the model changes from trunk to 1.4.x.
   - Backport anything else from trunk to 1.4.x that's
 not JDK5-specific.
   6 weeks - Push out 1.4-betas
 7/8 weeks - Push out 1.4-rc's
   9 weeks - Push out 1.4.0 final
   - Create 1.5.x branch from 1.4.0 tag.
   - Backport/add generics, covariance and other JDK 5 trunk
 features to the 1.5.x branch.
   - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
 14+ weeks - Release 1.5.0

 Suggestions to make this work:
 --
 We won't backport from 1.4.x - 1.3.x.
 We won't actively develop trunk.
 We will push 1.4 out very soon after 1.3, and encourage migration.
 We will have this in a public roadmap so people can see it coming.

 Notes on what you think is insanity, but actually isn't:
 
 We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
 1.5.x and what's currently trunk). This may seem like madness to you,
 but I reckon it isn't:

 During 1.3 development, 2.x is low activity, 1.2.x negligible.
 During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
 During 1.5 development, only 1.4.x will also be quite active.

 Once 1.5.0 is out, we can properly deprecate 2.0. People currently using
 it may not like being told to migrate to 1.5.x, but that shouldn't be
 too hard (much less hard than going from 1.3-2.0) and there shouldn't
 be too many of them. I guess that's the price you sometimes pay for
 using unreleased software. :-/

 I'd envisage 1.4.x will require some backports from 1.5.x. We'd
 obviously encourage core developers and patchers to upgrade their sites
 to use 1.5.x, do active development on that, and therefore try to only
 ever backport from 1.5.x to 1.4.x, not forward-port the other way around.

 If you think I'm smoking crack, the above is utterly unreasonable, you
 want to kick me out of the gang, or you have any better ideas or
 suggestions as to how to keep everyone happy, please shout now. :-)

 Best regards,

 Alastair




Re: roadmap

2007-03-07 Thread Eelco Hillenius

Right, how are we gonna compile that? Doesn't work like that. We have
a source tree in sync with the examples.

Eelco


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:

so write the models against 2.0. they will be exactly the same in
1.4branch. code examples i guess you can leave for later?

-igor


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

 A very big problem for Martijn and me is actually that we can't go on
 with writing until 1.4 is created. Models are everywhere in the book,
 including a separate chapter, and they are based on the 2.0 models
 currently. Martijn and me would have to decide on whether to target
 1.4 or 1.5 but it would be either of them. Freezing the writing for a
 few weeks is really unacceptable for us. I understand your problems of
 accepting the model change for 1.3, but if it doesn't get in there -
 which is fine - Martijn and me need that 1.4 branch fast.

 Eelco


 On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
  This sounds good to me. The main point of critique I can think of is
  that so far we haven't be able to do releases very fast. So in that
  sense, the time schedule is probably very unrealistic. However, there
  is nothing I would like more then us to be able to actually *do*
  releases fast, so if this is another carrot on a stick to make *that*
  happen, I'm all for it.
 
  Eelco
 
 
  On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
   pasted from almaw's email on @user
  
   -igor
  
   -- 8
 
  
   In my opinion we could, within the next:
   -
 1 week  - Push 1.3-betas as-is.
   2/3 weeks - Bug fix as people test it and push out rc's when
   we feel it's solid and stable.
 4 weeks - Rename 1.x branch to 1.3.x.
 - Release 1.3.0 final and put 1.3.x immediately into
   maintenance mode.
 - Create 1.4.x branch from 1.3.0 tag.
 - Merge the model changes from trunk to 1.4.x.
 - Backport anything else from trunk to 1.4.x that's
   not JDK5-specific.
 6 weeks - Push out 1.4-betas
   7/8 weeks - Push out 1.4-rc's
 9 weeks - Push out 1.4.0 final
 - Create 1.5.x branch from 1.4.0 tag.
 - Backport/add generics, covariance and other JDK 5 trunk
   features to the 1.5.x branch.
 - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
   14+ weeks - Release 1.5.0
  
   Suggestions to make this work:
   --
   We won't backport from 1.4.x - 1.3.x.
   We won't actively develop trunk.
   We will push 1.4 out very soon after 1.3, and encourage migration.
   We will have this in a public roadmap so people can see it coming.
  
   Notes on what you think is insanity, but actually isn't:
   
   We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
   1.5.x and what's currently trunk). This may seem like madness to you,
   but I reckon it isn't:
  
   During 1.3 development, 2.x is low activity, 1.2.x negligible.
   During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
   During 1.5 development, only 1.4.x will also be quite active.
  
   Once 1.5.0 is out, we can properly deprecate 2.0. People currently
 using
   it may not like being told to migrate to 1.5.x, but that shouldn't be
   too hard (much less hard than going from 1.3-2.0) and there shouldn't
   be too many of them. I guess that's the price you sometimes pay for
   using unreleased software. :-/
  
   I'd envisage 1.4.x will require some backports from 1.5.x. We'd
   obviously encourage core developers and patchers to upgrade their
 sites
   to use 1.5.x, do active development on that, and therefore try to only
   ever backport from 1.5.x to 1.4.x, not forward-port the other way
 around.
  
   If you think I'm smoking crack, the above is utterly unreasonable, you
   want to kick me out of the gang, or you have any better ideas or
   suggestions as to how to keep everyone happy, please shout now. :-)
  
   Best regards,
  
   Alastair
  
 




Re: roadmap

2007-03-07 Thread Igor Vaynberg

well yeah. write the text now, and the code examples later. or is that too
unmanageable?

but according to the roadmap we are releasing 1.4 fairly soon. can you put
off the chapters that are affected by this?

we do need to work around you to some degree because the book is an
important asset, so you need to tell us what will absolutely not work for
you and what you can live with.

-igor

On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


Right, how are we gonna compile that? Doesn't work like that. We have
a source tree in sync with the examples.

Eelco


On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 so write the models against 2.0. they will be exactly the same in
 1.4branch. code examples i guess you can leave for later?

 -igor


 On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
 
  A very big problem for Martijn and me is actually that we can't go on
  with writing until 1.4 is created. Models are everywhere in the book,
  including a separate chapter, and they are based on the 2.0 models
  currently. Martijn and me would have to decide on whether to target
  1.4 or 1.5 but it would be either of them. Freezing the writing for a
  few weeks is really unacceptable for us. I understand your problems of
  accepting the model change for 1.3, but if it doesn't get in there -
  which is fine - Martijn and me need that 1.4 branch fast.
 
  Eelco
 
 
  On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
   This sounds good to me. The main point of critique I can think of is
   that so far we haven't be able to do releases very fast. So in that
   sense, the time schedule is probably very unrealistic. However,
there
   is nothing I would like more then us to be able to actually *do*
   releases fast, so if this is another carrot on a stick to make
*that*
   happen, I'm all for it.
  
   Eelco
  
  
   On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
pasted from almaw's email on @user
   
-igor
   
-- 8
  
   
In my opinion we could, within the next:
-
  1 week  - Push 1.3-betas as-is.
2/3 weeks - Bug fix as people test it and push out rc's when
we feel it's solid and stable.
  4 weeks - Rename 1.x branch to 1.3.x.
  - Release 1.3.0 final and put 1.3.x immediately into
maintenance mode.
  - Create 1.4.x branch from 1.3.0 tag.
  - Merge the model changes from trunk to 1.4.x.
  - Backport anything else from trunk to 1.4.x that's
not JDK5-specific.
  6 weeks - Push out 1.4-betas
7/8 weeks - Push out 1.4-rc's
  9 weeks - Push out 1.4.0 final
  - Create 1.5.x branch from 1.4.0 tag.
  - Backport/add generics, covariance and other JDK 5
trunk
features to the 1.5.x branch.
  - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
14+ weeks - Release 1.5.0
   
Suggestions to make this work:
--
We won't backport from 1.4.x - 1.3.x.
We won't actively develop trunk.
We will push 1.4 out very soon after 1.3, and encourage migration.
We will have this in a public roadmap so people can see it coming.
   
Notes on what you think is insanity, but actually isn't:

We will of course end up with five(!) branches (1.2.x, 1.3.x,
1.4.x,
1.5.x and what's currently trunk). This may seem like madness to
you,
but I reckon it isn't:
   
During 1.3 development, 2.x is low activity, 1.2.x negligible.
During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
During 1.5 development, only 1.4.x will also be quite active.
   
Once 1.5.0 is out, we can properly deprecate 2.0. People currently
  using
it may not like being told to migrate to 1.5.x, but that shouldn't
be
too hard (much less hard than going from 1.3-2.0) and there
shouldn't
be too many of them. I guess that's the price you sometimes pay
for
using unreleased software. :-/
   
I'd envisage 1.4.x will require some backports from 1.5.x. We'd
obviously encourage core developers and patchers to upgrade their
  sites
to use 1.5.x, do active development on that, and therefore try to
only
ever backport from 1.5.x to 1.4.x, not forward-port the other way
  around.
   
If you think I'm smoking crack, the above is utterly unreasonable,
you
want to kick me out of the gang, or you have any better ideas or
suggestions as to how to keep everyone happy, please shout now.
:-)
   
Best regards,
   
Alastair
   
  
 




Re: roadmap

2007-03-07 Thread Eelco Hillenius

well yeah. write the text now, and the code examples later. or is that too
unmanageable?


That's funny, really. :)


but according to the roadmap we are releasing 1.4 fairly soon. can you put
off the chapters that are affected by this?


To some degree, for a couple of weeks at most.


we do need to work around you to some degree because the book is an
important asset, so you need to tell us what will absolutely not work for
you and what you can live with.


I/ we can live with a week or 3/ 4, but that would be absolutely the
max before we get in serious trouble. But I'll let Martijn chip in
when he wakes up.

Eelco


Re: [VOTE] All examples in one project, Java 5 required

2007-03-07 Thread Al Maw

Martijn Dashorst wrote:

I propose to make the examples projects Java 1.5 dependent.


Everyone said yes, so I assume this is going ahead. Has there been any 
progress on this? I'm wanting to fiddle with Maven 2 build procedures 
and things prior to getting the 1.3 beta out, and if you have tons of 
outstanding commits with this, it may be tricky. :-)


Al


Re: [Vote] remove add() and pass parent in constructor?

2007-03-07 Thread aozster



igor.vaynberg wrote:
 
 hello all,
 we, the core devel group, have been discussing and evaluating a possible
 change we would like to make for the next release and we would like your
 input.
 
 the idea is to remove the Component.add(Component child) method and link
 components via a constructor instead: Component(Component parent, String
 id)
 
 this has a couple of advantages:
 
 * have access to markup the component is attached to in the constructor.
 that means you can read attributes and initialize your component
 appropriately. it also means we can eliminate the use of attribute
 modifiers
 for non-dynamic attribute replacement.
 
 -- attribute modifier is more flexible and reusable
 
 * we can fail super-early if there is a mismatch between component and
 markup hierachies. currently we dont fail until render time, with this
 change we can fail in the Component constructor - so before the component
 is
 actually created. this will give you a line precise error in markup AND
 java
 code.
 
 -- The trade off is too high, It can be archive with more explicit
 mechanism, not by forcing static structure and let compiler checking help
 detect this.
 
 * getPage() and getPath() will work in the component's constructor. this
 is
 really nice for ajax stuff.
 
 --- It should be available in other component lifcycle method, or use
 publish subscribe mechanism , shouldn't rely on constructor ( which means
 vm object creation ).
 
 the big disadvantage of course is that we will break ALL existing code. it
 is a simple change to fix though. a hybrid of this and add() will not work
 because all links in the chain need to use the new constructor for it to
 work.
 
 we would also provide Component.remove() and Component.readd() which
 remove/readd component to its parent. so the link between parent and child
 is now managed on the child's side instead of the parent's side. this, of
 course, makes it impossible to move components between parents - is there
 a
 usecase for this?
 
 --- component can not switch parent.
 Usecases:
 CMS - layout designer provide template and look and feel and let's
 content author to place component in placeholder and may be switch between
 placeholder, component may appear across pages (state is ratained across
 page)
 Rich Internet Application UI - multitab pane , doggable pane which user
 can move pane around.
 Portal - wicket component can be views as portlet and viewlet which use
 can customized to suit their needs.
 
 - 2.0 It means I have to recreate it, specifying new parent in
 constructor , copy all state from the old panel to the new one and place
 in new placeholder. 
 
 
 please provide us with feedback/concerns so we have a better feel for
 requirements out there.
 
 thanks,
 -Igor
 
 

-- 
View this message in context: 
http://www.nabble.com/remove-add%28%29-and-pass-parent-in-constructor--tf929620.html#a9369154
Sent from the Wicket - Dev mailing list archive at Nabble.com.



Re: [Vote] remove add() and pass parent in constructor?

2007-03-07 Thread Igor Vaynberg

On 3/7/07, aozster [EMAIL PROTECTED] wrote:



 * have access to markup the component is attached to in the constructor.
 that means you can read attributes and initialize your component
 appropriately. it also means we can eliminate the use of attribute
 modifiers
 for non-dynamic attribute replacement.

 -- attribute modifier is more flexible and reusable



for simple usecases where you just want to set a class from java code it is
not. it has an overhead of an entire class instance where a simple string
would do just as well. the overhead is with respect to storage in session.


* we can fail super-early if there is a mismatch between component and
 markup hierachies. currently we dont fail until render time, with this
 change we can fail in the Component constructor - so before the
component
 is
 actually created. this will give you a line precise error in markup AND
 java
 code.

 -- The trade off is too high, It can be archive with more explicit
 mechanism, not by forcing static structure and let compiler checking
help
 detect this.



yes but it took practical experience to figure it out. nothing more explicit
then what we have in 1.3 is possible really. the advantage of this is that
you get a stactrace that points to the offending instantiation in java
rather then a pointer to the markup.


* getPage() and getPath() will work in the component's constructor. this
 is
 really nice for ajax stuff.

 --- It should be available in other component lifcycle method, or
use
 publish subscribe mechanism , shouldn't rely on constructor ( which
means
 vm object creation ).



there is nothing vm object creation about this. constructors in java have
the same properties as constructors in c++ or any other language afaik. they
are atomic, if they do not succeed the instance is not created. wicket
components rely on these to properly initialize themselves. wicket
components are not beans, they are full blown objects.




 the big disadvantage of course is that we will break ALL existing code.
it
 is a simple change to fix though. a hybrid of this and add() will not
work
 because all links in the chain need to use the new constructor for it to
 work.

 we would also provide Component.remove() and Component.readd() which
 remove/readd component to its parent. so the link between parent and
child
 is now managed on the child's side instead of the parent's side. this,
of
 course, makes it impossible to move components between parents - is
there
 a
 usecase for this?

 --- component can not switch parent.
 Usecases:
 CMS - layout designer provide template and look and feel and let's
 content author to place component in placeholder and may be switch
between
 placeholder, component may appear across pages (state is ratained across
 page)
 Rich Internet Application UI - multitab pane , doggable pane which user
 can move pane around.
 Portal - wicket component can be views as portlet and viewlet which use
 can customized to suit their needs.



we actually have a rough reparenting support in trunk, but it isnt very
nice. im sure it could be made better with more work, but probably not worth
it.

-igor


Re: VOTE release 1.3beta

2007-03-07 Thread Frank Bille

+1 on 1.3-beta1-incubating.

On 3/8/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


this vote is to release 1.3beta

-igor



Re: [VOTE] All examples in one project, Java 5 required

2007-03-07 Thread Martijn Dashorst

This is one for after the current release... Putting them into one
project and making it beautiful just takes longer. Will be ready for
final I hope.

Martijn

On 3/8/07, Al Maw [EMAIL PROTECTED] wrote:

Martijn Dashorst wrote:
 I propose to make the examples projects Java 1.5 dependent.

Everyone said yes, so I assume this is going ahead. Has there been any
progress on this? I'm wanting to fiddle with Maven 2 build procedures
and things prior to getting the 1.3 beta out, and if you have tons of
outstanding commits with this, it may be tricky. :-)

Al




--
Learn Wicket at ApacheCon Europe: http://apachecon.com
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.5 will keep your server alive. Download Wicket now!
http://wicketframework.org


Re: roadmap

2007-03-07 Thread Johan Compagner

oeps sorry didn't see this thread yet so here is it again:

i really hate that roadmap, really i do.

So you really want quickly 1.4 after 1.3 and i guess 1.3 is completely in
maintenance mode pretty much directly
because if we start working on 1.5 you really don't want 1.3 anymore
That means that people that all do 1.3 stuff now are going to 1.4 anyway
(especially because it is also not java5 yet again)

Releasing so quickly is in my eyes a bad thing. And i really don't want to
release as much under the incubating flag
(i sort of already don't want to do that for 1.3!! but i can live with that
if we really really have to)

so i am -1 on this release cycle.
what you call 1.3 and 1.4 should be in my eyes 1.3 and why you call 1.5 is
in my eyes 1.4.

Give people a big chunk and let that sink in for quite a while. Dont go
releasing like a mad man.

johan- Show quoted text -


Re: roadmap

2007-03-07 Thread Johan Compagner

thats another good reason to combine the 1.3 and 1.4
I still don't get it why release that fast and why let people completely
walk over there
code twice. If i as a user i am horrified. Do it once and be over with it.


johan


On 3/8/07, Eelco Hillenius [EMAIL PROTECTED] wrote:


A very big problem for Martijn and me is actually that we can't go on
with writing until 1.4 is created. Models are everywhere in the book,
including a separate chapter, and they are based on the 2.0 models
currently. Martijn and me would have to decide on whether to target
1.4 or 1.5 but it would be either of them. Freezing the writing for a
few weeks is really unacceptable for us. I understand your problems of
accepting the model change for 1.3, but if it doesn't get in there -
which is fine - Martijn and me need that 1.4 branch fast.

Eelco


On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
 This sounds good to me. The main point of critique I can think of is
 that so far we haven't be able to do releases very fast. So in that
 sense, the time schedule is probably very unrealistic. However, there
 is nothing I would like more then us to be able to actually *do*
 releases fast, so if this is another carrot on a stick to make *that*
 happen, I'm all for it.

 Eelco


 On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
  pasted from almaw's email on @user
 
  -igor
 
  -- 8

 
  In my opinion we could, within the next:
  -
1 week  - Push 1.3-betas as-is.
  2/3 weeks - Bug fix as people test it and push out rc's when
  we feel it's solid and stable.
4 weeks - Rename 1.x branch to 1.3.x.
- Release 1.3.0 final and put 1.3.x immediately into
  maintenance mode.
- Create 1.4.x branch from 1.3.0 tag.
- Merge the model changes from trunk to 1.4.x.
- Backport anything else from trunk to 1.4.x that's
  not JDK5-specific.
6 weeks - Push out 1.4-betas
  7/8 weeks - Push out 1.4-rc's
9 weeks - Push out 1.4.0 final
- Create 1.5.x branch from 1.4.0 tag.
- Backport/add generics, covariance and other JDK 5 trunk
  features to the 1.5.x branch.
- Move trunk to 2.0_deprecated_-_use_1.5.x_instead
  14+ weeks - Release 1.5.0
 
  Suggestions to make this work:
  --
  We won't backport from 1.4.x - 1.3.x.
  We won't actively develop trunk.
  We will push 1.4 out very soon after 1.3, and encourage migration.
  We will have this in a public roadmap so people can see it coming.
 
  Notes on what you think is insanity, but actually isn't:
  
  We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
  1.5.x and what's currently trunk). This may seem like madness to you,
  but I reckon it isn't:
 
  During 1.3 development, 2.x is low activity, 1.2.x negligible.
  During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
  During 1.5 development, only 1.4.x will also be quite active.
 
  Once 1.5.0 is out, we can properly deprecate 2.0. People currently
using
  it may not like being told to migrate to 1.5.x, but that shouldn't be
  too hard (much less hard than going from 1.3-2.0) and there shouldn't
  be too many of them. I guess that's the price you sometimes pay for
  using unreleased software. :-/
 
  I'd envisage 1.4.x will require some backports from 1.5.x. We'd
  obviously encourage core developers and patchers to upgrade their
sites
  to use 1.5.x, do active development on that, and therefore try to only
  ever backport from 1.5.x to 1.4.x, not forward-port the other way
around.
 
  If you think I'm smoking crack, the above is utterly unreasonable, you
  want to kick me out of the gang, or you have any better ideas or
  suggestions as to how to keep everyone happy, please shout now. :-)
 
  Best regards,
 
  Alastair
 




Re: roadmap

2007-03-07 Thread Johan Compagner

What should by the way all the users of 2.0 now do?
They shouldn't backport to 1.3 that would be completely stupid
so the have to keep using 2.0 until we make 1.4 available?
Because if they do backport first to 1.3 to at least be on a stable branch
or active develop branch
then we screw them twice. first backport from 2.0 to 1.3 then they have to
use the old model style
then 1.4 comes along and they have to redo there model 2.0 style.

johan


On 3/8/07, Igor Vaynberg [EMAIL PROTECTED] wrote:


pasted from almaw's email on @user

-igor

-- 8


In my opinion we could, within the next:
-
  1 week  - Push 1.3-betas as-is.
2/3 weeks - Bug fix as people test it and push out rc's when
we feel it's solid and stable.
  4 weeks - Rename 1.x branch to 1.3.x.
  - Release 1.3.0 final and put 1.3.x immediately into
maintenance mode.
  - Create 1.4.x branch from 1.3.0 tag.
  - Merge the model changes from trunk to 1.4.x.
  - Backport anything else from trunk to 1.4.x that's
not JDK5-specific.
  6 weeks - Push out 1.4-betas
7/8 weeks - Push out 1.4-rc's
  9 weeks - Push out 1.4.0 final
  - Create 1.5.x branch from 1.4.0 tag.
  - Backport/add generics, covariance and other JDK 5 trunk
features to the 1.5.x branch.
  - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
14+ weeks - Release 1.5.0

Suggestions to make this work:
--
We won't backport from 1.4.x - 1.3.x.
We won't actively develop trunk.
We will push 1.4 out very soon after 1.3, and encourage migration.
We will have this in a public roadmap so people can see it coming.

Notes on what you think is insanity, but actually isn't:

We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
1.5.x and what's currently trunk). This may seem like madness to you,
but I reckon it isn't:

During 1.3 development, 2.x is low activity, 1.2.x negligible.
During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
During 1.5 development, only 1.4.x will also be quite active.

Once 1.5.0 is out, we can properly deprecate 2.0. People currently using
it may not like being told to migrate to 1.5.x, but that shouldn't be
too hard (much less hard than going from 1.3-2.0) and there shouldn't
be too many of them. I guess that's the price you sometimes pay for
using unreleased software. :-/

I'd envisage 1.4.x will require some backports from 1.5.x. We'd
obviously encourage core developers and patchers to upgrade their sites
to use 1.5.x, do active development on that, and therefore try to only
ever backport from 1.5.x to 1.4.x, not forward-port the other way around.

If you think I'm smoking crack, the above is utterly unreasonable, you
want to kick me out of the gang, or you have any better ideas or
suggestions as to how to keep everyone happy, please shout now. :-)

Best regards,

Alastair



Re: roadmap

2007-03-07 Thread Eelco Hillenius

Up to now we didn't release a thing from 1.3 nor 2.0. I'm totally for
releasing something 1.3-ish this weekend, if only for the selfish
reason that I want to stabilize on a release for one of the branches
of the system I'm working on. So I would like - and I'm sure others as
well - to have *some* official version, whatever the version name.

Now, personally, I'm in favor of doing anything in 1.3, but I can see
Al's point and if he feels that strongly about it, I'm flexible (even
though it gives Martijn and me more pain in the writing). The big
thing that I'm afraid of, just looking at how we have functioned as a
project so far, is that these couple of weeks are going to be a couple
of months.

Eelco


On 3/7/07, Johan Compagner [EMAIL PROTECTED] wrote:

thats another good reason to combine the 1.3 and 1.4
I still don't get it why release that fast and why let people completely
walk over there
code twice. If i as a user i am horrified. Do it once and be over with it.


johan


On 3/8/07, Eelco Hillenius [EMAIL PROTECTED] wrote:

 A very big problem for Martijn and me is actually that we can't go on
 with writing until 1.4 is created. Models are everywhere in the book,
 including a separate chapter, and they are based on the 2.0 models
 currently. Martijn and me would have to decide on whether to target
 1.4 or 1.5 but it would be either of them. Freezing the writing for a
 few weeks is really unacceptable for us. I understand your problems of
 accepting the model change for 1.3, but if it doesn't get in there -
 which is fine - Martijn and me need that 1.4 branch fast.

 Eelco


 On 3/7/07, Eelco Hillenius [EMAIL PROTECTED] wrote:
  This sounds good to me. The main point of critique I can think of is
  that so far we haven't be able to do releases very fast. So in that
  sense, the time schedule is probably very unrealistic. However, there
  is nothing I would like more then us to be able to actually *do*
  releases fast, so if this is another carrot on a stick to make *that*
  happen, I'm all for it.
 
  Eelco
 
 
  On 3/7/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
   pasted from almaw's email on @user
  
   -igor
  
   -- 8
 
  
   In my opinion we could, within the next:
   -
 1 week  - Push 1.3-betas as-is.
   2/3 weeks - Bug fix as people test it and push out rc's when
   we feel it's solid and stable.
 4 weeks - Rename 1.x branch to 1.3.x.
 - Release 1.3.0 final and put 1.3.x immediately into
   maintenance mode.
 - Create 1.4.x branch from 1.3.0 tag.
 - Merge the model changes from trunk to 1.4.x.
 - Backport anything else from trunk to 1.4.x that's
   not JDK5-specific.
 6 weeks - Push out 1.4-betas
   7/8 weeks - Push out 1.4-rc's
 9 weeks - Push out 1.4.0 final
 - Create 1.5.x branch from 1.4.0 tag.
 - Backport/add generics, covariance and other JDK 5 trunk
   features to the 1.5.x branch.
 - Move trunk to 2.0_deprecated_-_use_1.5.x_instead
   14+ weeks - Release 1.5.0
  
   Suggestions to make this work:
   --
   We won't backport from 1.4.x - 1.3.x.
   We won't actively develop trunk.
   We will push 1.4 out very soon after 1.3, and encourage migration.
   We will have this in a public roadmap so people can see it coming.
  
   Notes on what you think is insanity, but actually isn't:
   
   We will of course end up with five(!) branches (1.2.x, 1.3.x, 1.4.x,
   1.5.x and what's currently trunk). This may seem like madness to you,
   but I reckon it isn't:
  
   During 1.3 development, 2.x is low activity, 1.2.x negligible.
   During 1.4 development, 1.3.x and 2.x are low, 1.2.x negligible.
   During 1.5 development, only 1.4.x will also be quite active.
  
   Once 1.5.0 is out, we can properly deprecate 2.0. People currently
 using
   it may not like being told to migrate to 1.5.x, but that shouldn't be
   too hard (much less hard than going from 1.3-2.0) and there shouldn't
   be too many of them. I guess that's the price you sometimes pay for
   using unreleased software. :-/
  
   I'd envisage 1.4.x will require some backports from 1.5.x. We'd
   obviously encourage core developers and patchers to upgrade their
 sites
   to use 1.5.x, do active development on that, and therefore try to only
   ever backport from 1.5.x to 1.4.x, not forward-port the other way
 around.
  
   If you think I'm smoking crack, the above is utterly unreasonable, you
   want to kick me out of the gang, or you have any better ideas or
   suggestions as to how to keep everyone happy, please shout now. :-)
  
   Best regards,
  
   Alastair