advertisement

SharePoint Web Content Management - Lessons Learnt/top 5 tips

50 %
50 %
advertisement
Information about SharePoint Web Content Management - Lessons Learnt/top 5 tips

Published on December 29, 2008

Author: chrisobrien

Source: slideshare.net

Description

My presentation to the UK SharePoint User Group (200+ attendees) in Oct 2008 on Web Content Management in SharePoint. Includes top 5 WCM tips and general lessons learnt.
advertisement

Lessons learnt: Building MOSS Content Management sites 16/10/2008 Chris O’Brien SharePoint MVP www.sharepointnutsandbolts.com

The WCM landscape Key topics Security Optimisation Accessibility Deployment – Features vs. Content Deployment? Chris’s top 5 WCM tips Q & A What we’ll cover London, 16/10/2008 | SharePoint User Group – MOSS Web Content Management |

The WCM landscape

Key topics

Security

Optimisation

Accessibility

Deployment – Features vs. Content Deployment?

Chris’s top 5 WCM tips

Q & A

Very different to using SharePoint for collaboration Typically emphasis is on ‘development’ not ‘customisation’ SharePoint provides great tools – but we generally build on them Challenge of moving sites from Dev -> QA -> UAT -> Live London, 07/06/09 | SharePoint User Group – MOSS Web Content Management | The WCM landscape

Very different to using SharePoint for collaboration

Typically emphasis is on ‘development’ not ‘customisation’

SharePoint provides great tools – but we generally build on them

Challenge of moving sites from Dev -> QA -> UAT -> Live

Prevent end users accessing back-end pages Use ‘Lockdown Feature’ for anonymous users Allow authenticated users to read items but not view list pages Consider dedicated authoring server within firewall Allows internet servers to be more secure Standard steps: Validate input for SQL injection/cross-site scripting attacks, avoid storing passwords etc . London, 07/06/09 | SharePoint User Group – MOSS Web Content Management | Key topic - security

Prevent end users accessing back-end pages

Use ‘Lockdown Feature’ for anonymous users

Allow authenticated users to read items but not view list pages

Consider dedicated authoring server within firewall

Allows internet servers to be more secure

Standard steps:

Validate input for SQL injection/cross-site scripting attacks, avoid storing passwords etc .

Many internet sites must meet accessibility guidelines Standard SharePoint pages/controls not AA-compliant Two ways to work around: Build your own controls on top of SharePoint Use ‘control adapters’ to correct the SharePoint controls Accessibility Kit for SharePoint (AKS) can help London, 07/06/09 | SharePoint User Group – MOSS Web Content Management | Key topic - accessibility

Many internet sites must meet accessibility guidelines

Standard SharePoint pages/controls not AA-compliant

Two ways to work around:

Build your own controls on top of SharePoint

Use ‘control adapters’ to correct the SharePoint controls

Accessibility Kit for SharePoint (AKS) can help

Different forms of caching Typically more complex for sites which aren’t anonymous only Housekeeping Removing core.js where possible Removing ugly ‘name.dll’ message in IE7 http://support.microsoft.com/kb/931509 Key topic – performance London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Different forms of caching

Typically more complex for sites which aren’t anonymous only

Housekeeping

Removing core.js where possible

Removing ugly ‘name.dll’ message in IE7 http://support.microsoft.com/kb/931509

Key topic - deployment Different approaches here: Deploy functionality/files using Features Deploy using Content Deployment My ‘Content Deployment Wizard’ provides ability to deploy selected items only (e.g. page layouts) My rule of thumb – use CD if single site collection, use Features if multiple My blog has several articles on factors to consider London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Different approaches here:

Deploy functionality/files using Features

Deploy using Content Deployment

My ‘Content Deployment Wizard’ provides ability to deploy selected items only (e.g. page layouts)

My rule of thumb – use CD if single site collection, use Features if multiple

My blog has several articles on factors to consider

Andrew Connell MSDN article: Prescriptive Guidance for WCM sites http://msdn.microsoft.com/en-us/library/cc879144.aspx Book: SharePoint 2007 WCM Development (Wrox Press) Accessibility Kit for SharePoint http://aks.hisoftware.com ‘ Optimising MOSS WCM sites for performance’ http://msdn.microsoft.com/en-us/library/bb727371.aspx Key resources London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Andrew Connell

MSDN article: Prescriptive Guidance for WCM sites http://msdn.microsoft.com/en-us/library/cc879144.aspx

Book: SharePoint 2007 WCM Development (Wrox Press)

Accessibility Kit for SharePoint

http://aks.hisoftware.com

‘ Optimising MOSS WCM sites for performance’

http://msdn.microsoft.com/en-us/library/bb727371.aspx

Tips from the field Lessons learned

Implement HTML markup in user controls, not SPD Faster development experience - no SPD pain Page layout markup now in primary source control Much simpler deployment of updates Implementation tip #1 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Implement HTML markup in user controls, not SPD

Faster development experience - no SPD pain

Page layout markup now in primary source control

Much simpler deployment of updates

Implementation tip #1 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management | Markup in page layout in SPD: Markup in user control in Visual Studio:

Add custom virtual directory pointing to your web project files Store user controls/page furniture files (e.g. image/XSL) here. Remove code files for non-dev environments Faster development experience – no files to copy, no post-build events. Just save and F5! Important if using tip #1 – don’t want to have to compile project for a HTML change Implementation tip #2 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Add custom virtual directory pointing to your web project files

Store user controls/page furniture files (e.g. image/XSL) here. Remove code files for non-dev environments

Faster development experience – no files to copy, no post-build events. Just save and F5!

Important if using tip #1 – don’t want to have to compile project for a HTML change

Implementation tip #2 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management | Custom IIS virtual directory pointing at VS web project:

Make life easier for the site authors/admins Reduce their stress and they’ll be on your side.. Consider providing custom tools if the ‘SharePoint way’ is not simple enough (e.g. user management) If you use custom lists for site data, provide a link for authors to find them (e.g. using CustomAction) Remember these people are rarely SharePoint gurus Implementation tip #3 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Make life easier for the site authors/admins

Reduce their stress and they’ll be on your side..

Consider providing custom tools if the ‘SharePoint way’ is not simple enough (e.g. user management)

If you use custom lists for site data, provide a link for authors to find them (e.g. using CustomAction)

Remember these people are rarely SharePoint gurus

Custom links on Site Actions menu to back-end lists/custom screens: Implementation tip #3 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Custom links on Site Actions menu to back-end lists/custom screens:

Custom ‘create user’ screen with detailed feedback of action: Implementation tip #3 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Custom ‘create user’ screen with detailed feedback of action:

Plan for unexpected errors Implement ‘friendly’ pages for: 404/page not found Unhandled errors Typically use custom HTTP module to override default behaviour, checking for: HttpContext.Current.Server.GetLastError() HttpContext.Current.Response.StatusCode = 404 Implementation tip #4 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Plan for unexpected errors

Implement ‘friendly’ pages for:

404/page not found

Unhandled errors

Typically use custom HTTP module to override default behaviour, checking for:

HttpContext.Current.Server.GetLastError()

HttpContext.Current.Response.StatusCode = 404

Implementation tip #4 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management | Friendly error page for end users:

Plan for unexpected errors (ctd) Implement e-mail notifications to developers for errors Means an error cannot happen without the team being aware We built this for production, but was even more useful in dev/testing Implemented in same custom HTTP module as error page redirection Implementation tip #4 (ctd) London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Plan for unexpected errors (ctd)

Implement e-mail notifications to developers for errors

Means an error cannot happen without the team being aware

We built this for production, but was even more useful in dev/testing

Implemented in same custom HTTP module as error page redirection

E-mail received by development team when an unhandled error occurs: Implementation tip #4 (ctd) London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

E-mail received by development team when an unhandled error occurs:

Plan for unexpected errors (ctd) Implement proper tracing – it could save your project! Provides ability to quickly locate bugs in your code Trade off is time/effort to implement Consider productivity tools such as ReSharper/CodeRush to lessen impact Implementation tip #4 (ctd) London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Plan for unexpected errors (ctd)

Implement proper tracing – it could save your project!

Provides ability to quickly locate bugs in your code

Trade off is time/effort to implement

Consider productivity tools such as ReSharper/CodeRush to lessen impact

Using tracing (shown here with DebugView) to quickly find bugs in code: Implementation tip #4 (ctd) London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Using tracing (shown here with DebugView) to quickly find bugs in code:

Design for flexibility Use SP lists for values the client may wish to edit, but consider caching My ‘Config Store’ solution on Codeplex does this ( www.codeplex.com/SPConfigStore ) Implement base page (custom master page class) to easily run code across the site Examples on our site: Check if trial user/when trial access ends Check if accepted Terms & Conditions Check has supplied their initial user profile info Enforce use of HTTPS Implementation tip #5 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Design for flexibility

Use SP lists for values the client may wish to edit, but consider caching

My ‘Config Store’ solution on Codeplex does this ( www.codeplex.com/SPConfigStore )

Implement base page (custom master page class) to easily run code across the site

Examples on our site:

Check if trial user/when trial access ends

Check if accepted Terms & Conditions

Check has supplied their initial user profile info

Enforce use of HTTPS

Using Config Store ( www.codeplex.com/SPConfigStore ) for configuration settings: Implementation tip #5 London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Using Config Store ( www.codeplex.com/SPConfigStore ) for configuration settings:

Key topics - security, performance, accessibility (if your client requires it) Chris’s top 5 WCM tips: HTML markup in user controls, not SPD Custom virtual directory for web files Make life easy for authors/admins Plan for errors Friendly 404/error pages Error e-mails for developers Implement tracing Design for flexibility Provide switches for things which might change What was he talking about?? London, 07/06/09 | SharePoint User Group – MOSS Web Content Management |

Key topics - security, performance, accessibility (if your client requires it)

Chris’s top 5 WCM tips:

HTML markup in user controls, not SPD

Custom virtual directory for web files

Make life easy for authors/admins

Plan for errors

Friendly 404/error pages

Error e-mails for developers

Implement tracing

Design for flexibility

Provide switches for things which might change

Contact: LinkedIn: http://www.linkedin.com/in/chrisobrienmvp Blog: www.sharepointnutsandbolts.com Thank you  Q & A

Add a comment

Related pages

NothingButSharePoint.com

Skip to content. Developer; End User; ... SharePoint Web Content Management – Lessons Learnt/top 5 tips by Chris ... Perth SharePoint UG Web Cast on ...
Read more

Chris O'Brien: My top 5 WCM tips presentation

My top 5 WCM tips presentation. ... Tip #5 - design for ... How to Optimize a SharePoint Server 2007 Web Content Management Site for Performance;
Read more

May | 2009 | NothingButSharePoint.com | Page 4

... May 2009. May 20, 2009 ... Adventures In SharePoint Land: More Lessons learned from ... SharePoint Web Content Management – Lessons Learnt/top 5 tips ...
Read more

SharePoint Lektion #21: Metadaten vs. Ordner - YouTube

... Bibliothek ein paar Gedanken über Metadaten machen ... Sharepoint Tipps und Tricks. ... Web Content Management mit SharePoint 2013 ...
Read more

Course 20332B: Advanced Solutions of Microsoft® SharePoint ...

5 days: Language(s): ... enterprise content management, web content management infrastructure, ... Lessons . Core Components of the SharePoint 2013 ...
Read more

SharePoint Enterprise Search: Lessons Learned in the Field

... Critical Capabilities for Web Content Management ... SharePoint Enterprise Search: Lessons Learned in the Field ... Here are some tips from the field.
Read more

SharePoint Tutorials | Lynda.com

Get new SharePoint tips and ... Explores using SharePoint Designer 2007 to alter the default appearance of SharePoint web ... from smart content management ...
Read more

Lesson Learned: When To Use Publishing in SharePoint ...

... practices for using Publishing in SharePoint. ... is Web Content Management” SharePoint Publishing ... in SharePoint; SharePoint Branding Tip: ...
Read more

Office 15 Minute Webinar - 5 Top Microsoft Office 2013 ...

... 5 Top Microsoft Office 2013 Training ... 5 Top Microsoft Office 2013 Training Courses + Tips ... * Enterprise Content Management ...
Read more