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@gmail.com wrote:
On Thu, Jun 18, 2015 at 12:13 PM, Yuri Astrakhan yastrakhan@wikimedia.org wrote:
On Wed, Jun 17, 2015 at 7:44 PM, John Mark Vandenberg jayvdb@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