Microsoft SharePoint Technologies Solution Architecture
Overview Information Architecture Solution Architecture
Lesson 1 Introduction Key planning questions for information architecture*: What information do your users need to have and use to achieve their goals? Where is that information stored now? What is the best way to organize it? Use taxonomies to organize information Metadata taxonomy primarily for searching Navigational taxonomy primarily for browsing * Adapted from the SharePoint Products & Technologies Resource Kit, Ch. 8
Lesson 1 Overview Metadata Taxonomy Site Columns Content Types Managed Properties Navigational Taxonomy Logical Architecture Review Components and Architecture Models Other Planning Topics Secondary Impacts of Taxonomies Content Databases
Metadata Taxonomy at a Glance All Metadata Site Columns* Crawled Properties Site Columns in Content Types Managed Properties** *Site columns that are not yet used for any items are not part of crawled properties. **Managed properties can be configured without any associated crawled properties.
Site Columns Site Columns List A List B
Planning for Site Columns Site columns are column templates Updates to site columns can be propagated to the entities that use them but do so with care! Site columns should be grouped into meaningful categories Use to improve data quality and simplify data entry Planning scopes: Site collection level for intrasite search & data entry Enterprise for intersite search & enterprise data entry * Be careful about renaming OOTB site columns see KB article 923589 for details
Content Types Document Library Content Types
Planning for Content Types Content types are composed of site columns Content types are independent of file type Plan for workflows to associate business processes with specific content types Site columns should be grouped into meaningful categories Planning scopes: Site collection level for intrasite search, data entry, and business processes Enterprise for intersite search and enterprise data entry & business processes
DEMO Metadata Taxonomy: Site Columns & Content Types
Managed Properties Crawled Property Metadata associated with an item of content. Content items from different content sources have different property names for the same properties. Managed Property A single property with a one to many relationship with many crawled properties. Enables improved search and metadata control.
Implementing Managed Properties Managed Property Customer Managed Properties Used In: Scope definitions Advanced Search Web part Property filter query syntax author:luis Custom SQL queries Results display Crawled Property Client (SharePoint) Cust (BDC) Customer (Word)
DEMO Metadata Taxonomy: Managed Properties
Metadata Taxonomy Planning Summary Element Scope(s) Planning Questions Site Column Content Type Site Site Collection Web Application* Farm* Site Site Collection Web Application* Farm* Who is the information aimed at? What type of data do users work with? Can users already find the information they require? How do users work with content? What document types do your users deal with? What site columns have you defined for user content? How will your users locate content? Managed Property (MOSS ONLY) SSP What content sources are available to users? How does content from one source relate to content from another? Will there be a benefit to the user if you create a managed property? *Requires use of Features (Lesson 2)
SharePoint Containment Hierarchy Farm Servers Web Front End, Application (Index, Excel, Query, etc.), SQL Web Applications Central Admin, SSP Admin, Content (with Zones & Managed Paths, associated with SSP) Databases Content, Config, SSP, Search, SSO Site Collections Publishing, Intranet Portal, Team, Records Center, MySite, etc. Sites Wikis, Blogs, Team, Doc, Mtg, etc. Lists Doc Lib, Pages, Events, Discussions, Surveys, etc. Items Folders, Documents, List Items, Other Files, Calendar Items, Images, etc.
SharePoint Isolation and Scalability
SharePoint Intranet Information Architecture Model Corporate Business Taxonomy With Divisional Stakeholders Ad Hoc Self Service w/ Life Cycle Management Central Portal Divisional Portals Groups & Teams Projects & Workspaces Permanent Central Portal Enterprise Search Enterprise Browse Permanent Division Portals Business Process Management Division News Group Reporting & Scorecards Semi Structured Group, Team, Project Sites and Workspaces Per User Personal Sites Blogs, bios, Social networking
Managed Paths & Site Directories Managed Paths Wildcard Many site collections Explicit One site collection Site Directories Cross-site and site collection navigation! Ordinary Site Directories Sites list & site categories Site navigation pages Connection between site creation and sites list Ad-hoc links to sites Master Site Directory Connection between site collection creation and sites list Keep sites lists up-to-date with Site Directory Links Scan
Examples: Secondary Impacts of Taxonomies Metadata Taxonomy Impacts on Browsing List & Library Views Content Query Web Parts Audience Targeting Navigational Taxonomy Impacts on Search URL Matching Hyperlink text URL Depth Click distance
Content Database Planning Considerations Setup considerations Who will create them? Naming conventions Physical considerations Plan for software boundaries Plan for backup/restore SLAs Content-specific considerations Dedicated content DBs
Content Database Configuration Database Administrator (DBA) Checklist Configure the database surface area Create a database with a collation of LATIN1_General_CI_AS_KS_WS Set the database owner to be the setup user account Add the application pool account to the Users group and assign roles stsadm o extendvs url <URL> - donotcreatesite exclusivelyusentlm databaseserver <Server Name> -databasename <Database Name> -apidtype configurableid description <IIS Website Name> -apidname <Application Pool Name> -apidlogin <Domain\Username> -apidpwd <Password>
Lesson 2: Solution Architecture Feature Architecture Installing and Uninstalling Features Activating and Deactivating Features Site Definitions Site Templates Solutions and Deployment
Feature Architecture Feature Scopes Feature Scopes Dependencies Installing Feature Receivers and Uninstalling Features Installing Feature Stapling and Uninstalling Features Installing Hidden Features and Uninstalling Features
Installing and Uninstalling Features stsadm o installfeature filename <Feature xml path> stsadm o uninstallfeature filename <Feature xml path> -force
Activating and Deactivating Features stsadm o activatefeature name <Feature name> -url <site> stsadm o deactivatefeature name <Feature name> -url <site> When activating a feature via STSADM, check the logs to confirm successful deployment. See http://support.microsoft.com/kb/936913 for details.
DEMO Feature Architecture and Deployment
Site Definitions Custom WEBTEMP entry <Template Name="MySiteDefinition" ID="1091"> <Configuration ID="0" Title="My Custom Site Definition" Hidden="FALSE" ImageUrl="/_layouts/images/stsprev.png" Description="A custom site for teams" DisplayCategory="Collaboration" > </Configuration> </Template>
DEMO Creating and deploying custom site definitions
Site Templates Site Definition Customization List of changes Site Template
DEMO Creating and deploying custom site templates
Solutions and Deployment Solution Features
Solution Deployment Cycle 1. Install (Server Administrator) 2. Deploy (Farm Administrator) 3. Synchronize (Server Administrator - optional) Used when adding or restoring servers 4. Retract (Farm Administrator) 5. Delete (Farm Administrator)
DEMO Solution Architecture and Deployment
Design Considerations Scoping Site Definitions are scoped at the Farm level only Site Templates can only be scoped at the site, web, and farm level (unless you use a feature to install them) Modifications Features can be used to customize existing sites Changes to site definitions cannot extend existing sites (though these changes may break them) Changes to site definitions may break existing site templates
Design Considerations (continued) Inheritance and deployment Site templates can be deleted without consequence Site definitions should not be deleted (though they can be hidden) Features can be deactivated and uninstalled Site templates can be deployed ad-hoc by site owners Some features can be activated and deactivated by site owners and site collection administrators
Review Information Architecture Metadata Taxonomy Navigational Taxonomy Logical Architecture Solution Architecture Features Solutions Site Definitions Site Templates
Recommended References Information Architecture Microsoft Office SharePoint Server 2007 Administrator s Companion, Ch. 8, by Bill English and The Microsoft SharePoint Community Experts Microsoft SharePoint Products and Technologies Resource Kit, Chapter 8, by Bill English and Microsoft SharePoint Team Information Architecture for the World Wide Web: Designing Large-Scale Web Sites by Louis Rosenfeld and Peter Morville Unlocking Knowledge Assets by Susan Conway and Char Sligar Boxes And Arrows (Information Architecture Design site): http://www.boxesandarrows.com/ Plan for software boundaries: http://technet2.microsoft.com/office/en-us/library/6a13cd9f-4b44-40d6-85aac70a8e5c34fe1033.mspx?mfr=true SharePoint Governance Checklist Guide: http://go.microsoft.com/fwlink/?linkid=91896&clcid=0x409 Solutions, Features, Site Definitions, and Site Templates WSPBuilder: http://www.codeplex.com/wspbuilder WSS 3.0 Application Templates: http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx Working with Templates and Definitions: http://msdn2.microsoft.com/en-us/library/ms434313.aspx How to increase the size of a Site Template beyond 10MB: http://blogs.msdn.com/joelo/archive/2007/03/15/youlearn-something-new-every-day-site-template-limit.aspx