On Fri, Dec 17, 2010 at 2:25 PM, Robert Zeigler <robe...@scazdl.org> wrote:
> I'm thinking out loud here, but...
> Recently, I upgraded a project from 5.0.15 to 5.1.0.4.  The project is fairly 
> complex, and there were some major changes in Tapestry's behavior between 
> 5.0.15 and 5.0.18, when the public apis were locked down as stable.
> What impressed me from this process was how much of the "old" behavior I 
> could restore via various service contributions.  It makes me wonder if, 
> instead of introducing a "compatibility version" symbol (and associated 
> checks in the code), we could introduce "compatibility modules".  Eg: 
> tapestry-compatibility-5.1 (version 5.2.4) would restore 5.1's behavior in 
> 5.2.4.  For this to really work, we might need to introduce a mechanism for 
> explicitly overriding components... so the 5.1 compatibility could have a 
> label component that overrides the default 5.2 component, or something like 
> that.  Anyway... this might be a good solution to avoid littering the core 
> codebase with checks.
> Thoughts?

Brilliant! Now that would showcase the power of Tapestry IoC pretty
well. And it'd be also very convenient for users to configure.

Kalle


> On Dec 17, 2010, at 12/172:09 PM , Howard Lewis Ship wrote:
>
>> It was simply the case that the id wasn't needed, because the label could be
>> located as previously outlined.
>>
>> Rather than have an endless number of switches to set, I think we may need a
>> global compatibility symbol ("tapestry.compatibility"), and maybe a
>> mechanism for turning that into a boolean at the point of injection.  The
>> values for the symbol would be "5.1", "5.2"  "5.3", etc.
>>
>> The quickstart archetype should set the symbol in the generated AppModule.
>> In this way, users on upgrade could conciously change the compatibility
>> mode.
>>
>> We would want to document, exhaustively, what is enabled or disabled based
>> on the symbol.
>>
>> This isn't a total solution to backwards compatibility, and not everything
>> could be handled this way, but it would be a good start.
>>
>> On Fri, Dec 17, 2010 at 11:38 AM, Josh Canfield 
>> <joshcanfi...@gmail.com>wrote:
>>
>>> Hmm...
>>>
>>> The id needs to be put back, but before we add a symbol to allow it to
>>> be optionally removed I'd like to make sure that Howard (and anyone
>>> else) really needed it removed and it wasn't just some house cleaning.
>>> I imagine if it was really a number of bytes issue then more than just
>>> the label could be optimized and a markup filter like Robert suggested
>>> is more appropriate...
>>>
>>> Josh
>>>
>>> On Fri, Dec 17, 2010 at 10:56 AM, Robert Zeigler <robe...@scazdl.org>
>>> wrote:
>>>>
>>>> On Dec 17, 2010, at 12/1712:53 PM , Thiago H. de Paula Figueiredo wrote:
>>>>
>>>>> On Fri, 17 Dec 2010 16:35:43 -0200, Robert Zeigler <robe...@scazdl.org>
>>> wrote:
>>>>>
>>>>>> Just to clarify, I hope that by "true" you mean that id generation is
>>> turned /on/ by default. :)
>>>>>
>>>>> Your hope isn't in vain. :) true = on in this case.
>>>>>
>>>>>> warnings as time allowed.  The important thing is that even with
>>> deprecated methods, the old /behavior/ was preserved.  It's a policy we
>>> should adhere to more in Tapestry.  What users need /most/ from the
>>> framework is dependable behavior; in large part, they need that more than
>>> the few bytes of bandwidth saved by removing the id from the label
>>> component.
>>>>>
>>>>> Agreed. I guess most of the disrupting changes were just honest
>>> mistakes. It's kinda hard to foresee of all the consequence of a change,
>>> specially when most of the users (the developers using Tapestry) are not in
>>> your team.
>>>>>
>>>>
>>>> Fair enough.
>>>>
>>>> Robert
>>>>
>>>>> --
>>>>> Thiago H. de Paula Figueiredo
>>>>> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
>>> and instructor
>>>>> Owner, Ars Machina Tecnologia da Informação Ltda.
>>>>> http://www.arsmachina.com.br
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator of Apache Tapestry
>>
>> The source for Tapestry training, mentoring and support. Contact me to learn
>> how I can get you up and productive in Tapestry fast!
>>
>> (971) 678-5210
>> http://howardlewisship.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to