.. 3) it is a nightmare http://alistapart.com/article/application-cache-is-a-douchebag is a good read to anyone who is curious to the why. On 8 Nov 2013 07:06, "Tyler Romeo" tylerromeo@gmail.com wrote:
On Fri, Nov 8, 2013 at 9:45 AM, Antoine Musso hashar+wmf@free.fr wrote:
So what is a cache manifest? :D
tl;dr - Cache manifests are made for offline web apps, and Wikipedia is not an offline web app.
Cache manifests are a new HTML5 feature that is specifically made for single page (or, at the very least, few-paged) offline web apps. You add a special attribute to the <html> tag of all pages in your application. The value of the attribute is a URL to a manifest file (it has its own mime type and everything). In this file it specifies what pages in your application should be explicitly cached.
The difference between cache manifests and normal browser caching is that the browser will never update the cache unless the manifest changes. In other words, if it has an offline copy, it will always serve it unless the manifest file changes.
This is useful in cases where you have a web app that is entirely front-end, i.e., once you download the HTML files you don't need to do anything else (think something along the lines of a single player game). That way the files will be permanently cached and the user can view the website even if the site itself is offline. Most apps in the Chrome Web Store will use this technique to have their web app stored.
There are multiple reasons it is not used here:
- Wikipedia is not a single-paged app, it is many, many pages, and every
page of the app usually links to the manifest. It would be strange to have any Wikipedia article a user visits permanently stored in the user's browser. (Before somebody says "well just don't put articles in the manifest", any page that has the manifest attribute is implicitly cached, regardless of if it's in the manifest.)
- It doesn't solve the actual problem. The problem here is the issue of
combining all JS files into one. We combine all the files using RL in order to reduce round-trip time for first-time visitors, but at the same time it increases what has to be downloaded for previous visitors when updates are made. Cache manifests do not get around the round-trip time issue, so it doesn't allow us to split up JS files. And with the JS files still combined, cache manifests don't have a way to partially update modules. So in the end it is completely useless.
See the following links for more information: https://en.wikipedia.org/wiki/The_cache_manifest_in_HTML5 http://www.html5rocks.com/en/tutorials/appcache/beginner/
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2016 Major in Computer Science _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l