Bootstrap -- Architecture BasicsTo really get the most out of SharePoint you need to understand several important design and architecture concepts, and plan your implementation with a few key points in mind. For those new to this, note that we use the terms 'SharePoint' and 'MOSS' interchangeably -- MOSS stands for Microsoft Office SharePoint Server. We also need to differentiate between the free Windows SharePoint Services (WSS) product and the non-free MOSS product. MOSS is built on the foundation provided by WSS. The Web Content Management components are part of MOSS, not part of WSS. For more background, see SharePoint 2007 Review - Six Pillars of MOSS.
SharePoint High-level Architecture
Second Things Next -- User Experience and IADon’t ask SharePoint to help you with your User Experience or Information Architecture. MOSS is a .NET development platform which provides a set of content, collaboration, search and integration services. It assumes you have done most of the UI/UX/IA thinking long before decided upon an implementation technology. There are so many aspects to SharePoint; many ways to do things wrong. Have your user interface references and application scenarios in hand, and then start looking at how SharePoint can implement these things in the best manner possible. It certainly helps to have a SharePoint architect involved in your UX and IA design. Microsoft says it takes two to six months to properly design a SharePoint implementation. I’ve heard it’s been done faster -- it of course depends on what you are building.
Types of SharePoint SitesSharePoint provides several templates for web sites out of the box. The ones you are interested in for web content management are in the Publishing Category and include a Collaboration Portal and a Publishing Portal. Collaboration Portal * starter site for Intranet divisional portal * contains a Document Center site, News site, Search site, and a Site Directory site by default * Workflow is not enabled * branding is possible but with more effort (default.master) * assumes you will be adding Collaboration Team Sites to the structure Publishing Portal * starter site hierarchy for Internet or a large Intranet-base website * contains Home Page, Press Release SubSite, Search Center, and a login page by default * Workflow is enabled * easily custom branding using the blueband.master page You can use either template, it’s a design choice; either one can be modified and will work for your web site.
Defining Your SharePoint Site
SharePoint Website StructureSharePoint’s structure is made up of Site Collections and Sites. A Site Collection is the top most level for a site and is a site in itself. It can also contain within it one or more additional sites. Grouping sites within a collection provides the following benefits: * common branding and navigation * shared web parts, content types and workflow * shared search * common security, policies and site features Unless your site is very complex, you will probably only have one site collection. Really complex sites that have strict security requirements may have two or more collections. Planning your structure is very important as it’s difficult to move things around after it’s been created (although it is possible).
Look and Feel -- Branding & NavigationIf you listen to all the gossip on the net you may have heard that modifying the branding of a SharePoint site is one of the most challenging aspects of building on SharePoint. Well that may be true considering it has master pages, page layouts, themes and 26 cascading style sheets -- the primary one, core.css, has over 15,000 lines of CSS code! Ouch. But bear in mind that it’s not likely that your final design will reflect SharePoint out of the box (for an Internet or an Intranet site). If it does…fire your UX team immediately, because they are in cahoots with Microsoft! When publishing with SharePoint there are two fundamental UI concepts to understand: master pages and page layouts. These two elements dictate the overall look and feel of your website.
SharePoint Master Pages Master pages are a templating technology which Microsoft introduced with ASP.NET 2.0. They are handy. They enable you create one or more pages that contain the core design elements for your site including: * navigation * logo and common header * common footer * etc. -- you get the picture. A page layout is also a template, but it is always used in conjunction with a Master Page template. Page layouts deal more with the display of SharePoint content and as such each has an associated content type. MOSS 2007 comes with three default publishing content types: page, article page and welcome page.
Master Pages and Page Layouts Master pages can be manipulated via SharePoint Designer or Visual Studio. You need to have a solid understanding of CSS, HTML and ASP.NET. You also need to understand the concept and usage of a Content Placeholder. Heather Solomon is a great resource for learning about branding a SharePoint site. She even provides some master page templates that can help you get going fairly quickly.
Authoring CapabilitiesObviously you want the ability to have one or more people authoring content in your site -- otherwise, what was point of getting SharePoint? SharePoint has two ways to author content. Smart Client Authoring First, if you have MS Office 2007, then you can enable smart client authoring. This allows authors to create their content using MS Office tools and deploy it to the SharePoint site as an HTML page. Browser-based Authoring The second and most common approach to authoring is via the web browser.
Creating a New SharePoint Webpage In this case, you edit directly in the website using the editing toolbar. This is considered in-context editing. You view the website as an author -- thus having authoring options available to you to add, modify and delete content on the site.
SharePoint Edit Page View In the browser authoring mode SharePoint provides a rich text editing experience. Other third party vendors, such as Telerik, offer enhanced editing controls for SharePoint.
The SharePoint Content Editing Toolbar The editing toolbars are completely customizable, as is the HTML Editor toolbar -- you can add new functionality, add styles and formats, and restrict editing features.
The SharePoint HTML Toolbar SharePoint Workflow Workflow is an important aspect to authoring. It’s rare you let authors submit content directly to production without going through some type of content approval process. SharePoint comes with several out of the box workflow templates. The “Approval workflow” incorporates approver emails, tasks lists and status tracking. You can customize this workflow using SharePoint Designer. Customizations can include adding steps like translation or second level approval.
SharePoint Workflow Status The key point to remember when modifying a workflow process using SharePoint Designer is that you are modifying the workflow for that particular page or content type. To create a workflow process that can be used by multiple pages and content types use Visual Studio 2005. Scheduling Content Many times you want to create content to be published at a later date (e.g., press releases). You can schedule when content will appear on the site, as long as your content has versioning enabled.
Creating Multi-Lingual WebsitesSharePoint is able to create and deploy websites that are multi-lingual. SharePoint has a feature called Variations that can be used to deploy content in one or more languages.
SharePoint Content Variations To employ this approach you create a site collection and define one or more variation sites. One of these variation sites must be the source site where the bulk of the content is entered, the rest are called target variation sites. As content is created and published to the source site, it then needs to go through an approval/publishing process for each target variation site. This model may sound familiar to those of you with Microsoft CMS experience.