Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...Modern standards - bringing DotNetNuke up to them?Modern standards - bringing DotNetNuke up to them?
Previous
 
Next
New Post
6/8/2011 3:37 PM
 
Hi Joe,

I have been working on adding style sheet combination and compression for the 40 Fingers Stylehelper skin object, but it is still not finished.
I planned that for the 3.0 version, but I have had way to much work the last half year to finish it.
I have plans to release the skin object as module too, but a configuration module is a good idea, thanks.
 
New Post
6/8/2011 5:19 PM
 
Ideally, all of this would be handled at an API level.

At least that's my vision. Have an API for loading JS, or CSS, through DNN, and let it load all the necessary code into a single JS and single CSS file, that is minified, and cached, and loaded on the page.

I am looking at some other alternatives as well, but so far haven't come up with anything good.

Chris Hammond
Former DNN Corp Employee, MVP, Core Team Member, Trustee
Christoc.com Software Solutions DotNetNuke Module Development, Upgrades and consulting.
dnnCHAT.com a chat room for DotNetNuke discussions
 
New Post
6/8/2011 7:28 PM
 
as long as css and script files depend on modules used on certain pages only, combination does not really make sense (or you result in page specific larger downloads)

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
6/9/2011 4:10 AM
 
I'm aware that tis is not the ultimate Solution regarding Architectural issues within DNN, but a possible solution could be an external Hardware Aplliance which does almost all of the above mentioned tasks. An appliance like the Strangeloop Webbooster at http://www.webbooster.de/Home/tabid/4... can handle all of this and is able to speed up also DNN Portals significantly.


Herzliche Grüße aus Hückelhoven
Frank Wahl
www.eagleworx.net

EagleworX.net
 
New Post
6/9/2011 1:39 PM
 

>> Chris Hammond: "Ideally, all of this would be handled at an API level..."
Agreed.

>> Sebastian Leupold: "as long as css and script files depend on modules used on certain pages only, combination does not really make sense"

Actually, although the issues around css and javascript differ a bit, it does still make sense.

css:

  • Common plus page/module specific- minimally, it makes sense to combine the css that's used on every page.  
    Then, only the additional css that's specific to each page/module will need to be requested.  E.g. On this site, the front page makes 13 css file requests.  Based on a highly unscientific click-through of other parts of the site, it looks like at least 5 of those (default.css, skin.css, container.css, portal.css, TabStrip.css) are used on every page.  Those 5 could be combined into 1, the file would be ~15K and you'd be down to 8 css requests for the home page and 2-5 requests for others.  Plus, you get the benefit of browser caching that common css so likely only need to load it once.
  • All css? - If the site's not too diverse, it's possible that most, if not all, css files can be combined into a single file (even if some of the css is not used on every page - although it would of course need to be tested).  And, again, you get the benefit of browser caching so likely only need to load it once.  Whether that's the best option would of course depend on how large the files are.  E.g. The DNN front page has ~31K of css.
  • API - If it's done with an API that's flexible enough, you could use a hybrid approach using any combination of the above.  I believe the tool i mentioned above (squishit) does just this, automatically, and caches it for future use.

Javascript - 

  • Is different from CSS for 2 reasons 
      1) While css is site-specific (it's unlikely you'll use the same css as another site), the exact-same javascript libraries ARE used on different sites.  
      2) Most browsers stop rendering when they reach a <script> tag.  This is tags which request javascript libraries should be moved to the bottom if possible.

    As a result:
  • Use a CDN when you can - DotNetNuke already supports this for jquery.   Commonly used javascript libraries (e.g. jquery) should be loaded from a CDN (if available) - NOT combined with other local javascript.  Why?  Because it's likely that the library is already on the users system because they've visited another site that already loaded it from the same CDN (assuming you're using goggle).
  • Common plus page/module specific - That leaves just your custom javascript - with needs that are similar your CSS.  i.e. You'll likely have some that is common to all pages (e.g. if you use a javascript menu) and some that is page/module specific.

    Again, I believe a tool like squishit can handle these use cases and cache them for later requests.
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...Modern standards - bringing DotNetNuke up to them?Modern standards - bringing DotNetNuke up to them?


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out