paul andrew technical product manager microsoft session code: ofc204
TRANSCRIPT
Easy SharePoint Development with VSeWSS 1.3
Paul AndrewTechnical Product ManagerMicrosoftSession Code: OFC204
Agenda
Types of applications to build and tools to use
Demo – build a web part using a data list
Application lifecycle management integration
Overview of best practices
More demos
Types of Applications to BuildCollaborative business applications
Line of Business applicationsSmall intranet applications
One page apps – web part, data list, In the PortalCustomize enterprise SharePoint workloads
PortalCollaborationBusiness ProcessBusiness IntelligenceSearchContent Management
SharePoint public web content management
Solution Development Roles
•Creates content for Content Managed Site
•Modifies SharePoint lists and views
•Adds web parts to pages
Information Worker
•Does site design of HTML and CSS
•Builds simple workflows
•Creates and publishes InfoPath Forms
•Create Data View web parts
Designer or Power User
•Writes new web parts and web services
•Builds custom code for WSP deployment
•Builds complex workflows in code
Professional Development
Coder
ProfessionalDevelopment CoderCustom Coding
Custom web parts
Site definitions
List definitions
Content types
Microsoft Visual Studio
2008Designer or
Power User or
Developer
Create lists and doclibs
Design Web pages
No-code data view/forms
Web part hookup
SharePoint Designer 2007 +
Browser
Collaborative Development
Visual Studio SharePoint ToolsRoadmap SharePoint 2007 and SharePoint 2010
• F5 Deploy Debug• WSP Packaging• SPSolGen• WSP View
Visual Studio 2005VSeWSS 1.0/1.1
• SharePoint Sequential Workflow
• SharePoint State Machine Workflow
Visual Studio 2008• 64 bit support• WSP View Improved• Separate Package
Command• Command Line Build
Visual Studio 2008VSeWSS 1.2/1.3
• Multiple Visual Designers
• Packaging and Deployment
• TFS integration• Extensible Projects
and Tools
Visual Studio 2010
Upgrade Tool
Mar 2007 / Feb 2008 Nov 2007 June 2008 / Mar 2009 2010
1. Separate Deployment Commands VSeWSS 1.3 New Features
2. Command Line BuildsVSeWSS 1.3 New Features
3. Support for Productive Dev BuildsVSeWSS 1.3 New Features
4. Auto Web Part RenamingVSeWSS 1.3 New Features
5. Deployment Conflict ResolutionVSeWSS 1.3 New Features
6. Better WSP View CleanupVSeWSS 1.3 New Features
7. 64 Bit SupportVSeWSS 1.3 New Features
8. Deploy Additional AssembliesVSeWSS 1.3 New Features
VSeWSS 1.3 What You GetItem templates
Web partEvent receiverList definitionContent typeField controlModuleRoot fileTemplateList instanceList definition from content type
VSeWSS 1.3 What You GetWSP View, Package, Solution Generator, etc.
WSP View (CTRL W-I)Rearrange featuresAdd feature receiversPackage and retractSETUP.BATSolution generatorUser guide and helpProject templates
Workflow in VS2008
VSeWSS 1.3 Getting Started Dev Site http://MSSharePointDeveloper.com
Web partsData listsEvent handlersWorkflowSilverlight web partsPage navigationPage brandingWeb servicesContent typesUser management
Online hands on labsDownloadable VPC imageTraining videos
VSeWSS 1.3 Getting Help
Use the MSDN SharePoint ForumsCall Support if it is critical http://support.microsoft.com
http://MSSharePointForums.com
Visual Studio 2010 SharePoint Tools
Packaging Explorer
Web Page EditingCreate, explore, and debug SharePoint projects
Web part, page and workflow designersPackage and deploy SharePoint projectsTeam foundation server integrationSupport for SharePoint sandboxed solutions
Broad SharePoint SupportImport WSP from SharePoint designer including workflowPackage and deploy Office Business Applications (OBA)Extensibility for development of additional SharePoint artifactsSharePoint Business Connectivity Services support
Build a Web Part Using a Data Listdemo
Application Lifecycle ManagementWhat is it?The coordination of all aspects of software engineering—including the following:
The formulation and communication of business and technical requirementsCode design and architectureProject trackingChange managementCoding, testing, debuggingRelease management—by using tools that facilitate and track collaboration among and within work teams
Artifacts Requiring ALM in SharePointCode
C# or VB.NET, May include design artifactsDevelopersBuilt in Visual StudioChecked into Team Foundation Server
ContentText and Images
UsersBuilt in the SharePoint HTML UIChecked into SharePoint site
DesignHTML, CSS, Theme, List Schema, Page StructureDesignersBuilt in SharePoint DesignerChecked into SharePoint site
Artifacts Requiring ALM in SharePointContent
VersioningCreate a Pages Document LibraryTurn on versioning Covert master page to versionedhttp://blogs.msdn.com/sharepointdesigner/archive/2008/11/07/page-versioning-v2.aspx
Environment DeploymentContent Deployment
Artifacts Requiring ALM in SharePointDesign
VersioningCan approach same as content if using SharePoint DesignerCan export to Visual Studio environment
Environment DeploymentDirect - Content DeploymentVia Visual Studio - WSP
Artifacts Requiring ALM in SharePointCode
VersioningTeam Foundation Server integration
Add project to source control & add \pkg folder\pkg holds feature names and manifest details
Delete - feature names gone
Require read write from Visual StudioIn TFS Explorer mark \pkg for Shared Checkout
Environment DeploymentWSP Solution Automated Builds
Manual WSP Build ProjectOriginal: XML, GUIDs, Batch Files, STSADM
Patterns and Practices SharePoint Guidance
Solution with VSeWSS 1.2VSeWSS 1.3
Added Support for Direct DEVENV.EXE Build
Visual Studio 2010Supports MSBuild standalone builds
SharePoint Guidance from P&PCode
Automated Buildsdemo
Artifacts Requiring ALM in SharePointContent Design Code
How do you manage lifecycle across all three?Users create site contentDevelopers create softwareDesigners work on content and site structure
What is the issue?SharePoint Designer acts on site instanceVisual Studio creates site templates as WSP
What to do about the mismatches?1. Keep them separate2. Merge them together
Artifacts Requiring ALM in SharePointContent Design Code – Environment Setup
Developers WorkstationsVisual Studio 2008 extensions for SharePointLocal SharePoint Install
Designers WorkstationsSharePoint Designer & Local SharePoint InstallRun STSADMExtractFiles
Build Automation ServerMerge artifacts in Visual Studio project
Developers work onCode
Designers work onMaster PagesPage LayoutStylesImagesSite ColumnsContent TypesList Templates
Extract SPD Files to Visual Studio WSP Project
STSADMExtractFilesGenSiteColumnsXMLSPSolGen
Artifacts Requiring ALM in SharePointContent Design Code – Environment Setup
ALM for Workflows Versioning and Deployment Specifics
Choose the workflow starting point
Built in workflowsSharePoint Designer workflowsVisual Studio workflows
Migrating workflows from SharePoint Designer to Visual Studio
Third -party guidance Looks promisinge.g. Emile Bosch http://www.codeplex.com/SPDToolkit e.g. Todd Bleeker
SharePoint Workflow Projects
Separate Solutions as Visual Studio 2008 has in box supportDeploy SharePoint Workflow using WSP
http://blogs.msdn.com/mwasham/archive/2009/01/22/how-to-deploy-a-workflow-with-vsewss-1-3.aspx
Development Best PracticesPatterns and practices
Artifact version upgradeTest driven developmentTeam development and continuous integrationThree patterns
Developer best practices resource center for SharePointBest practices: common coding issues
Do not use SPList.ItemsWhite paper: working with large listsMemory management and SPDisposeCheck
Article and tool
Development Best PracticesSPDisposeCheck 1.3.1 and Dispose Guidance
SharePoint API’s return IDisposable objects
Managed memory and unmanaged memoryDispose for unmanaged memory
Primarily SPSite and SPWeb objectsULS Logs show leaksSimple Advice
Using statements
Best practice article for disposable objects
http://msdn2.microsoft.com/en-us/library/aa973248.aspx
SPDisposeCheck toolEvaluates AssembliesDo not run on Prod ServerRun in Automated BuildCan Ignore Specific Errorshttp://code.msdn.microsoft.com/SPDisposeCheck
SPDisposeCheckdemo
Ten New Themes for VSeWSS 1.3
VSeWSS projectsCompile and deploy to SharePointUse in your projectsLink on my blog http://blogs.msdn.com/pandrew
X
SharePoint Server 2010 DevelopmentWhat’s public about SharePoint Server 2010 now?
The new product nameSharePoint Server 2010
Ref: http://www.microsoft.com/presspass/features/2009/Apr09/04-15Office2010.mspx
The new developer toolsVisual Studio 2010 SharePoint tools
Ref: http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx Ref: http://blogs.msdn.com/somasegar/archive/2009/02/19/sharepoint-tools-support-in-visual-studio.aspx Ref: http://channel9.msdn.com/posts/VisualStudio/Sharepoint-Development-with-Visual-Studio-2010/ Ref: http://download.microsoft.com/download/C/0/9/C0965791-049B-4200-9008-F07A783026F6/VisualStudio2010_ProductOverview.pdf
SharePoint Designer is now freeRef: http://office.microsoft.com/en-us/sharepointdesigner/HA103607611033.aspx
Tools roadmapVSeWSS 1.3 now and Visual Studio 2010 in the futureAn upgrade tool and written guidance for customers moving from SharePoint 2007 to SharePoint Server 2010
SummaryTypes of applicationsVisual Studio 2008 and VSeWSS 1.3 Visual Studio 2010 SharePoint ToolsGetting Started - MSSharePointDeveloper.comGetting Help - MSSharePointForums.comSharePoint ALM - Content Design Code Patterns and practices SharePoint guidanceSPDisposeCheck and dispose guidanceSome cool themes
ResourcesPaul Andrew’s Bloghttp://blogs.msdn.com/pandrew
MS SharePoint Developerhttp://MSSharePointDeveloper.com
VSeWSS 1.3 March CTP Releasewww.microsoft.com/downloads/details.aspx?familyid=FB9D4B85-DA2A-432E-91FB-D505199C49F6 MSDN Forums for SharePointhttp://MSSharePointForums.com Patterns and Practices SharePoint Guidancehttp://www.microsoft.com/spg Application Lifecycle Management Resource Center for SharePointhttp://msdn.microsoft.com/en-us/office/cc990283.aspxDeveloper Best Practices Resource Center for SharePointhttp://msdn.microsoft.com/en-us/office/dd638301.aspx .NET Reflectorwww.red-gate.com/products/reflector/ Typemock Isolator for SharePointhttp://www.typemock.com/unit-testing-Microsoft-SharePoint.html SPDisposeCheckhttp://code.msdn.microsoft.com/SPDisposeCheck
question & answer
www.microsoft.com/teched
Sessions On-Demand & Community
http://microsoft.com/technet
Resources for IT Professionals
http://microsoft.com/msdn
Resources for Developers
www.microsoft.com/learningMicrosoft Certification and Training Resources
www.microsoft.com/learning
Microsoft Certification & Training Resources
Resources
Track ResourcesSpin the Wheel: Attend SharePoint breakout sessions Mon-Thurs and collect the picture of the day. Come by the booth for a chance to spin the SharePoint wheel. Collect all 4 pictures and enter to win a Microsoft Arc Mouse, drawing 11:30am on Friday, game cards at the booth.
Product Info http://www.microsoft.com/SharePoint
Dev ResourcesSharePoint MSDN Web Site: http://msdn.microsoft.com/sharepointSharePoint Developer Resources: http://mssharepointdeveloper.com/
SharePoint Conference 2009 www.mssharepointconference.com
ITPro ResourcesSharePoint Tech Center: http://technet.microsoft.com/en-us/office/sharepointserver/SharePoint Best Practices:http://technet.microsoft.com/en-us/office/sharepointserver/bb736746.aspx
Attend an Interactive Theater Session and enter to win a Microsoft ARC Mouse
Attend any SharePoint Breakout Session day 1 – 4 and check the last slide for a daily picture.
Come to the TLC yellow area, SharePoint booths OFC 4 & 5 to spin the wheel for a chance to win a prize. The wheel only spins when the SharePoint spotlight is flashing. One spin per person.
Collect all four daily SharePoint pictures and enter to win a Microsoft ARC Mouse. Game cards can be picked up at the booth.
Drawing for Mice on Friday at the wheel at 11:30AM.
Monday’s Picture is:
Red Carpet
Collect the SharePoint Session Picture of the Day
Complete an evaluation on CommNet and enter to win!
© 2009 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.