This is the third installment in a series of postings about Web Content Management with SharePoint 2007 - if you want to take a look at the previous ones:
- WCM with MOSS 2007 - Introduction (Part I)
- WCM with MOSS 2007 - Getting started with Web Content Management (Part II)
One of the most important changes in Microsoft’s WCM platform is the fact that it is completely built on top of the SharePoint 2007 platform. This has two very important implications:
- You can easily extend the WCM platform by taking advantage of all the features in ASP.Net 2.0 since this also the core of WSS 3/0
- You will be able to take advantage of all out the box features present in the SharePoint 2007 platform
The key idea behind WCM is the separation from presentation and content in web publishing – in Microsoft Office SharePoint Server 2007 this is accomplished through the use of master pages, content types, page layouts and page libraries. Each of these components has a different task:
- ASP.Net 2.0 Master pages are used to define the common elements in a page
- Content types define the different types of information which can be shown on a page – the “what can be shown on a html page”
- Page layouts are special ASP.Net pages which define the rendering for the content shown on a page – the “how is a page shown to the user”. Page layouts are the layer on top of the content type and provide a structured way for contributor to enter their web content.
- The page libraries are a special kind of document library where all the content is stored
For example when you create a new Publishing Portal - as described in [WCM with MOSS 2007 - Getting started with Web Content Management (Part II)] - you will see that the first page is built with a template that provides a Page Image and two Summary Links web parts, a Content By Query Webpart for the press releases and a field control. The page is derived uses the WelcomeSplash.aspx page layout. You can check this by going to Site Actions > Manage Content and Structure and then selecting Pages in the left treeview. Here you will see that it shows /_catalogs/masterpage/WelcomeSplash.aspx in the Page Layout column.
If you want to know which is the Master Page which is currently used you can go to Site Actions>Site Settings>Modify All Site Settings. Underneath the Look & Feel tab you will see the Master Page settings page. The Publishing Portal used the BlueBand.master by default but there are also several other master page templates available such as BlueGlassBand.master, BlueVertical.master, OrangeSingleLevel.master, etc ... On the bottom of this page, you will also see that there is a section in which you can define your own Alternate CSS URL - when you click the browse button next to it, a window opens in which the different styles in the Style Library are shown. We will look more in depth at style sheets in MOSS 2007 in a next posting.
A page render from a page in MOSS2007 goes through the following steps:
- A page is requested by the user
- The page layout associated with the page is retrieved
- The master page associated with the page is retrieved and renders common elements such as the logo, search box, login, etc ...
- The controls in the page layout render content from the page’s fields into the page
Master pages allow you to create a consistent layout for the pages in your application. A single master page defines the look and feel and standard behaviour that you want for all of the pages.This means that master pages typically define how common elements in your page are rendered such as navigation, headers and footers for the site.
Since Windows SharePoint Services 3.0 is built upon ASP.NET 2.0 it uses a lot of concepts which are already present in the framework such Master Pages. Every site contains a Master Page gallery that contains a page named default.master. The default.master contains a number of server controls which typically render the “chrome” of a page such as menus, navigation bars, the login button, the top image, etc ... It is possible to replace these controls with your own own ASP.NET controls. This can be done for pages at the scope of a site or a site collection. It is also possible to create a new master page and add this master page to a specific site through the SharePoint admin UI – Site Settings > Site Master Page Settings. For some more information about master pages and Windows SharePoint Services 3.0 – take a look at Discover Significant Developer Improvements In SharePoint Services - I will also provide a posting about master pages in SharePoint 2007 pretty soon.
Page layouts are the templates to which users can add content to create new pages. So for each type of page on a site, you create a page layout. This concept is very similar to the concept of MCMS templates in Microsoft Content Management Server 2001/2002 on to which you added placeholder controls to enable user input of content. But instead of using placeholder controls, you will use “field controls” in MOSS 2007 that will bind to the actual content which is stored in the columns in a Pages Library. These field controls are server controls that inherit from Microsoft.SharePoint.Publishing.WebControls.BaseFieldControl and that provide the ability to display and edit data on a page. These field controls are bound to an SPField by their FieldName property.
Whenever a user creates a new page in MOSS 2007, the page content is stored as a separate item in a special type of WSS “V3” list, the Pages Library. A page layout relies on a content type to determine the kind of content that can be stored on pages. Content types are a new concept in the SharePoint 2007 platform, they represent a reusable collection of settings, which define different elements of a piece of content, such as:
- The metadata – columns in a WSS list - for a specific type of content
- Workflows that the content will use
- Conversion types for the content - content types store information about how and where a web page can be created from an item trhough the document converter.
- Information management policies that apply to the content
All content stored in a list in MOSS is created from a certain content type and you can even associate multiple content types with a single list or library.
When you activate the Publishing Resource feature, a number of system content type templates will be created such as Page content type, Article Page content type and Welcome Page content type. These content types already have a standard number of column templates defined such as start date, expiration date, page layout, etc ... The default content type for Pages library is the Page content type.
Since SharePoint lists are used as data storage, you will be able to take at advantage of both existing and new features such as:
- Recycle bin Probably a top 5 requested feature in the previous version. The recycle bin allows you to recover deleted items from lists and libraries
- Alerts Alerts have been extended so that you can now create alerts for multiple user accounts at once. Another interesting innovation is the ability to create an alert based on a view in a document library.
- Pluggable and extensible authentication Autentication is not limited to use only Active Directory, ASP.Net forms based authentication is supported as well. This mode allows Windows SharePoint Services to work with a variety of identity management systems, including externally defined groups or roles such as Lightweight Directory Access Protocol (LDAP) and light-weight database identity management systems.
- Per item security Security can now be set on individual items in both lists and libraries instead of simply at the list level
- RSS enabled lists RSS is an XML-based format for aggregating content. Every list in SharePoint can be published in RSS format
- Reusable content A central list is provided where you can store content fragements which can be reused in different web pages. It allows plain text, html or images to be automatically updated globally when the item in the Reusable Content list is edited.
- Caching MOSS 2007 now supports ASP.Net output caching and will support caching pages, page elements, data from SharePoint lists, etc ...
- Enhanced web-based content editing A DHTML WYSIWIG editor with support for styles, spell checking, better table editing, an image control with asset picker, attachment/link control with asset picker, content reuse, ...
- Workflow and enhanced versioning – see next section
- Server side conversion of documents to web pages – see Rich Content Authoring
Once you have a large number of pages in your site, you will be typically confronted with the need to organise all the information in a hierarchical manner. In Microsoft Office SharePoint Server 2007 you will define multiple sites and child sites to organise your information.