Hi Yuri,
On Jun 14, 2013, at 7:16 PM, Yuri Astrakhan <yastrakhan(a)wikimedia.org> wrote:
Based on many ideas that were put forth, I would like
to seek comments on
this ZERO design. This HTML will be rendered for both M and ZERO subdomains
if varnish detects that request is coming from a zero partner. M and ZERO
will be identical except for the images - ZERO substitutes images with
links to File:xxx namespace through a redirector.
* All non-local links always point to a redirector. On javascript capable
devices, it will load carrier configuration and replace the link with local
confirmation dialog box or direct link. Without javascript, redirector will
either silently 301-redirect or show confirmation HTML. Links to images on
ZERO.wiki and all external links are done in similar way.
For M, you only want to do this when it's a zero carrier I guess? If not, just a
straight link?
* The banner is an ESI link to
*/w/api.php?action=zero&banner=250-99* -
returns HTML <div> blob of the banner. (Not sure if banner ID should be
part of the URL)
Expected cache fragmentation for each wiki page:
* per subdomain (M|ZERO)
* if M - per "isZeroCarrier" (TRUE|FALSE). if ZERO - always TRUE.
3 variants is much better then one per carrier ID * 2 per subdomain.
I'm wondering, is there any HTML difference between "M & isZeroCarrier ==
TRUE" and "ZERO"? Links maybe? Can we make those protocol relative perhaps?
We might be able to kill the cache differences for the domain completely, while still
supporting both URLs externally.
--
Mark Bergsma <mark(a)wikimedia.org>
Lead Operations Architect
Wikimedia Foundation