SharePoint Deployment
Mirjam van OlstTechnology Consultant Information Worker Solutions
Introduction: Introduction: Deployment in MOSS 2007Deployment in MOSS 2007
Agenda
• Content Deployment• Content Migration API• Site Definitions• Features• Feature Stapling• Solution Deployment• Forms Deployment
3
Content DeploymentContent Deployment
InternetProduction
FarmAuthoring Farm
Content Deployment
Web Front End
DBServer
`
Approvers
Authors
`
`
`
Approval Workflow
`
Web Designer
Word Authoring
Web-based Authoring
Master PagePage Layout
NLB
Web Front End
InternetContent
DeploymentRequests
Content Deployment
• Paths and jobs– Paths connect source and destination site collections– Jobs control what content is copied when– One direction (source → destination)
• Incremental by default– Incremental takes changes since last successful deployment
• Configured by central administrator– Can delegate to authors using the Quick Deploy job
• Content fix-up– Links are fixed-up and are relative to the production site – All security trimming happens on the destination
• Latest major, minor version items copied to production
Content Deployment
• MOSS 2007 necessary for content deployment features• Source and destination systems must be connected
Content Deployment
Content Migration API
• New in SharePoint 2007• Part of Wss3• Surfaced in STSADM: export and import cmds• Basis for MOSS 2007 Content Deployment
– Content Deployment paths and jobs (Central Admin)– Used especially in WCM for content deployment
Content Migration API
• Powerful API, but…– Version 1.0 (has some glitches)– Was poorly documented, more info is surfacing in docs and
blogs• Exports to file system
– Content migration package (.cmp = renamed CAB) filewell defined schema
– All XML + .dat files for actual data files (pages, pictures, documents, …)
– Deployment between disconnected systems
Content Migration API
STSADM export/import can handle only complete sites
Use custom code for:• “cherry picking”:
– Site Collection, Site, List, Folder, Item– Include/exclude dependencies: content types, masterpages, css
files, images, attachments• Exported content retaining object identity
– To identify objects to update in selective migration scenario’s– Supports export of complex web part configurations with list id’s
• Incremental exports, based on change token
Content Migration API
Scenario’s• Application deployment• Content deployment• Reparenting objects
Some restrictions• No deployment of file system based objects like features• No deployment of workflows• Content types can’t be “cherry-picked”
Content Migration objects• SPImport, SPImportSettings, SPExport, SPExportSettings
Content Migration API
14
Site DefinitionsSite Definitions
What is a Site Definition?
Defines a unique type of SharePoint site
viewsviews
formsforms
fieldsfields
editform.aspxeditform.aspxallitems.aspxallitems.aspx
SCHEMA.XML (per list)
navigation bars
modules
list instances
standard views
default.aspx
feature references
ONET.XML
configurations
WEBTEMP.XML
Example Configurations:Basic Meeting WorkspaceBlank Meeting WorkspaceDecision Meeting WorkspaceSocial Meeting Workspace
Located:12\Template\1033\XML
Located:12\Template\SiteTemplates\HelpDesk\XML
Located:12\Template\Features\AnnouncementsList\Announce
12\Template\Features\HelpDeskList\HelpDesk
viewsviews
formsforms
fieldsfields
editform.aspxeditform.aspxallitems.aspxallitems.aspx
viewsviews
formsforms
fieldsfields
editform.aspxeditform.aspxallitems.aspxallitems.aspx
viewsviews
formsforms
fieldsfields
editform.aspxeditform.aspxallitems.aspxallitems.aspx
viewsviews
formsforms
fieldsfields
editform.aspxeditform.aspxallitems.aspxallitems.aspx
Site Definitions
• Opgeslagen in SiteTemplates folder op alle front-end Web servers
• Verzameling XML files (CAML) en ASPX pagina’s die gebruikt worden als helper files
• Basis schema definitions en helper files staan in de Global folder
• Site definitions localization met behulp van resource files in de Resource folder
Site Definitions en Templates
• Site Definitions– Basis beschrijving van de site– Geïnstalleerd op web front ends– Gemaakt door een developer
• Site Template– CAB package met verschillen ten opzichte van site definition– Opgeslagen in content database (Site Template Gallery)– Gegenereerd door een administrator
Site Definitions
FeaturesFeatures
Feature Model in WSS
• Features zijn overal• Features zijn herbruikbare modulaire
bouwstenen• Features kunnen ook bestaande sites uitbreiden• Features zijn eenvoudig te activeren en
deactiveren
CoreContent Types
CoreContent Types
WSS Core LinksWSS Core Links
Core Column Templates
Core Column Templates
Document Libraries
PictureLibraries
DiscussionBoards
SiteCollectionFeatures
SiteCollectionFeatures
FarmFeatures
FarmFeatures
WebFeatures
WebFeatures
Team Collaboration
Team Collaboration
Contacts
Hidden FeatureHidden FeatureVisible FeatureVisible Feature
Events
Basic List Links
Announce-ments Tasks
Surveys
ContentLightup
ContentLightup
WSS Out-Of-The-Box Features
Basic
Web Parts
Basic
Web Parts
Wat is een Feature?
Feature.xml definieert de metadata van de feature
Andere XML bestanden genaamd “element manifest files”definieren wat de functie van de feature is:- Event handlers- Lijst en library definities- Custom workflows- Light-up van de SharePoint UI- Administratieve activiteiten
Feature Scopes
Site Settings LinksSite Web Part DefinitionsWorkflow DefinitionsSite Content TypesLayout FilesList Instances
List Definition + Forms + ViewsList InstancesList Item EventsItem Custom ActionsWeb Admin Custom ActionsLayout Files
Item Custom ActionsSite Settings LinksAdmin Custom Actions
Item Custom ActionsSite Settings LinksAdmin Custom Actions
Feature Lifecycle
Feature (de)activation
• User Interface “activate” or “deactivate”
Feature StaplingFeature Stapling
• Functionaliteit toevoegen aan site definitions• Kan gebruikt worden voor out of the box site
definitions• Niet nodig om de site definitions aan te passen• Staple zoveel features als je wilt aan een site
definition• TIP: staple aan de GLOBAL site definition• NOTE: je kunt niet staplen aan de blank site
Feature Stapling
Features & Feature Stapling
Solution DeploymentSolution Deployment
Solution Deployment
• Hoe deploy je de features, site definitions en web parts op je SharePoint server?
• Ouderwetse Methode:– Met de hand de files naar het file systeem kopieren– web.config entries toevoegen voor alle assemblies– IIS reset– En dat herhalen op elke web front end server!
Nieuwe Methode: Solution Deployment!
Solution Deployment
• Developer verpakt een custom oplossing in een solution• Deployment via Central Administration of stsadm:
– Files worden naar alle web front end servers gekopieerd– Kan ook deployen naar application servers
• Solutions kunnen bestaan uit:– Feature definitions– Site definitions– Template Pages & Resources– Web Parts– Resources– Global, Bin assemblies
Solution Deployment Security
• Assembly deployment opties– Bin is veiliger (WSS_Minimal)– GAC geeft de assembly full trust
• Developer geeft de deployment locatie voor assemblies in een solution aan in manifest file
• Assemblies voor bepaalde functies MOETEN in de GAC gedeployed worden (Eventhandlers)
Solution Deployment
HelpDesk.wsp(WSS Solution Cab)
HelpDesk.wsp(WSS Solution Cab)
Feature ManifestsFeature Manifests
WSS Config
DB
WSS Config
DB
UI, CommandLine, OM“deploy”command
adddelete
deployretract
Template FilesTemplate Files
AssembliesAssemblies
Web Front End ServersWeb Front End Servers
NewNewWFEWFE
Solution Deployment
• Solution Informatie– Status– Lang pack?– Deployed?
• Scheduled Deployment• Solution kan gedeployed
worden naar de GAC en naar de bin– Waarschuwt admin bij
GAC install– Admin kan een
specifieke Web Application kiezen
Solution Deployment
Forms DeploymentForms Deployment
WSS
Publishing, Opening, And Filling In Forms
Rendering Validation
Execute calculationsExecute rules
Editing actions
ValidationExecute calculationsExecute rulesEditing actions(All using script)
DownloadXSN, XML
Publish XSN
Download script anddata array
Office “12” servers
XSN
ASPX
Replay event log
XSN, XML loadedBusiness logic
execution
XSN, XML loadedBusiness logic
execution
For
ms
Cap
abili
ties
Generate and render HTML (using script)
Return updated data array
Generate
InfoPath Client Browser
Postback event log via XMLHTTP
InfoPath Designer
Take offline as needed
Web Service Server
WSS
Office “12” servers
XSN
ASPX
XSN, XML loadedBusiness logic
execution
For
ms
Cap
abili
ties
Submitting Forms
Postback event log via XMLHTTP
Submit
BrowserInfoPath Client
Submit
XSN, XML loadedBusiness logic
execution
Design Once OverviewOne form for smart client and browser
• Shared– Controls– Business Logic– Data Connections– Digital Signatures– Managed Code Object Model
• Design Checker: Smart Client-only features– Some controls– Filters, Roles, ADO Adapter– Script, Custom Task Panes
• Smart Invocation– Open in smart client, if available.
- Links in document libraries, Web pages, email, etc.– Special URL parameters to force opening in browser
Design Once With Code
• Design code once– Use new managed OM (CLR 2.0)– System.Xml. (No more MSXML)
• Smart client – Code runs in client – Data connections called from client
• Browser– Code runs on server – Data connections called from server– Conditional formatting, validation, rules, calculations:
– all run in browser (Ajax)
• Out-of-band postback– Used for code, or for action that must run on server– Can control when postback happens
Two Types Of Form Deployment
1. Simple publishing by end users– Publish directly from InfoPath to SharePoint
• as document library • or create Site Content Type
(for use in multiple doc libs)– Form templates must be:
• Without code• Domain trust• Data connections using Data Connection Library
Two Types Of Form Deployment
2. Upload to server by administrator– Publish from InfoPath ready for upload to Office
Server– Administrator then uploads via central
administration site, or command line– Form can then be activated to any
Site Collection– Supports forms with
• Code• Data Connections managed by administrator• Full trust• Mobile
Server Administration
• Server administrator is the gatekeeper of forms with code:– Controls the form lifecycle
• Upgrade forms with no down-time• Gracefully retire forms with quiescing
– Makes forms available to site collections• Any form template can be used in multiple places across
the server • Site content type for each form template• Improved library integration and sharing
– Uses standard WSS administration tools:• Central admin site, command line, and object model
Forms Deployment
45
VRAGEN?VRAGEN?
Macaw Beechavenue 140 1119 PR Schiphol-Rijk Tel +31 (0)20 8 510 510 Fax +31 (0)20 8 510 511