Would it be feasible to release a pivot-compat.jar that could include
support for older wtkx files while still making it pretty clear this
is not standard?

On Thu, Jun 17, 2010 at 10:35 AM, Greg Brown <gkbr...@mac.com> wrote:
> Yeah, OK. The main problem is that many developers aren't going to read the 
> release notes, and they won't know why their app suddenly doesn't compile. 
> There's an easy fix, but it would be good to avoid that initial frustration 
> if possible.
>
> Let me prototype it and see how it looks.
>
>
> On Jun 17, 2010, at 9:49 AM, Noel Grandin wrote:
>
>> Hi
>>
>> It's the difference between
>> (a) having to do a big-bang conversion when switching to Pivot2.0
>> and
>> (b) being able to get things running quickly, and then make the updates
>> piece-meal.
>>
>> Personally, I have no real problem either way, because I don't have any
>> WTKX files to convert of my own.
>>
>> I just think gradual upgrade paths are a good habit to get into.
>> I personally hate it when I upgrade one of my dependencies and have to
>> spend ages just getting the thing compiling before I can even start testing.
>>
>> Just my 2c,
>>  Noel Grandin
>>
>> Greg Brown wrote:
>>> I understand the desire to provide a more "backwards-compatible" solution. 
>>> However, I see two main issues with it:
>>>
>>> 1) As you noted, it is still a bit of a hack, even if we do something along 
>>> the lines of what you suggest.
>>>
>>> 2) It provides an incentive for developers to not update their code to use 
>>> the new conventions. At some point, we'll need to drop the backwards 
>>> compatibility and they will have to upgrade - I don't think it really makes 
>>> a difference if we do that for version 2.0 or version 2.1.
>>>
>>> I created an Ant script yesterday that will perform the conversion. It's 
>>> really easy to run - just point it at the directory you want to update. I 
>>> used it to convert the tests and tutorials projects and the only issue I 
>>> ran into was how to bulk-add the new .bxml files to SVN. However, the 
>>> one-line shell command Mike S. provided took care of that:
>>>
>>>
>>>> find ./ -name \*.bxml -exec svn add {} \;
>>>>
>>> G
>>>
>>> On Jun 17, 2010, at 3:30 AM, Noel Grandin wrote:
>>>
>>>
>>>> Hi
>>>>
>>>> I had an idea while out cycling yesterday.
>>>> How about we add code that looks something like this:
>>>>
>>>>           for (java.lang.annotation.Annotation ann :
>>>> field.getAnnotations()) {
>>>>               if
>>>> (ann.annotationType().getName().equals("org.apache.pivot.wtkx.WTKX")) {
>>>>                   ....process as if we hit the BXML annotation...
>>>>               }
>>>>           }
>>>>
>>>> It's a bit of a hack, but it will allow BeanSerializer to decode "old"
>>>> files while not having an explicit reference to the WTKX annotation.
>>>>
>>>> Then we can mark WTKX as deprecated and give people some grace to port
>>>> their files.
>>>>
>>>> Regards, Noel.
>>>>
>>>> Greg Brown wrote:
>>>>
>>>>> That's the problem - we can't easily support backwards compatibility. I 
>>>>> had originally hoped to have WTKXSerializer extend BeanSerializer in 
>>>>> Pivot 1.6, and then drop WTKXSerializer in 2.0. However, we can't do that 
>>>>> with @WTKX/@BXML, because annotations can't inherit. So, we're kind of 
>>>>> stuck with an all-or-nothing approach, unless we introduce a 
>>>>> cross-project dependency such that BeanSerializer also looks for WTKX 
>>>>> annotations, which I really don't want to do. That is why I am suggesting 
>>>>> that we go to version 2.0.
>>>>>
>>>>> I was thinking that we could provide a script that will do a 
>>>>> search/replace/rename so developers don't need to do this manually. That 
>>>>> should at least make the transition a little easier.
>>>>>
>>>>> On Jun 15, 2010, at 3:53 AM, Noel Grandin wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Sure, but surely we can provide aliases for those things internally so
>>>>>> existing files continue to work?
>>>>>> Maybe with a runtime warning to System.out so people know that they need
>>>>>> to upgrade at some point.
>>>>>>
>>>>>> It just seems a little harsh to dump that amount of work on people when
>>>>>> we can reasonably easily provide a gradual upgrade path.
>>>>>>
>>>>>> -- Noel
>>>>>>
>>>>>> Greg Brown wrote:
>>>>>>
>>>>>>
>>>>>>> Files with a .wtkx extension will still work fine. However, the "wtkx" 
>>>>>>> namespace prefix will change to "bxml", the annotation will change to 
>>>>>>> @BXML, and the serializer will change to BeanSerializer, so for 
>>>>>>> consistency I think we'd want to recommend changing the file extension 
>>>>>>> as well.
>>>>>>> Greg
>>>>>>>
>>>>>>>
>>>>>>> On Jun 14, 2010, at 4:52 PM, Noel Grandin wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> I don't have a problem with the version numbering, but is there any
>>>>>>>> reason why you can't continue to support the WTKX extension for
>>>>>>>> backwards compatibility?
>>>>>>>>
>>>>>>>> -- Noel
>>>>>>>>
>>>>>>>> On Mon, Jun 14, 2010 at 02:13, Greg Brown <gkbr...@mac.com> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> I'd really like to refactor WTKXSerializer to BeanSerializer and move 
>>>>>>>>> it to Pivot Core for the next release. However, I think this change 
>>>>>>>>> is too disruptive for the 1.x line. As a developer, I don't think I 
>>>>>>>>> would be too pleased to discover that I need to update all of my WTKX 
>>>>>>>>> files to BXML when migrating from Pivot 1.5 to Pivot 1.6. As a 
>>>>>>>>> result, I'd like to suggest that the next major version of Pivot be 
>>>>>>>>> 2.0.
>>>>>>>>>
>>>>>>>>> We currently have Pivot 1.5.1 in the pipeline and can do additional 
>>>>>>>>> point releases for 1.5 as needed. We'll reshuffle the items currently 
>>>>>>>>> assigned to 1.6 and 2.0 into 2.0, 2.1, etc. as appropriate. Any 
>>>>>>>>> objections?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Greg
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>

Reply via email to