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 <jay...@gmail.com>
wrote:

> On Thu, Jun 18, 2015 at 12:13 PM, Yuri Astrakhan
> <yastrak...@wikimedia.org> wrote:
> > On Wed, Jun 17, 2015 at 7:44 PM, John Mark Vandenberg <jay...@gmail.com>
> > 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
> Wikitech-l@lists.wikimedia.org
> 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
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to