#163: Minimize page weight
- Contents
- Proposed by
- Alexander Limi
- Seconded by
- Florian Schulze
- Proposal type
- User interface, Architecture
- Assigned to release
- State
- completed
Motivation
Right now, Plone presents a considerable initial page download when you go to a Plone site. There is a lot of CSS, a lot of JS, and even if Plone has very good separation of concerns, we are currently not utilizing this to its full potential.
Goals are:
- Load in under 20 to 30 seconds (incremental display) with useful content within 2 seconds on 56K connection
- Equalize page download times to minimize delay variability.
Proposal
Some ideas:
- Put conditions to remove JS and CSS for anonymous users.
- No content type icons for anonymous by default
- Have compression + packing of CSS and JS on by default
- Trigger JS before all the page elements have loaded
- Florian has already checked in code for this
- Make sure Plone caches as well as possible out-of-the-box
Progress log
This is still a work in progress, but putting it in so we have a place to gather the different ideas.
It does not make that much sense to start working on this PLIP until the AJAX framework has been decided, etc - so it won't have a review bundle at the first deadline.
It's on our list
We do a limited version of this in the portlets in Plone 3.0 — since they are cached, we can do this whitespace filtering once, and store the result.
HTML filtering
CSS and ECMAScript files are only downloaded once; leaner HTML code pays off with every page hit.