Best Practices Slide Deck
Download
Report
Transcript Best Practices Slide Deck
Go Live!
Launching your MOSS Publishing site
DEV435
Spencer Harbar
About the speaker…
Spencer
Harbar, MVP, MCSD.NET, MCAD, MCSE, APM
www.harbar.net
Enterprise Architect working with some of
Microsoft’s largest customers deploying
Office SharePoint Server 2007.
15 years in Enterprise IT
ISPA Board Member
Agenda
ActiveX
control dialog
Page payload
Custom CAS policies
Configuring & tuning caching
Application page lockdown
Server topology & roles
IIS HTTP compression
Web Application Configuration
Name.dll ActiveX control
SharePoint utilizes the Name ActiveX control
Delivers presence functionality
Enabled by default on all OOTB Sites
Remove on Internet facing sites
override the ProcessDefaultOnLoad() JavaScript function
MSKB # 931509
Minimizing Page Payload
Page payload
combined total size of all files required for a page request
Includes all HTML markup, images, JavaScript, CSS, etc…
SharePoint heavy page payloads primarily due to table-based
design & JavaScript
Best Practices:
Avoid OOTB Publishing Site and Master Pages
Implement CSS-based design (aim for accessible sites) which
can dramatically reduce the markup
Tune IIS HTTP compression (more later…)
Lazy-load core.js - See MSKB # 933823
– Or suppress it all together!
Publishing Portal Page Payload
k, Other
scripts &
CSS
(59k),
29.4,…
k,
Branding
Branding
&
Content
(91k)
& Content
(91k),
44.6,…
core.js (54k)
k, core.js
(54k), 26,
26%
Other scripts &
CSS (59k)
EXAMINING THE PUBLISHING
PORTAL PAGE PAYLOAD &
ACTIVEX
CAS Policies for Custom Code
SharePoint sites default to WSS_Minimal
When creating custom components, developers
are presented with two options:
Increase trust of Web app (WSS_Medium / Full)
Increase trust of specific components w/ CAS policy
Increasing the trust of the Web app is easier,
BUT custom CAS policy for a specific
component is much more secure
ITP343 & 344 (This afternoon)
DEV369 (Wednesday, 12:30pm)
The “Lockdown Feature”
By default, all users in a SharePoint site can access the
SharePoint-y pages
http://www.adventure-works.com/pages/forms/allitems.aspx
Not desirable in Publishing sites
Controlled by the “View Application Pages” right
granted by “Limited Access”
SPBasePermissions.ViewFormPages
Feature ViewFormPagesLockdown removes this right
from Limited Access
Automatically activated by Publishing Portal template
Note: need to reactivate when changing the anonymous
settings on a site collection
Page Output Cache
Fastest type of caching
After ASP.NET 2.0 page lifecycle generates the
HTML markup it is saved in RAM
Future requests bypass the ASP.NET 2.0 page
lifecycle and instead uses cached HTML
Publishing sites provide Web interface to create
cache “profiles”
Profiles assigned to individual sites
Note: not enabled by default
Disk-Based Cache
Commonly requested static files (images, CSS,
JS, etc) stored in libraries in the site are pulled
from the content database on each request
Disk-based cache stores these files on the
WFE server’s disk to eliminate future round
trips
Can optionally configure the max-age HTTP
header causing user’s browsers to not request
the files for a specified duration
Configured via the Web App’s web.config
Server Topology & Roles
Separate authoring &
production environments
Use Content Deployment
Environment can then be
optimized for:
read/write (authoring)
read only (production)
Disable/Stop unused services
Excel Calculation, Incoming Email, WSS Search etc
Static & Dynamic Compression
Used to minimize the page payload
When SharePoint installed, IIS is configured to
compress static & dynamic files
Static: HTM, HTML, TXT
Dynamic: ASP, EXE
Example: core.js is 257 KB on disk, but IIS compresses
to 54 KB before sent to client
IIS HTTP compression level is configurable
Requires lots of fine tuning and testing
Higher compression = higher CPU use & smaller files
Lower compression = lower CPU use & larger files
Tip: increase as high as the CPU can handle
IIS v6 vs. IIS v7 Compression
IIS 6
IIS 7
Default Static Comp.
10
7
Default Dynamic Comp.
0
0
Compress by File Type
YES
NO
Compress by MIME Type
NO
YES
Compress content before adding to page output cache
NO
Configurable
In IIS 7, compression (static & dynamic) is on / off & is
enabled / disabled based on CPU utilization
In IIS 7, markup can be compressed before inserting
into page output cache
Not enabled by default
EXAMINING CACHING, IIS HTTP
COMPRESSION & RESULTS
Web Application Configuration
For Internet-facing sites, it is recommended to
disable the following:
User Presence Information
– Central Admin » App Mgmt » Web App General Settings
Blog API
– Central Admin » App Mgmt » Web App General Settings
Incoming Email
– Central Admin » Operations » Incoming E-Mail Settings
Disk-Based Caching
Enable disk-based caching and set the max-age
attribute for local user browser caching
Post conference DVD with all slide decks
Sponsored by
Thank you for attending!