Tuesday, 27 January 2009

Friday, 23 January 2009

SharePoint 2007 - The Business Data Catalog

A good link giving a series of articles on the Business Data Catalog from Sahil Malik.

Friday, 9 January 2009

Create a WSS Site Collection.

It is very simple to create a WSS Site Collection!
  • Startup SharePoint 3.0 Central Administration
  • Select Application Management tab
  • Click 'Create Site Collection' under SharePoint site management heading
  • Enter details and Click Ok.

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.

Tuesday, 6 January 2009

Get Quick Access to WSS '12' directory.

Set up an environment variable,


  • Right click 'My Computer' select Properties

  • Select Advanced Tab

  • Click Environment Variables button

  • Click New and give it a name eg 12 and value eg 'C:\Program Files\Common Files\Microsoft Shared\web server extensions\12'

  • Click Ok

Within windows explorer you can now enter %12% in the address bar
In the command window you can type cd %12%

Windows SharePoint Services - Site Pages, Application Pages, Ghosted/Unghosted Pages

Site pages support customisation. A customised site page is now an unghosted page. A site page that hasnt been customised is a ghosted page.

The fact that site pages support customisation provides flexibility but raises performance concerns and security issues.

Site pages do not support in-line code under the default security policy enforced by WSS.

Example Site pages

  • default.aspx

  • AllItems.aspx

  • NewForm.aspx

  • EditForm.aspx

Application pages do not support customisation. Each application page is always compiled into a single DLL so it will perform and scale better than a site page.

Application pages support in-line code.

You can create your own application page for a custom solution.

Application pages are in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS

Example Application pages

  • settings.aspx

Monday, 5 January 2009

Windows SharePoint Services - Site Collection, Sites, Webs and Root Webs.

There is obvious potential for confusion between some of the terminology used in Windows SharePoint services WSS and its predecessor, SharePoint Team Services STS.

WSS termSTS term
Site CollectionSite
Top-level siteRoot Web

The confusion is increased a bit by the WSS object model class names being based on the STS terms.

As a result you program against a site collection using an SPSite object, and against a site using a SPWeb object.

SPSite object provides a public property named RootWeb that returns an SPWeb object.

Windows SharePoint Services - Virtual Servers or Web Applications ?

The WSS product team initially used the term virtual server to describe an IIS Web site that had been extended with WSS functionality. The current WSS version and supporting documentation use the term Web Application mainly to avoid confusion with another Microsoft product of the same name. Unfortunately we must remember that the new term Web application and the old term virtual server are often both used interchangeably.

For example, the WSS object model provides the (now obsolete) SPVirtualServer class to program against Web application objects.