You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Martin Grigorov <mg...@apache.org> on 2015/02/09 10:29:47 UTC

Add a new method to an interface in 7.x

Hi,

In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add a new
method to org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
to return all we bsocket connections per user session.

This is an API break - with
org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
the application may provide custom impl.

I've prefered to stop break the APIs and release 7.0.0 sooner but even
without API breaks we keep delaying it.

So I want to ask other devs what do you prefer to be the policy ?

- no more API breaks if they are not really/urgently needed (as Andrea's
refactoring of ICrypt)

- no more API breaks if there is a workaround (WICKET-5833 could be worked
around with a custom IWSCRegistry and casting in the user code)

- make API break because we are still in Milestone phase

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

Re: Add a new method to an interface in 7.x

Posted by Martin Grigorov <mg...@apache.org>.
I thought that after -M4 will come 7.0.0.
People suggested to release -M5 too...

On Mon, Feb 9, 2015 at 3:52 PM, Nick Pratt <nb...@gmail.com> wrote:

> So what's the intended last phase before we announce 7.0 and freeze the
> API?
>
> On Mon, Feb 9, 2015 at 8:26 AM, Martin Grigorov <mg...@apache.org>
> wrote:
>
> > There won't be RC phase.
> > There is no difference between RC1 and 7.0.0.
> > Both do not allow API breaks. Fixing bugs and adding
> features/improvements
> > are the same for both. So there is no point in releasing candidates.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Mon, Feb 9, 2015 at 3:19 PM, Nick Pratt <nb...@gmail.com> wrote:
> >
> > > Breaking APIs should be ok until we hit the RC phase - otherwise things
> > > like this wont be able to be changed until Wicket 8.0.
> > >
> > >
> > > On Mon, Feb 9, 2015 at 4:29 AM, Martin Grigorov <mg...@apache.org>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > In https://issues.apache.org/jira/browse/WICKET-5833 I propose to
> add
> > a
> > > > new
> > > > method to
> > > >
> org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
> > > > to return all we bsocket connections per user session.
> > > >
> > > > This is an API break - with
> > > >
> org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
> > > > the application may provide custom impl.
> > > >
> > > > I've prefered to stop break the APIs and release 7.0.0 sooner but
> even
> > > > without API breaks we keep delaying it.
> > > >
> > > > So I want to ask other devs what do you prefer to be the policy ?
> > > >
> > > > - no more API breaks if they are not really/urgently needed (as
> > Andrea's
> > > > refactoring of ICrypt)
> > > >
> > > > - no more API breaks if there is a workaround (WICKET-5833 could be
> > > worked
> > > > around with a custom IWSCRegistry and casting in the user code)
> > > >
> > > > - make API break because we are still in Milestone phase
> > > >
> > > > Martin Grigorov
> > > > Wicket Training and Consulting
> > > > https://twitter.com/mtgrigorov
> > > >
> > >
> >
>

Re: Add a new method to an interface in 7.x

Posted by Nick Pratt <nb...@gmail.com>.
So what's the intended last phase before we announce 7.0 and freeze the API?

On Mon, Feb 9, 2015 at 8:26 AM, Martin Grigorov <mg...@apache.org>
wrote:

> There won't be RC phase.
> There is no difference between RC1 and 7.0.0.
> Both do not allow API breaks. Fixing bugs and adding features/improvements
> are the same for both. So there is no point in releasing candidates.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Mon, Feb 9, 2015 at 3:19 PM, Nick Pratt <nb...@gmail.com> wrote:
>
> > Breaking APIs should be ok until we hit the RC phase - otherwise things
> > like this wont be able to be changed until Wicket 8.0.
> >
> >
> > On Mon, Feb 9, 2015 at 4:29 AM, Martin Grigorov <mg...@apache.org>
> > wrote:
> >
> > > Hi,
> > >
> > > In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add
> a
> > > new
> > > method to
> > > org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
> > > to return all we bsocket connections per user session.
> > >
> > > This is an API break - with
> > > org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
> > > the application may provide custom impl.
> > >
> > > I've prefered to stop break the APIs and release 7.0.0 sooner but even
> > > without API breaks we keep delaying it.
> > >
> > > So I want to ask other devs what do you prefer to be the policy ?
> > >
> > > - no more API breaks if they are not really/urgently needed (as
> Andrea's
> > > refactoring of ICrypt)
> > >
> > > - no more API breaks if there is a workaround (WICKET-5833 could be
> > worked
> > > around with a custom IWSCRegistry and casting in the user code)
> > >
> > > - make API break because we are still in Milestone phase
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> >
>

Re: Add a new method to an interface in 7.x

Posted by Martin Grigorov <mg...@apache.org>.
There won't be RC phase.
There is no difference between RC1 and 7.0.0.
Both do not allow API breaks. Fixing bugs and adding features/improvements
are the same for both. So there is no point in releasing candidates.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Feb 9, 2015 at 3:19 PM, Nick Pratt <nb...@gmail.com> wrote:

> Breaking APIs should be ok until we hit the RC phase - otherwise things
> like this wont be able to be changed until Wicket 8.0.
>
>
> On Mon, Feb 9, 2015 at 4:29 AM, Martin Grigorov <mg...@apache.org>
> wrote:
>
> > Hi,
> >
> > In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add a
> > new
> > method to
> > org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
> > to return all we bsocket connections per user session.
> >
> > This is an API break - with
> > org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
> > the application may provide custom impl.
> >
> > I've prefered to stop break the APIs and release 7.0.0 sooner but even
> > without API breaks we keep delaying it.
> >
> > So I want to ask other devs what do you prefer to be the policy ?
> >
> > - no more API breaks if they are not really/urgently needed (as Andrea's
> > refactoring of ICrypt)
> >
> > - no more API breaks if there is a workaround (WICKET-5833 could be
> worked
> > around with a custom IWSCRegistry and casting in the user code)
> >
> > - make API break because we are still in Milestone phase
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
>

Re: Add a new method to an interface in 7.x

Posted by Nick Pratt <nb...@gmail.com>.
Breaking APIs should be ok until we hit the RC phase - otherwise things
like this wont be able to be changed until Wicket 8.0.


On Mon, Feb 9, 2015 at 4:29 AM, Martin Grigorov <mg...@apache.org>
wrote:

> Hi,
>
> In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add a
> new
> method to
> org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
> to return all we bsocket connections per user session.
>
> This is an API break - with
> org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
> the application may provide custom impl.
>
> I've prefered to stop break the APIs and release 7.0.0 sooner but even
> without API breaks we keep delaying it.
>
> So I want to ask other devs what do you prefer to be the policy ?
>
> - no more API breaks if they are not really/urgently needed (as Andrea's
> refactoring of ICrypt)
>
> - no more API breaks if there is a workaround (WICKET-5833 could be worked
> around with a custom IWSCRegistry and casting in the user code)
>
> - make API break because we are still in Milestone phase
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>

Re: Add a new method to an interface in 7.x

Posted by Andrea Del Bene <an...@gmail.com>.
Maybe I'm wrong but it doesn't look an heavy change....I think it falls 
in the acceptable category described by Martijn.
> My best solution would be to discuss API breaks on a case by case basis.
>
> If breaks happen on a minor part of our API, I am not against them,
> even if they are late in the game. Say if they typically would break 1
> class or at most 10 classes in a large application (100+ pages). So
> IChoiceRenderer would be a bad thing to break. Changing the interface
> of ISomeInterfaceInExtensionsOnly10PeopleAreUsingWorldWide would not
> be a problem in my opinion.
>
> Martijn
>
>
>
> On Mon, Feb 9, 2015 at 10:29 AM, Martin Grigorov <mg...@apache.org> wrote:
>> Hi,
>>
>> In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add a new
>> method to org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
>> to return all we bsocket connections per user session.
>>
>> This is an API break - with
>> org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
>> the application may provide custom impl.
>>
>> I've prefered to stop break the APIs and release 7.0.0 sooner but even
>> without API breaks we keep delaying it.
>>
>> So I want to ask other devs what do you prefer to be the policy ?
>>
>> - no more API breaks if they are not really/urgently needed (as Andrea's
>> refactoring of ICrypt)
>>
>> - no more API breaks if there is a workaround (WICKET-5833 could be worked
>> around with a custom IWSCRegistry and casting in the user code)
>>
>> - make API break because we are still in Milestone phase
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>
>


Re: Add a new method to an interface in 7.x

Posted by Martijn Dashorst <ma...@gmail.com>.
It also depends on how much work it would be to implement the interface method.

Martijn

On Mon, Feb 9, 2015 at 10:43 AM, Martijn Dashorst
<ma...@gmail.com> wrote:
> My best solution would be to discuss API breaks on a case by case basis.
>
> If breaks happen on a minor part of our API, I am not against them,
> even if they are late in the game. Say if they typically would break 1
> class or at most 10 classes in a large application (100+ pages). So
> IChoiceRenderer would be a bad thing to break. Changing the interface
> of ISomeInterfaceInExtensionsOnly10PeopleAreUsingWorldWide would not
> be a problem in my opinion.
>
> Martijn
>
>
>
> On Mon, Feb 9, 2015 at 10:29 AM, Martin Grigorov <mg...@apache.org> wrote:
>> Hi,
>>
>> In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add a new
>> method to org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
>> to return all we bsocket connections per user session.
>>
>> This is an API break - with
>> org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
>> the application may provide custom impl.
>>
>> I've prefered to stop break the APIs and release 7.0.0 sooner but even
>> without API breaks we keep delaying it.
>>
>> So I want to ask other devs what do you prefer to be the policy ?
>>
>> - no more API breaks if they are not really/urgently needed (as Andrea's
>> refactoring of ICrypt)
>>
>> - no more API breaks if there is a workaround (WICKET-5833 could be worked
>> around with a custom IWSCRegistry and casting in the user code)
>>
>> - make API break because we are still in Milestone phase
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com

Re: Add a new method to an interface in 7.x

Posted by Martijn Dashorst <ma...@gmail.com>.
My best solution would be to discuss API breaks on a case by case basis.

If breaks happen on a minor part of our API, I am not against them,
even if they are late in the game. Say if they typically would break 1
class or at most 10 classes in a large application (100+ pages). So
IChoiceRenderer would be a bad thing to break. Changing the interface
of ISomeInterfaceInExtensionsOnly10PeopleAreUsingWorldWide would not
be a problem in my opinion.

Martijn



On Mon, Feb 9, 2015 at 10:29 AM, Martin Grigorov <mg...@apache.org> wrote:
> Hi,
>
> In https://issues.apache.org/jira/browse/WICKET-5833 I propose to add a new
> method to org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry
> to return all we bsocket connections per user session.
>
> This is an API break - with
> org.apache.wicket.protocol.ws.WebSocketSettings#setConnectionRegistry()
> the application may provide custom impl.
>
> I've prefered to stop break the APIs and release 7.0.0 sooner but even
> without API breaks we keep delaying it.
>
> So I want to ask other devs what do you prefer to be the policy ?
>
> - no more API breaks if they are not really/urgently needed (as Andrea's
> refactoring of ICrypt)
>
> - no more API breaks if there is a workaround (WICKET-5833 could be worked
> around with a custom IWSCRegistry and casting in the user code)
>
> - make API break because we are still in Milestone phase
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com