Optimising MOSS 2007 for the Internet Perth SharePoint User Group June 2008 Sezai Komur Senior...

Preview:

Citation preview

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 it’s “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 – don’t 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/

• Firebug add-on for Firefox has a Net Analysis tool

MOSS 2007 Website ExamplesWebsite Page Size Load Time

(ADSL2+)http://www.amanaliving.com.au 326 kb 4.96s

http://www.nntt.gov.au 494 kb 10.3s

http://www.microsoft.com 510 kb 9.88s

http://www.sharepointusers.org.au/Perth 663 kb 3.16s

http://www.microsoftsharepoint.com 772 kb 3.1s

http://www.nhs.uk 866 kb 20.9s

http://www.kpmg.com 943 kb 1.43s

http://sharepoint.microsoft.com/pedia 1.05 mb 15.91 s

http://www.tafe.wa.edu.au 1.06 mb 33.36s

http://www.ggs.wa.edu.au 1.09 mb 3.4s

http://www.premier.wa.gov.au 1.17 mb 11.58s

http://www.thatsmelbourne.com.au 1.19 mb 7.77s

http://www.hedkandi.com 1.63 mb 12.6s

Regular Examples

Website Page Size

Load Time (ADSL2+)

http://www.google.com.au/ 19 kb 0.672 s

http://www.australia.gov.au/ 120 kb 3.77 s

http://sharepoint-sezai-moss-2007.blogspot.com/

146 kb 3.89 s

http://www.vividgroup.com.au/ 204 kb 2.18 s

http://www.centrelink.gov.au/ 207 kb 2.5 s

http://www.youtube.com/ 209 kb 8.2 s

http://www.microsoft.com/en/au/default.aspx

210 kb 5.86 s

http://www.thewest.com.au/ 1.1 mb 9.6 s

http://www.news.com.au/perthnow/ 1.15 mb 15.06 s

Master Page Overview

• Contains Top Navigation, Search Box, Header, Footer – Common page elements

• Also contains the HTML head as well as Body tag• HTML head contains SharePoint Controls that link to SharePoint JavaScript (core.js), CSS and other Resources.

• Anonymous Internet users DO NOT require these files so it’s a waste of their bandwidth to download. Authenticated users editing content DO still need these files.

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.SPControlMode 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/incVs/Style Library

The End

Recommended