390 likes | 601 Views
Windows SharePoint Services 'v3': Creating And Defining Custom Templates, Sites, Features, And Solutions. Mike Ammerlaan OFF308 Program Manager Microsoft Corporation. Business Intelligence. Collaboration. Business Processes. Portal. Content Management. Search.
E N D
Windows SharePoint Services 'v3': Creating And Defining Custom Templates, Sites, Features, And Solutions Mike Ammerlaan OFF308 Program Manager Microsoft Corporation
Business Intelligence Collaboration BusinessProcesses Portal Content Management Search Office “12” : Server InvestmentsBetter empowerment, TCO and developer productivity Server-based spreadsheets plus BI portals built on SQL Server Analysis Services Next generation e-mail, project management, workflow, blog and wiki support Windows SharePoint Services Server-based forms and workflow with smart client and browser interfaces Enhanced SharePoint Portal aggregation and personalization Site Provisioning, Storage, Security, Management, APIs Integrated document, records and Web content management Great relevance with rich people and business data search Unified ASP.NET 2.0 workspace foundation for scalability and extensibility
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
Site Definitions In Version 2 <List><MetaData> <Fields><Field></Field><Fields> <Views><View></View></Views> <Forms><Form></Form></Forms> <Toolbar></Toolbar></MetaData> <Data><Rows><Row></Row></Rows></Data> </List> <Project> <NavBars>…<NavBars> <ListTemplates>…</ListTemplates> <DocumentTemplates>…</DocumentTemplates> <BaseTypes>….</BaseTypes> <Modules>… </Modules> <Configurations>…</Configurations> </Project> xml\onet.xml stdview.xml vwstyles.xml lists\<listname>\schema.xml default.aspx lists\<listname>\ dispform.aspx lists\<listname>\ editform.aspx lists\<listname>\ newform.aspx lists\<listname>\ 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
Farm Elements Web Application Elements Item Custom ActionsSite Settings LinksAdmin Custom Actions Item Custom ActionsSite Settings LinksAdmin Custom Actions Web Elements Site Elements List Definition + Forms + ViewsList InstancesList Item EventsItem Custom ActionsWeb Admin Custom ActionsFiles Site Settings LinksSite Web Part DefinitionsWorkflow DefinitionsSite Content TypesFiles [provisioned to root web]List Instances [provisioned to root web]
Adding Features To Sites • User Interfaces • Administrator can “activate” • UI, Command Line • Hidden vs. Visible Features • Activation Dependencies • Feature/site template bindings
Knowledge Base Content Type & Column Templates Knowledge Base Templates Link to Page Knowledge BaseInfrastructure SPSite Feature Most Popular Topics Web Part Root List for Knowledge Base Templates Activation Dependency Knowledge Base List Knowledge BaseLibrarySPWeb Feature Knowledge Base Library List Views Knowledge Base Dashboard
Software Project Team Site On instantiation, create Features 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” Knowledge Base Library Specification Library Product Bug Tracking Software Release Placemat Document Library Tasks Page layout Project Management • Custom look and feel (a custom .aspx) • Bugs list up top • Spec Status in middle • Project Status KPI on the right key WSS Feature ISV Feature Developed by IT
Out Of The Box Features/Template Architecture Farm Features ContentLightup WSS Core Links Site Features Core Content Types Core Column Templates Basic Web Parts Web Features Team Collaboration Document Libraries PictureLibraries Basic List Links Announce-ments Tasks Contacts Events Surveys DiscussionBoards Visible Feature Hidden Feature
fields fields fields fields fields views views views views views forms forms forms forms forms editform.aspx editform.aspx editform.aspx editform.aspx editform.aspx allitems.aspx allitems.aspx allitems.aspx allitems.aspx allitems.aspx Version 2 Version 3 document templates navigation bars navigation bars ONET.XML SCHEMA.XML modules ONET.XML base types list instances feature references modules standard views list instances view styles default.aspx standard views view styles default.aspx VWSTYLES.XMLSTDVIEW.XML
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 • FeatureInstalled • FeatureUninstalled • FeatureActivated • Post sync feature activation event on web • FeatureDeactivating • Pre sync feature deactivation event on web
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
Central Admin Site Settings Content Type Settings
Site Actions Display Form ToolBar View ToolBar Welcome Menu “ECB”
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 Status Field Specification Owner Fields Specification Infrastructure Specification Content Type Specification Dashboard SpecLibrary.wsp Specification List Type Specification Library Specification Views SpecificationReview Site key: Element Definition Feature Definition WSP Cab Site Template
Solution And Template Deployment FE Servers UI, Command Line, OM “deploy” command deploy retract Debugging add SpecV1.wsp(WSS Solution Cab) “Notepad”+ MakeCab WSS Config DB delete WSS Save as Template WSS Site Template/List UI (port 80) WSS Content DB
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. • OFF409Windows SharePoint Services: Advancements in Document, Content, and Data Storage • OFF415Windows SharePoint Services: Developing Custom Workflows • OFF313Web 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 MSDNhttp://msdn.microsoft.com/sharepoint • SharePoint Products and Technologies on GotDotNethttp://gotdotnet.com/team/sharepoint • 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.