Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest version of one of the following browsers:

Making Full Use of the Client Resource Management Framework

Brian Dukes, Engage Software

Charlotte Day of DotNetNuke 2012

DotNetNuke PowerDNN

What is this thing? How do I use this thing? Why should I use this thing? What are the tips and gotchas?

Prerequisites

Framework Features

What are we talking about here?

Control Registration

<%@ Register TagPrefix="dnn" 
    Namespace="DotNetNuke.Web.Client.ClientResourceManagement" 
    Assembly="DotNetNuke.Web.Client" %>

<dnn:DnnCssInclude runat="server" 
    FilePath="DNNMega/dnnmega.css" 
    PathNameAlias="SkinPath" />
<dnn:DnnJsInclude runat="server" 
    FilePath="~/Resources/Shared/Scripts/jquery/jquery.hoverIntent.min.js" />
        

Code Registration

namespace Example.Dnn.Resources {
    using DotNetNuke.Web.Client; // DotNetNuke.Web.Client.dll
    using DotNetNuke.Web.Client.ClientResourceManagement;
    
    public class ResourceUser : UserControl {
        protected override OnInit(EventArgs e) {
            ClientResourceManager.RegisterScript(
                this.Page, 
                "~/DesktopModules/Example/js/script.js"
                FileOrder.Js.DefaultPriority,
                "DnnBodyProvider");
        }
    }
}
        

Code Registration

namespace Example.Dnn.Resources {
    using DotNetNuke.Web.Client; // DotNetNuke.Web.Client.dll
    using DotNetNuke.Web.Client.ClientResourceManagement;
    
    public class ResourceUser : UserControl {
        protected override OnInit(EventArgs e) {
            ClientResourceManager.RegisterStyleSheet(
                this.Page, 
                "~/DesktopModules/Example/css/styles.js"
                FileOrder.Css.DefaultPriority,
                "DnnPageHeaderProvider");
        }
    }
}
        

Combination

HTTP Requests are bad

Minification

Big files are bad

Cache Busting

Old files are bad

Performance

Before After
13 Scripts 6 Scripts
286 KB 173 KB
7 Stylesheets 1 Stylesheets
26 KB 15 KB

Tricks

JavaScript priorities:

jQuery
5
jQueryUI
10
DnnXml
15
DnnXmlJsParser
20
DnnXmlHttp
25
DnnXmlHttpJsXmlHttpRequest
30
DnnDomPositioning
35
DnnControls
40
DnnControlsLabelEdit
45
Default
100

CSS priorities

DefaultCss
5
ModuleCss
10
SkinCss
15
SpecificSkinCss
20
ContainerCss
25
SpecificContainerCss
30
PortalCss
35
Default
100

Wrap Up

More Info

Thanks to all our Generous Sponsors!

PowerDNN University of North Carolina at Charlotte Engage Software Aspose PackFlash Arrow Consulting & Design Applied Innovations Cape Fear Webmasters Enliven Studio Cool Coyotes Iowa Computer Gurus Robert Half Technology DNNDev Microsoft User Group Support Services Infragistics Logical Advantage Spiffy Web Team PointClick Technologies

Use a spacebar or arrow keys to navigate