39

OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Embed Size (px)

Citation preview

Page 1: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,
Page 2: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

OFC308Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites

OFC308Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint SitesTodd C. Bleeker, PhD.Todd C. Bleeker, PhD.CTOCTOMindsharpMindsharp

Page 3: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

AgendaAgenda

Provisioning OverviewProvisioning Overview

Site DefinitionsSite Definitions

Modular ProvisioningModular Provisioning

Solution DeploymentSolution Deployment

V2 Upgrade and LocalizationV2 Upgrade and Localization

DemosDemos

Page 4: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

What Is Provisioning?What Is Provisioning?

Core component of the Microsoft Core component of the Microsoft SharePoint platformSharePoint platform

Users choose site definitionUsers choose site definition

Site definition defines your web applicationSite definition defines your web application

Site DefinitionSite Definition Web SiteWeb SiteInstancesInstances

ProvisioningProvisioning

Team Site, Team Site, Meetings Meetings Workspace, Workspace, Help DeskHelp Desk

Instance of a Instance of a Team Site with Team Site with features, lists, features, lists, web parts, viewsweb parts, views

Page 5: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Site ProvisioningSite Provisioning

Template Picker is now embedded in the Template Picker is now embedded in the Site Creation PageSite Creation Page

It is now tabbed but still extensibleIt is now tabbed but still extensible

Page 6: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

What is a Site Definition?What is a Site Definition?

Defines a unique type of SharePoint siteDefines a unique type of SharePoint site

Starts with: WEBTEMP.XMLStarts with: WEBTEMP.XML

Example Configurations:Example Configurations:Basic Meeting WorkspaceBasic Meeting Workspace

Blank Meeting WorkspaceBlank Meeting Workspace

Decision Meeting WorkspaceDecision Meeting Workspace

Social Meeting WorkspaceSocial Meeting Workspace

Located in the 12 Hive:Located in the 12 Hive:..\12\Template\1033\XML..\12\Template\1033\XML

configurations

Page 7: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

What is a Site Definition?What is a Site Definition?

Office.NET (ONET) forms the core definition Office.NET (ONET) forms the core definition

for a SharePoint sitefor a SharePoint site

ONET.XMLONET.XMLnavigation bars

list templatesdocument templates

configurations

features

modules

Also in the 12 Hive:Also in the 12 Hive:..\12\Template..\12\Template\SiteTemplates\SiteTemplates\[templatename]\\[templatename]\

XMLXML

Page 8: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

What is a Site Definition?What is a Site Definition?

Each list is defined with its own schemaEach list is defined with its own schema

SCHEMA.XMLSCHEMA.XML

content types

fields

views

forms

toolbars

Also in the 12 Hive:Also in the 12 Hive:..\12\Template..\12\Template\Features\Features\[featureList]\[featureList]\[listname]\[listname]

Page 9: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Modular Provisioning: Features!Modular Provisioning: Features!

Reusable pieces of customizationReusable pieces of customization

Extend existing sitesExtend existing sites

Easily installed/activatedEasily installed/activated

Feature NameID

DescriptionScope

Receiver assemblyActivation

Dependencies

Feature.xmlCustom ActionsCustom ViewsContent Type

DefinitionsLayouts PagesModules (files)List InstancesList Templates

Event ReceiversDelegate ControlsWorkflow Bindings

Elements.xml

Element Manifests

Page 10: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Feature ScopesFeature Scopes

Site Settings LinksSite Settings LinksWeb Part DefinitionsWeb Part DefinitionsWorkflow DefinitionsWorkflow DefinitionsSite Content TypesSite Content TypesLayout FilesLayout FilesList InstancesList Instances

List DefinitionList DefinitionList FormsList FormsList ViewsList ViewsList InstancesList InstancesList Item EventsList Item EventsItem Custom ActionsItem Custom ActionsWeb Admin Custom ActionsWeb Admin Custom ActionsLayout FilesLayout Files

Farm Elements

Web ApplicationElements

Site CollectionElements

Web Elements

Item Custom ActionsItem Custom ActionsSite Settings LinksSite Settings LinksAdmin Custom ActionsAdmin Custom Actions

Item Custom ActionsItem Custom ActionsSite Settings LinksSite Settings LinksAdmin Custom ActionsAdmin Custom Actions

Page 11: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

SiteCollectionFeatures

FarmFeatures

WebFeatures

Team Collaboration

Contacts

Hidden FeaturesVisible Features

DocumentLibraries

PictureLibraries

Events

Basic List Links

Announce-ments

Tasks

SurveyDiscussion

Board

WSSCore Links

CoreContent Types

ContentLight Up

Core ColumnTemplates

WSS Out-of-the-Box FeaturesWSS Out-of-the-Box Features

BasicWeb Parts

Page 12: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Adding Features To Sites (UI)Adding Features To Sites (UI)

User Interface or Command LineUser Interface or Command LineAdministrator can “activate”Administrator can “activate”

Hidden vs. Visible FeaturesHidden vs. Visible Features

Page 13: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Todd BleekerTodd BleekerUI "Hello World" FeatureUI "Hello World" Feature

Page 14: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Adding Features to SitesAdding Features to Sites

Activation DependenciesActivation DependenciesExample: Activate Announcements List when Example: Activate Announcements List when you activate WSS Team Collaboration Featureyou activate WSS Team Collaboration Feature

Site Definition BindingsSite Definition BindingsExample: Activate WSS Team Collaboration Example: Activate WSS Team Collaboration Feature when a user creates a new Team SiteFeature when a user creates a new Team Site

Add <WebFeatures> tag in ONET.xmlAdd <WebFeatures> tag in ONET.xml

Page 15: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Building a Solution Building a Solution HelpdeskHelpdesk

System for managing incoming support System for managing incoming support calls and dealing with service requestscalls and dealing with service requests

ConceptsConceptsGlobal Customers ListGlobal Customers List

Service RequestsService Requests

Incoming Call HandlingIncoming Call Handling

Page 16: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Help Desk Master Page

Calls List

Company-wide Customer List

Service Request List

Help DeskSPWeb Feature

“Customer” Content Type

& Column Templates

Company Navigation StructureActivation

Dependency

HelpDesk FeaturesHelpDesk Features

Custom Validation (Events)

CustomersSPSite

Feature

Page 17: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

SPWebHelp Desk Lists

NavBars.aspx PagesList Instances

Features

WSS FeaturesDocument Library

Help Desk Site ProvisioningHelp Desk Site ProvisioningSite DefinitionSite Definition

List InstancesList InstancesCalls ListCalls List

Customer ListCustomer List

Support ArticlesSupport Articles (based on WSS (based on WSS Document Library Document Library Feature) Feature)

Feature StaplingFeature StaplingCustomer FeatureCustomer Feature

Calls FeatureCalls Feature

ServiceRequest ServiceRequest FeatureFeature

SPSiteGlobal Customer List

Page 18: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Todd BleekerTodd BleekerCreating FeaturesCreating Features

Page 19: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Provisioning CalloutsProvisioning Callouts

Some things cannot be defined Some things cannot be defined declarativelydeclaratively

Examples:Examples:Adding navigation nodesAdding navigation nodes

Changing contentChanging content

Master pagesMaster pages

For these type of things there are calloutsFor these type of things there are callouts

Page 20: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Provisioning CalloutsProvisioning Callouts

Site Definition CalloutSite Definition Callout

Per-Feature CalloutsPer-Feature CalloutsFeatureInstalledFeatureInstalled

FeatureUninstalledFeatureUninstalled

FeatureActivatedFeatureActivatedPost sync feature activation event on webPost sync feature activation event on web

FeatureDeactivatingFeatureDeactivatingPre sync feature deactivation event on webPre sync feature deactivation event on web

Also: ExecuteUrl custom web page, Also: ExecuteUrl custom web page, NewList, EditList pages for listsNewList, EditList pages for lists

Page 21: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Todd BleekerTodd BleekerProvisioning CalloutsProvisioning Callouts

Page 22: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Extending the User InterfaceExtending the User Interface

Extensible Toolbars, Menus, Settings PagesExtensible Toolbars, Menus, Settings PagesLink to pagesLink to pages

Can use ASP.NET controls on toolbarsCan use ASP.NET controls on toolbars

Associate byAssociate byList typeList type

Content typeContent type

File TypeFile Type

Page 23: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Extending the User InterfaceExtending the User Interface

List Toolbar & List Toolbar & Drop-Down MenusDrop-Down Menus

Site Site SettingsSettings

Page 24: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Extending The User InterfaceExtending The User Interface

Site ActionsSite Actions

Form View ToolbarForm View Toolbar

Page 25: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Todd BleekerTodd BleekerCreating "Hello World" FeatureCreating "Hello World" Feature

Page 26: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Solution DeploymentSolution Deployment

Developer packages a custom web Developer packages a custom web application into a solutionapplication into a solution

Admin deploys to all web front end serversAdmin deploys to all web front end servers

Solutions can contain:Solutions can contain:Feature definitionsFeature definitions

Site definitionsSite definitions

Template Pages & ResourcesTemplate Pages & Resources

ResourcesResources

Global, Bin assembliesGlobal, Bin assemblies

Page 27: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Solution DeploymentSolution Deployment

HelpDesk.wsp(WSS Solution Cab)

Feature Manifests

WSS Config

DB

Web FrontEnd

Servers

UI, CommandLine, OM“deploy”command

adddelete

deployretract

Template FilesAssemblies

Page 28: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Solution Deployment UISolution Deployment UI

Solution InformationSolution InformationStatusStatus

Lang pack?Lang pack?

Deployed?Deployed?

Scheduled Scheduled DeploymentDeployment

Solution deployed Solution deployed to the GAC or the to the GAC or the binbin

Warns admin of Warns admin of GAC installGAC install

Choose particular Choose particular Web ApplicationWeb Application

Page 29: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Todd BleekerTodd BleekerSolution DeploymentSolution Deployment

Page 30: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Code Access SecurityCode Access Security

Developer specifies deployment location Developer specifies deployment location for assemblies in solution packagefor assemblies in solution package

GAC gives assembly full trustGAC gives assembly full trust

Bin is more secure (WSS_Minimal)Bin is more secure (WSS_Minimal)

Solution packages can contain CAS policySolution packages can contain CAS policyDoesn’t require putting assemblies in GACDoesn’t require putting assemblies in GAC

Admins will know exactly what permissions Admins will know exactly what permissions your assembly needsyour assembly needs

Page 31: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Deployment TechniquesDeployment Techniques

SolutionsSolutionsSmall-large projects, internal projectsSmall-large projects, internal projects

Hybrid approachHybrid approachMSIs that contain solution packagesMSIs that contain solution packages

Added and deployed via custom action, Added and deployed via custom action, or via separate approachor via separate approach

EULA install for ISVsEULA install for ISVs

Full MSIFull MSICall InstallFeatures or ScanForFeaturesCall InstallFeatures or ScanForFeatures

Page 32: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

LocalizationLocalization

Feature LocalizationFeature LocalizationAny XML file in a feature or site definition Any XML file in a feature or site definition can be tokenizedcan be tokenized

Resources for .net assemblies can be selected Resources for .net assemblies can be selected based on languagebased on language

Each solution can have “language packs”Each solution can have “language packs”Sets of XML resource files, resource binariesSets of XML resource files, resource binaries

Page 33: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

UpgradeUpgrade

V2 site definitions still work in V3V2 site definitions still work in V3Can’t take advantage of V3 featuresCan’t take advantage of V3 features

Master pages, features, etc.Master pages, features, etc.

““Upgrade Definitions”Upgrade Definitions”Convert V2 site definitions to V3 Convert V2 site definitions to V3

Files and lists mapped to V3 locationsFiles and lists mapped to V3 locations

New feature listingsNew feature listings

Re-entrant: you can gradually upgrade sites Re-entrant: you can gradually upgrade sites one at a timeone at a time

Page 34: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

SummarySummary

Features: Modular provisioningFeatures: Modular provisioning

Extensibility through calloutsExtensibility through callouts

Solutions for deploying across a farmSolutions for deploying across a farm

Globalization SupportGlobalization Support

Upgrade from V2Upgrade from V2

Page 35: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

ResourcesResourcesTechnical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

MSDN & TechNet http://microsoft.com/msdnhttp://microsoft.com/technet

Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx

Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx

Technical Community Siteshttp://www.microsoft.com/communities/default.mspx

User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx

Page 36: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Office System Hands On LabsOffice System Hands On LabsOFC00OFC00

11 Building InfoPath Forms That Run as Both Rich Client and Browser ApplicationsBuilding InfoPath Forms That Run as Both Rich Client and Browser Applications

OFC00OFC0022 Designing Content Driven Web Sites with Office SharePoint Server 2007Designing Content Driven Web Sites with Office SharePoint Server 2007

OFC00OFC0033 What's New in The 2007 Microsoft Office Clients Feature WalkthroughWhat's New in The 2007 Microsoft Office Clients Feature Walkthrough

OFC00OFC0044 What's New in Windows SharePoint Services (version 3): Feature WalkthroughWhat's New in Windows SharePoint Services (version 3): Feature Walkthrough

OFC00OFC0055 People and Permissions in Office SharePoint Server 2007People and Permissions in Office SharePoint Server 2007

OFC00OFC0066 Introducing Content Types for Windows SharePoint Services (version 3)Introducing Content Types for Windows SharePoint Services (version 3)

OFC00OFC0077

Using Microsoft Office Excel 2007 Spreadsheets for Web Service-Based Using Microsoft Office Excel 2007 Spreadsheets for Web Service-Based Calculations Calculations and Browser Renderingand Browser Rendering

OFC00OFC0088 Connecting Groove Workspaces to Enterprise SystemsConnecting Groove Workspaces to Enterprise Systems

OFC00OFC0099

Understanding The 2007 Microsoft Office System User Experience and Interface Understanding The 2007 Microsoft Office System User Experience and Interface DesignDesign

OFC01OFC0100 Creating Workflows for Windows SharePoint Services (version 3)Creating Workflows for Windows SharePoint Services (version 3)

OFC01OFC0111 What's New in Microsoft SharePoint Server 2007: Feature WalkthroughWhat's New in Microsoft SharePoint Server 2007: Feature Walkthrough

OFC01OFC0122

Understanding the Structure and Solution Capabilities of The Microsoft Office Understanding the Structure and Solution Capabilities of The Microsoft Office Open XML FormatsOpen XML Formats

OFC01OFC0133 Creating Structured Document Templates with Microsoft Office Word 2007Creating Structured Document Templates with Microsoft Office Word 2007

Page 37: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

The 2007 Microsoft Office The 2007 Microsoft Office System System Clients. Servers. Clients. Servers. Solutions.Solutions.

Install Beta 2 today! Install Beta 2 today! It’s in your attendee bagIt’s in your attendee bag

Learn more at the Office System TLCLearn more at the Office System TLCDemo Stations / Hands-on-Labs / Chalk-talksDemo Stations / Hands-on-Labs / Chalk-talks

Get more informationGet more informationhttp://www.microsoft.com/office/preview/default.mspxhttp://msdn.microsoft.com/office/

TalkTalk

LabLab

DemoDemo

Page 38: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

Fill out a session Fill out a session evaluation on evaluation on

CommNet andCommNet and Win an XBOX Win an XBOX

360!360!

Page 39: OFC308 Windows SharePoint Services (version 3) Development: Using Feature and Solution Definitions for Constructing Custom SharePoint Sites Todd C. Bleeker,

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.