I'm reluctant to interject again, but as a client of the API I feel the
need to speak up. Let's work through an example: Clients A, B, & C are
using API 1 when the Server adds API 2:
1. Current, "change the default" approach:
1. All clients start receiving warnings as *extra payload data* (how
does this even work for API's w/o a response payload?)
2. Clients B & C start using API 2
3. Server changes API 1 to behave like API 2
4. Client A is broken, so switches to API 2
5. Server removes API 2 (becomes the new default)
6. Clients A, B, & C have to switch to API 1
2. Possible alternative:
1. Clients get an email (as they currently do) about the new API
being available
2. Clients A & B migrate to API 2
3. Since there's only 1 client left (and/or the deadline has passed)
Server removes API 1, *explicitly breaking* Client C
4. Someone notices Client C is broken and moves it to API 2 (or
whatever the currently-supported API is)
Am I missing something? What are your thoughts on 1 vs. 2?
On Thu, Jun 18, 2015 at 10:17 AM, John Mark Vandenberg <[email protected]>
wrote:
> On Thu, Jun 18, 2015 at 12:13 PM, Yuri Astrakhan
> <[email protected]> wrote:
> > On Wed, Jun 17, 2015 at 7:44 PM, John Mark Vandenberg <[email protected]>
> > wrote:
> >
> >>
> >> The API currently emits a warning if a query continuation mode isnt
> >> selected.
> >>
> >> I guess on July 1 the API could emit an error, and not return any query
> >> data.
> >> Then the data isnt going to cause weird behaviour - it will break,
> >> properly.
> >>
> >>
> > Hmm, this is actually an interesting idea - would it make sense to error
> on
> > missing "continue" or "rawcontinue" for all action=query for about a
> month
> > or two, so that everyone notices it right away and gets updated, and than
> > resume with the new behavior?
>
> Not 'all', please, but perhaps all queries where there is actual
> continuation data like is used now for the existing warning. I would
> really to avoid the API failing at all, ever, for
> "?action=query&meta=siteinfo" - that is how clients get the API
> generator version, and only when we have the API generator version do
> we know what features are supported by the API.
>
> Or just not flick the switch on July 1, and only default to the new
> continuation mode for formatversion=2.
>
> --
> John Vandenberg
>
> _______________________________________________
> Wikitech-l mailing list
> [email protected]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
--
EN Wikipedia user page: https://en.wikipedia.org/wiki/User:Brian.gerstle
IRC: bgerstle
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l