There are no impacts on Spindle with this change but there are impacts
in the application I am developing in 3.0. Decisions about use or non
use of initialize() were made before I came on board. Deprecation is a
good option but removal will make porting a pain in the rear end.
Since I haven't started a port yet I don't know all of the gotcha's.
More gotchas means the chances of this app moving to 4.0 shrink to
almost nil in the short to medium term.

Beta should definitely mean a feature freeze but in this case its an
api change and not a feature. However, breaking changes to api should
not be introduced at the 10th or 11th hour.

Normally I support/oppose proposals based on their impact on Spindle
but this time I've dug in my heels for another reason.

Listen, I know this is OSS and not a shop with hard
deadlines/requirements/deliverables. The point is that many users
*are* working in shops with hard deadlines/requirements/deliverables.
I field questions and sometimes less than favorable comments about how
Tapestry is a moving target. Breaking changes like this introduced
over a year after dev started and hopefully weeks before release do
not make it easier to be the Tapestry evangelist over here.

Besides, it seems to me that being able to mock pages is of more
benefit to Howard, who is testing the framework, than to end users who
are not.

Geoff





On 7/28/05, Richard Lewis-Shell <[EMAIL PROTECTED]> wrote:
> Seems like a good idea to me.  Do we have an agreed on definition of
> what 'beta' means?  We decided this was version 4 because it was a big
> change, and keeping backwards compatability was not always going to be
> possible.  I see no need to cling to this confusing/frustrating part of
> Tapestry in the name of 'beta'.  'beta' to me is not an API freeze
> gaurantee.  'rc' would be to me, but not 'beta'.
> 
> However, Geoff's warning of Spindle not supporting this might be more of
> a concern.  Geoff - what would that actually mean to Spindle?  eg. would
> it not work at all? Some features would no longer work?
> 
> Richard
> 
> Howard Lewis Ship wrote:
> > The method initialize() is invoked from AbstractPage's default (no
> > arguments) constructor.
> >
> > This is truly problematic.  It dates back to an earlier time in
> > Tapestry's life, before runtime code generation took care of
> > initializing and re-initializing properties.
> >
> > It causes a major headache for me ... it means that you can't easily
> > mock a page the way you can mock an component (using EasyMock and the
> > EasyMock class extension).  EasyMock trips over the initialize() call
> > from the default constructor.  This actually happened to me when I was
> > trying to demonstrate EasyMock and testing for Tapestry at a client.
> >
> > I would like to eliminate this method now, rather than wait for 4.1 (I
> > marked it as deprecated sometime during 4.0). Doing so will allow us
> > to document the proper Tapestry testing story for pages, not just
> > components.
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
The Spindle guy.           http://spindle.sf.net
Get help with Spindle:   
http://lists.sourceforge.net/mailman/listinfo/spindle-user
Announcement Feed:    
http://www.jroller.com/rss/glongman?catname=/Announcements
Feature Updates:            http://spindle.sf.net/updates

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to