Presentation on theme: "Optimising MOSS 2007 for the Internet Perth SharePoint User Group June 2008 Sezai Komur Senior Developer Vivid Group."— Presentation transcript:
Optimising MOSS 2007 for the Internet Perth SharePoint User Group June 2008 Sezai Komur Senior Developer Vivid Group
Developing Websites for the Internet Different to developing Intranets! Performance – page weight and page load time is important. Nobody likes a slow website – even if its cool.
How do you make an ASP.NET Website Faster? Reduce Page Weight Reduce the time it takes to download and a page. Optimise what is in the page – dont download unnecessary files. Reduce the time it takes for a server to process and serve up a page and its resources.
Analysing Page Weight and Load Times Pingdom Tools – Full Page Test –http://tools.pingdom.com/fpt/http://tools.pingdom.com/fpt/ Firebug add-on for Firefox has a Net Analysis tool
Regular Examples WebsitePage Size Load Time (ADSL2+) 19 kb0.672 s 120 kb3.77 s 146 kb3.89 s 204 kb2.18 s 207 kb2.5 s 209 kb8.2 s 210 kb5.86 s 1.1 mb9.6 s mb15.06 s
Developing a custom Master Minimal.Master – a clean canvas Implement a custom HTML/CSS/JS design Custom CSS Custom navigation controls
What is Form Mode? Other CMS provide content editing in a back- end application. MOSS 2007 provides editing in context –Switch to edit mode on a page you are viewing. –Excellent authoring experience –Complex development experience By detecting Form mode you can target code and rendering to Edit Mode or Display Mode. –SPContext.Current.FormContext.FormMode –Microsoft.SharePoint.WebControls.SPControlMod e Enumeration EditModePanel uses this.
Demo! Minimal.Master Nothing.Master Form Mode Anonymous User Optimisation Top Navigation Optimisation
Page Layout Overview Page Layouts are based on content types Field Controls on Page Layouts bind to Site Columns / Fields of the Page Layout Content Type Custom ASP.NET Server Controls or User Controls –Data from Site Lists –Data from Anywhere Web Parts
Optimising Custom Page Layouts What is the page doing? How many controls/web parts on the page and what custom code is being run? What DATA is being retrieved by the custom code? Where? How? Optimise your server code and implement caching Memory Leaks! Exceptions! Dodgy Code!!!
Caching Implement ASP.NET level caching in custom code. Cache Navigation menus / SiteMapProvider Enable Blob cache and output cache –Files live in the Database –So caches files on the web server to reduce Database access
More Caching Store Chrome files directly on the file system of the web server – Always Cached –Can only be modified/updated by a developer IIS Static Compression –Core.js is 265kb, some sites have it at only 55kb due to IIS static compression
Rendering Tricks ASP.NET AJAX –Reduces the need to download an entire page resulting in FAST load times and an excellent user experience. BlendTrans Metatags - Fajax –Simple to implement –great result. White space removal to reduce page size and increase browser rendering speed.
Demo BlueBandBlendTrans.Master Cache settings Storing files /_layouts/images and /_layouts/inc Vs /Style Library