Provide aggregated and minified versions of styles/blends
Feedback from 1.0-beta:
A highly requested feature is the availability of aggregated and minified versions for each blend.
* Aggregate: Combine the contents (css rules) of all lower level style sheets into a higher level sheet. E.g. Most blends have multiple "@import" directives within a single style sheet that reference layout styles, component styles, content styles, etc. When the blend is used in a live environment, these references lead to multiple http requests hence high server traffic which is undesirable.
Users are therefore requesting that we package the styles into an aggregated and minified (compressed) version that can be requested with a filename like "myblend.all.css" or "myblend.
== Costs
This would actually make maintaining blends more involving because we are currently packaging all blends manually so any small modification in a lower level style sheet will require all related aggregates to be updated.
== Benefits
The number of hits to the server would be reduced since all the style rules for a blend would be served in one request.
== Alternatives
There are libraries that handle one-the-fly css minification. However, using such a library requires that the theme is being served from an environment that has a minification library.
== Resolution
We should consider implementing this. We may later automate the process of aggregation and minification but for now this is a genuine need.
Blueprint information
- Status:
- Complete
- Approver:
- Rudy Lattae
- Priority:
- Medium
- Drafter:
- Rudy Lattae
- Direction:
- Approved
- Assignee:
- Rudy Lattae
- Definition:
- Approved
- Series goal:
- Accepted for 1.0
- Implementation:
- Implemented
- Milestone target:
- 1.0-b2
- Started by
- Rudy Lattae
- Completed by
- Rudy Lattae
Related branches
Related bugs
Sprints
Whiteboard
Basic testing indicates that the time taken to render an html request has dropped from ~400ms to ~130ms. Very good indeed!
== rudylattae (2008-11-27)
Since we have re-implemented most of the css packages in Aptuse, we have to re-create the bundled/minified css files.
== rudylattae (2008-11-28)
Implemented -- now using the term "combo" instead of "all" to indicate that it is a combination of all imports.