Windows SharePoint Services 'v3': Creating And Defining Custom Templates, Sites, Features, And Solutions Mike Ammerlaan OFF308 Program Manager Microsoft Corporation
Office “12” : Server Investments Better empowerment, TCO and developer productivity Next generation , project management, workflow, blog and wiki support Collaboration BusinessIntelligence Portal Enhanced SharePoint Portal aggregation and personalization Great relevance with rich people and business data search Server-based forms and workflow with smart client and browser interfaces Server-based spreadsheets plus BI portals built on SQL Server Analysis Services Integrated document, records and Web content management Business Processes Unified ASP.NET 2.0 workspace foundation for scalability and extensibility Search ContentManagement Windows SharePoint Services Site Provisioning, Storage, Security, Management, APIs
Agenda Goals and Investments for Windows SharePoint Services (WSS) “v3” Feature Framework Provisioning Callouts Extending the User Interface Solution Deployment Upgrade and Localization
What Is Provisioning? Core component of the SharePoint Services platform Lets users choose their own template Defines your web application Two forms Site Templates (*.stp files) Typically user created Site Definitions Developer created, stored on web server file system
… …. … xml\onet.xml lists\ \schema.xml default.aspx lists\ \ dispform.aspx lists\ \ editform.aspx lists\ \ newform.aspx Site Definitions In Version 2 stdview.xml vwstyles.xml lists\ \ allitems.aspx
Goals For “v3” Accommodate partners Add functionality to existing sites Easier to develop Less XML to create site templates Less duplication Easier to change site functions over time Administrators can add or remove functionality
Investments For “v3” What’s new for provisioning and sites? The Global Template Commonalities factored out Features Modularity for your templates “Light Up” Add functionality to your existing sites Solutions Better deployment
The “Global” Template Provisioned before any other template Contains Gallery definitions Base types Mobile redirect Implication: you don’t need to define these
Agenda Goals and Investments for “v3” Feature Framework Provisioning Callouts Extending the User Interface Solution Deployment Localization and Upgrade
The Feature Framework Group logical elements into scenario- driven “features” “Specification Library” Feature Features scoped at web, site, web application, farm Better living through modular provisioning
Item Custom Actions Site Settings Links Admin Custom Actions Site Settings Links Site Web Part Definitions Workflow Definitions Site Content Types Files [provisioned to root web] List Instances [provisioned to root web] List Definition + Forms + Views List Instances List Item Events Item Custom Actions Web Admin Custom Actions Files Site Elements Farm Elements Web Elements Web Application Elements
Adding Features To Sites User Interfaces Administrator can “activate” UI, Command Line Hidden vs. Visible Features Activation Dependencies Feature/site template bindings
Knowledge Base List Knowledge Base Library List Views Knowledge Base Templates Link to Page Knowledge Base Dashboard Knowledge Base Library SPWeb Feature Most Popular Topics Web Part Knowledge Base Infrastructure SPSite Feature Knowledge Base Content Type & Column Templates Root List for Knowledge Base Templates Activation Dependency
Specification Library Product Bug Tracking Software Release Placemat Features On instantiation, create A Document Library called “Misc Docs” A Specification Library called “Project Specifications” A Specification Library called “Developer Documents” A Web Part Page Library called “Prototypes” A task list called “Bugs” Document Library Tasks Project Management Custom look and feel (a custom.aspx) Custom look and feel (a custom.aspx) Bugs list up top Bugs list up top Spec Status in middle Spec Status in middle Project Status KPI on the right Project Status KPI on the right Page layout WSS Feature ISV Feature key Developed by IT Software Project Team Site Knowledge Base Library
Team Collaboration Contacts Hidden FeatureVisible Feature Web Features Site Features Document Libraries Picture Libraries Basic Web Parts Events Basic List Links Announce- ments Tasks Surveys Discussion Boards WSS Core Links Farm Features Core Content Types Content Lightup Core Column Templates Out Of The Box Features/Template Architecture
Version 2 document templates navigation bars base types modules list instances standard views view styles default.aspx views forms fields editform.aspx allitems.aspx views forms fields editform.aspx allitems.aspx views forms fields editform.aspx allitems.aspx views forms fields editform.aspx allitems.aspx views forms fields editform.aspx allitems.aspx ONET.XML VWSTYLES.XML STDVIEW.XML SCHEMA.XML navigation bars modules list instances standard views view styles default.aspx ONET.XML feature references Version 3
Feature Provisioning
Agenda Goals and Investments for “v3” Feature Framework Provisioning Callouts Extending the User Interface Solution Deployment Localization and Upgrade
Provisioning Callouts Web Template Callout Per-Feature Callouts FeatureInstalledFeatureUninstalledFeatureActivated Post sync feature activation event on web FeatureDeactivating Pre sync feature deactivation event on web
Provisioning Callouts
Agenda Goals and Investments for “v3” Feature Framework Provisioning Callouts Extending the User Interface Solution Deployment Localization and Upgrade
Extending The User Interface Extensible Toolbars, Menus, Settings Pages Link to pages Can use ASP.NET controls on toolbars Associate by List type Content type File Type
Content Type Settings Site Settings Central Admin
Display Form ToolBar View ToolBar Welcome Menu Site Actions “ECB”
“Light Up” Of Features In SharePoint Sites
Agenda Goals and Investments for “v3” Feature Framework Provisioning Callouts Extending the User Interface Solution Deployment Localization and Upgrade
Solution Deployment Extension of Web Part Packages CAB file with manifest Support more solution file types Feature definitions Site definitions Template Pages & Resources Resources Global, Bin assemblies Deploy across the farm
Specification Owner Fields Specification Dashboard Specification List Type Specification Library Element Definition Feature Definition key: Specification Views Specification Infrastructure Specification Content Type SpecLibrary.wsp WSP Cab Specification Review Site Site Template Specification Status Field
Solution And Template Deployment SpecV1.wsp (WSS Solution Cab) Debugging WSS Save as Template WSS Config DB FE Servers UI, Command Line, OM “deploy” command WSS Content DB “Notepad” + MakeCab WSS Site Template/List UI (port 80) add delete deploy retract
Solution Deployment
Solutions And Assemblies Deploy to VS Bin directory/GAC Security Only trusted solutions should be deployed by box admin Prefer \bin directory to GAC Restricted to signed solutions on production boxes? Complete access to WSS OM Code can impersonate other users Possible mitigation of access via CAS
Deployment Techniques Solutions Small-large projects, internal projects Hybrid approach MSIs that contain solution packages Added and deployed via custom action, or via separate approach EULA install for ISVs Full MSI Call InstallFeatures or ScanForFeatures
Agenda Goals and Investments for “v3” Feature Framework Provisioning Callouts Extending the User Interface Solution Deployment Localization and Upgrade
Localization Feature Localization Any XML file in a feature or site definition can be tokenized Resources for.net assemblies can be selected based on language Each solution can have “language packs” Sets of XML resource files, resource binaries
Upgrade Version 2 site definitions -> Version 3 via “upgrade definitions” File mappings List mappings New feature listings
Recap Better provisioning support Less XML for templates Better modularization Better extensibility support Add links, items Solutions for deploying your items Globalization Support Upgrade from V2
Related Sessions, Labs, etc. OFF409 Windows SharePoint Services: Advancements in Document, Content, and Data Storage OFF415 Windows SharePoint Services: Developing Custom Workflows OFF313 Web Content Management Application Development and Engine Extensibility OFFHOL14 ASP.NET 2.0 Interoperability with Windows SharePoint Services “v3” Office System/SharePoint Services Track Lounge
Community Resources SharePoint Products and Technologies on MSDN SharePoint Products and Technologies on GotDotNet Links to blogs, newsgroups, etc.
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.