Not that my opinion should matter much, but have you considered, that if you release 1.2 without the refactoring, you'll have to maintain at least three different versions?
1.1, 1.2 and new 2.0.

While if you do the changes in 1.2, you'll only have to maintain 1.1 and 1.2. Maintaining previous versions is IMHO very important, we already have one project running on 1.1, and there is no reason to port it to 1.2 right now.

Since 1.2 has already broken compatibility with 1.1, in my opinion the best thing would be to make the changes as soon as possible.

-Matej

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.

* 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.

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

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?

please provide us with feedback/concerns so we have a better feel for requirements out there.

thanks,
-Igor






-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to