Hi Yuri,
On Jun 14, 2013, at 7:16 PM, Yuri Astrakhan yastrakhan@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.