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