Friday, 9 January 2009

The book - Inside Microsoft Windows SharePoint Services 3.0

I've just finished reading this book Inside Microsoft Windows SharePoint Services 3.0, it was straight forward to read beginning to end, containing a lot of useful information for the WSS developer. It has lots of good code samples, available here.

Here follows my scribbled notes from the first chapter.
  • WSS is a site provisioning engine.
  • WSS is part of Windows Server 2003.
  • MOSS - value adds a set of components and services that have been built on top of this platform
  • A WSS site is a storage container for container, eg lists, libraries and child sites.
  • A WSS site is a securable entity.
  • WSS doesnt do authentication, it does authorisation.
  • A WSS site is an application with an extensible fully customisable user interface.
  • A WSS site is an application with an extensible, fully customisable user interface.
  • A WSS site is a foundation for using web parts.
  • A WSS site must be created within the scope of an existing Web Application, not as an independent entity; it must be created within a site collection.
  • A site collection is a container of WSS sites.
  • Each site collection requires a top level site, it can contain a hierarchy of child sites.
  • A Web Application, contains site collections, contains sites, contains lists,libraries,child sites.
How should you as a developer partition sites across site collections?

To answer this you need to gain an understanding of how partitioning sites affects the scope of admin priviledges, security boundaries, backup and restore and site design.

  • The concept of the site collection is important because it allows an IT dept to hand off the admin burden to the business divisions that own the sites.
  • A site collection is an 'island' ie they provide scope of membership and security authorisation.
  • A site collection provides a convenient scope for backup and restore.
  • WSS object model allows for queries that span lists within a site collection but not across site collections.
The WSS developer platform provides a comprehensive framework for scalable portable applications it includes;
  • the object model
  • web part framework
  • web services
  • site provisioning model
It is important to differentiate between customisation and development.

A user can customise lists, libraries, the appearance of pages using web parts, master pages and css using SharePoint designer. Customisation is saved within the content database. This is an advantage as it provides great flexibility to users and site admins. But a disadvantage for development as they are now hard to version and make repeatable across multiple sites.

How can you move a customisation from dev > staging > production. How do you customise a single site and then reuse it across multiple sites. The answer is its difficult! If this is what you need to do you should be looking at development.

  • WSS 3.0 has site columns
  • WSS 3.0 has content types
  • WSS 3.0 can work with Office Open XML file formats.
  • WSS 3.0 is built on top of Windows Workflow Foundation
  • Security and site membership within WSS 3.0 can be extended.
If you dont use Active Directory, you can build or acquire ASP.NET authentication provider.

Features, Features, Features! - they feature a lot in the book.

Features are a new developer focused innovation that has been added to WSS 3.0 They provide a mechanism for defining site elements and adding them to a target site or collection.

Several object types in WSS object model such as SPSite and SPWeb use unmanaged resources and must be disposed of in a timely manner.

No comments: