Wow! What a powerful platform Microsoft Office SharePoint Server 2007 (MOSS 2007) is for developing polished, content-managed Internet sites!
This site is 100% MOSS-powered and makes extensive use of the new web content management features in this version.
The site was developed by a part-time three man team over a four month period. The team consisted of a MOSS developer, a MOSS branding expert and a content author from Marketing. All had extensive experience with MOSS and many other web technologies, but none had used MOSS to develop a public website for a company. The team was blown away by the ease-of-use and power that MOSS 2007 offers for developing highly-polished and content-driven Internet web sites. (By the way, the three man team consisted entirely of internal personnel. We did not use any outside creative or development resources to design and create this site.)
Going forward, the site will be maintained by end-user content authors out of Marketing, Training, Consulting and Commercial Software. Because the site is a true content management site, it will only be necessary to get the technical team or artistic team involved again if we want to add major new functionality or make a significant branding change. Otherwise, the non-technical people who help run our business on a daily basis will be able to maintain this site on their own - with the proper approval processes in place, of course.
Here is a run-down on some of the key MOSS features that made this site a pleasure to develop:
Publishing Site Template
In MOSS 2007, the starting point for creating sites that make use of the web content management features is the Publishing Site Template. Publishing sites were added to the 2007 version of SharePoint specifically to address the need to architect web sites that need a high-degree of polish, but also need to be maintained by decentralized "content authors" rather than a centralized "webmaster".
Publishing Sites are quite different than standard SharePoint collaboration sites because of the emphasis on a formal end product and a process that requires a much greater level of control and oversight.
One thing that all Publishing Sites include is a document library named "Pages". This is a special document library that is created by the template and is designed to store all of the publishing pages for a site. On our site (the one you are currently viewing) all of the pages are publishing pages (including this page) and are stored in a Pages library.
Notice in the screenshot below that the Pages library contains some special columns that are used by the publishing system to manage the behavior of publishing pages:
There are lots of nice features that come along with Publishing Pages. When an authorized user opens up a publishing page in edit mode, the page is immediately checked out to that user. From then on, until she checks it back in, every time she visits that page she will see the Page Editing Toolbar at the top of the page.
Meanwhile, all other visitors to the page will see the last published "version" of the page. When the content author finishes her changes she has a couple of options: 1) check the page in to share it as a draft that other team members can review, or 2) submit the page to an approver. (Note: in the example below, the content author is also an approver so she sees a third option: Publish).
Page Layouts, Field Controls and Master Pages
The term "wireframe" is often used to describe a document that is used in website design that conveys the layout and functionality of pages. In MOSS, the tool used to translate a wireframe into reality is SharePoint Designer and the output is referred to as a Page Layout. Page Layouts (ASPX files) are then applied to publishing pages when the page is created or anytime after creation if a different page layout is desired. This gives a publishing page its structure in terms of layout and controls. In effect, Page Layouts are "templates" for building MOSS publishing pages.
In the example below, we have the Course Description page layout open in SharePoint Designer. Notice that there are a number of controls on the page. These are referred to as Field Controls and map to columns in the content type that the page layout is based upon.
Also notice the branding (color schemes and graphics) on the screen above. This is being provided by a Master Page rather than the Page Layout. In SharePoint Designer (as well as in the browser) we see the combination of the Master Page and the Page Layout. The Master Page is used to design and apply site branding and navigation functionality. For our website, we only use a single master page, but there are numerous page layouts used.
When the content author uses the browser to edit a publishing page based on this page layout she will be able to enter HTML text directly into these field controls that have been placed on the page layout using SharePoint Designer:
There are many cases where certain types of text or other content needs to be re-used on many different pages in a site. Legal disclaimers and privacy statements are common examples that every organization can relate to. For our website, we have some examples that are related specifically to our SharePoint training business. An example is the text that describes what type of course materials and lab environment we provide for each class we conduct.
We like to include this information on every course description page so that it is complete and clear for our students what they are getting as they read about the course. However, this particular piece of information is exactly the same for all of our courses. By using the MOSS Reusable Content List (a special list in the top-level site of the site collection) we are able to store this standard text in one place, but have it show up on all of the course description pages.
Here is what a typical Course Description page looks like when a content author has it open in edit mode and is working with a section that uses Reusable Content:
If the content author decides that the reusable content needs to be changed, she can simply click on the link and be taken to the list item in the Reusable Content List to make the changes. Notice that there is a checkbox for Automatic Update. Selecting this checkbox instructs MOSS to only put a reference to the reusable content in the web page which will result in the content being loaded from the list item whenever the page is rendered.
Site Collection Images Library
Just like the Reusable Content List, the MOSS publishing features create a special image library in the top-level site of the site collection named Site Collection Images. And, this library is accessible from anywhere in the site collection. So, it is a natural for storing image assets that are common and likely to get used in multiple sites.
It is easy to add images from the Site Collection Image library (or any image library for that matter) because MOSS provides a great tool to use to browse image libraries at the time of insertion on the page:
We mentioned above that Master Pages are used to specify how the navigation for the site will work. That is partially true in the sense that if you are going to move the navigation controls somewhere in particular or change their functionality in some way, the way to do that is via the Master Page.
However, if what you want to do is make sure that the navigation is updated properly as new pages are added to the site or you want to exclude certain pages from the site or you want to group navigation links in some logical grouping, all of this can be done easily in a few seconds using the navigation settings in Site Settings. It is incredibly easy to customize the navigation without any code or even opening up SharePoint Designer:
Data View Web Part
We use the Data View Web Part extensively throughout this site - especially when we need to display content that exists in rows and columns in a SharePoint List. A great example is the table of classes that are open for registration on this page:
On the web page, this table is displayed by a Data View Web Part that is dynamically pulling its information from the Class Schedule SharePoint List:
To open and close classes for registration, all that is necessary is to add the appropriate information to the Class Schedule list. Then, the new information will appear automatically on the page as the Data View Web Part queries the list during rendering.
Forms Server 2007
Forms Server is new to SharePoint 2007 and comes bundled in the Enterprise Edition of MOSS or can be purchased standalone. It takes much of the functionality of InfoPath and makes it available for publishing browser-based electronic forms that can be use to gather information that can be stored in numerous repositories and used in workflows.
We have several forms on our site that we use to collect information and requests from our visitors. Here is an example of where we use a Forms Server form to capture consulting requests:
We have really only scratched the surface with this tour of some of the key features that MOSS 2007 offers for web content management. Hopefully, this is enough to help you see just how powerful MOSS is as tool for developing custom, Internet-facing sites that are content-driven.
If you would like to learn more, we have two outstanding classroom-style courses where we dive into all of these details and more:
Applying SharePoint 2007 - MOSS Advanced Features
Extreme Makeover: SharePoint 2007 Edition - Branding and Customization