Jeremy thake introducing alm to share point development implementations (apr2010)


Published on

An introduction to SharePoint 2010 Development with ALM. Demonstrates Static Code Analysis with SPDisposeCheck, check-in policies and TFS 2010 Build automation.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Environment setupInstalling SharePointHardware requirementsTeam developmentbuilding implementationsTool supportsource control in VSeWSSprojectsDebugging trickyno out of the box build server abilityVersioned releasesFeaturesContent typesVersion 1.1 was always a scary thoughtSee also:
  • SharePoint is now a part of the toolset out of the gates!
  • Windows 7/Vista SP1 supportSome manual “hacks” to get to install but is supported for developmentMust be 64-bitVirtual PC - no support…so VMWare Workstation, Sun VirtualBoxRequires min 4Gb RAM for FoundationFoundation requires 4Gb RAMServer 2010 requires 6Gb RAMWizards installs and configures most things- See for PowerShell automated install script (AWESOME!)See also:Installing SharePoint 2010 Beta 2 a SharePoint 2010 Development Environment SharePoint 2010 Demo VM Tips & Tricks (downloadable pre-built VM)
  • LOB data becomes SharePoint List data- Leverage SharePoint Workspace 2010-Leverage Outlook 2010 integration with Contacts, Tasks, CalendarsRead/Write- Now reads and writes to Line of Business DataIncluded in SharePoint FoundationComes with Foundation Edition (so free!)Design Tools- Can use both VS2010 and SPD2010 (no code) to create BCS connections
  • REST ADO.NET Data ServicesClient OMSupport for:.netSilverLightJavaScriptCoding is very similar in each languageCan batch up commands and send to execute on serverLINQUse spmetal.exe to generate LINQ proxy class to use to query SharePoint Lists
  • Sandboxed SolutionsSite Collection Administrations can upload WSPsReduce reliance on Server AdminsMonitoring of performance of managed code in WSPsDeveloper Dashboard- Detailed performance metrics on page load to troubleshoot errorsFeature versioningcall imperative Feature Receivers and declarative Manifest XMLs per version rangeFeature upgrade query object modelAbility to check what version is installed/activated in sitesMapFile element – moving existing files that have been deployed by features
  • Workflow between different roles in Organisation.Can finally move workflows built by business into other tool sets easily!
  • Source Control supportOut of the box TFS 2010 support and team build supportDeployment StepsDeployment steps in Visual Studio 2010 allow for custom activities to occurE.g. cleaning up a list and inserting rows once a WSP has been deployed and feature activated
  • Demonstrate creating a Visual Web Part and then hitting F5 to deploy to environment and hit breakpoint.
  • Demonstrate how adding inefficient code can be flagged by Code Analysis
  • Backwards compatibilityVS2010 tooling does not support SharePoint 2007 development.WSPBuilder 2010 will support 4.0 support Does not leverage .net 4.0, only .net 3.5.Unit Testing3rd party:, Pex/Moles, TypeMock testingNot all of UI supported (form submissions, ribbon clicks)Accessibility- Not W3C compliant, WCAG 2.0 compliant
  • Devs“It works on my machine”“Can’t find the source control for this version”“Haven’t got the source control”“I’ve made changes in SharePoint Root”“I copied it to the GAC manually”Admins“We don’t know where to deploy it!”“What version is in Production?”
  • Automate building of WSPEnforce that all artefacts get deployed via WSP.No manual copying of files to SharePoint RootDisaster RecoveryCheck in policyBuild StampingBuild ServerSeparate serverDon’t install SharePoint on it!Get administrators to push to environments…or automate it (PowerShell 2.0 remoting)
  • We’ve discussed the operating system options, now let’s look at what needs to be installed. The developer’s PC will have Visual Studio and SharePoint 2010 installed. You will use unit testing, smoke testing, and leverage the capabilities of Visual Studio for F5 deployment. In a SharePoint 2007 environment, you can use a number of tools to enable this such as WSP Builder, VSeWSS 1.3, or STSDEV. In a 2010 environment, Visual Studio 2010 provides integrated development capabilities for SharePoint. (build)Once you have written and unit tested your code, you check it into a source code repository such as Visual Studio Team System’s Team Foundation Server. Team Foundation Server provides the enterprise source code repository and application lifecycle management capabilities to support an enterprise development team. (build)After the code is checked in, a nightly build or continuous integration server will create the WSP. Here, we see Visual Studio Team System’s Team Build installed on a server with only the SharePoint 2010 DLLs. The product team will be releasing guidance to show how to configure a build server with only the SharePoint 2010 DLLs deployed so that you do not need to install SharePoint on your build server. This allows you to perform unit testing and build operations in a clean environment. Further guidance will be coming from the SharePoint product team as we near RTM on how to achieve this. (build)Since the build server created the WSP, it should be checked into the source repository so that the installation can be repeated in the future and its version maintained. The next step is to install and activate the WSP. This can be achieved as part of the build process. (build)The staging environment is now ready for automated testing and warm-blooded user testing.
  • Demonstrate configuring builds in VS2010 and running one, demonstrating the build dropDemonstrate configuring build definition in VS2010 and running one, demonstrating the build drop.Demonstrate steps required to get builds working on Build Server.
  • Get:Microsoft.SharePoint.dllMicrosoft.SharePoint.Security.dllMicrosoft.SharePoint.WorkflowActions.dllFROM:C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPIGet:Microsoft.VisualStudio.CodeAnlaysisMicrosoft.VisualStudio.CodeAnlaysis.SdkMicroosft.VisualStudio.SharePointMicrosoft.VisualStudio.SharePoint.Designers.ModelsMicrosoft.VisualStudio.SharePoint.Designers.Models.FeaturesMicrosoft.VisualStudio.SharePoint.Designers.Models.PackagesFrom:C:WindowsMicrosoft.NETassemblyGAC_MSILGet:Gacutil.exeGacutil.exe.configFrom:C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 ToolsGet:Microsoft.VisualStudio.SharePoint.targetsMicrosoft.VisualStudio.SharePoint.Tasks.dllFrom:C:Program Files (x86)MSBuildMicrosoftVisualStudiov10.0SharePointToolsrenamed PhoenixAnalysisEngine.dll to PhoenixAnalysisEngine.dll.bak in directory:C:Program Files (x86)Microsoft Visual Studio 10.0Team ToolsStatic Analysis ToolsFxCopEnginesrenamed DataflowRules.dll to DataflowRules.dll.bak in directory:C:Program Files (x86)Microsoft Visual Studio 10.0Team ToolsStatic Analysis ToolsFxCopRules
  • Jeremy thake introducing alm to share point development implementations (apr2010)

    1. 1. Introducing SharePoint 2010 Development to ALM<br />#ALM07<br />Jeremy Thake<br /><br /><br />@jthake – MCTS – MCT - vTSP<br />
    2. 2. Jeremy Thake<br />Microsoft Virtual Technology Specialist<br />SharePoint Consultant<br />Microsoft Certified Trainer (MCT)<br />Facilitator of Perth SharePoint User Group<br />
    3. 3. Agenda<br />Challenges of SharePoint 2007 Development<br />Enhancements<br />Environment, Platform, Toolset<br />Demos<br />Code Analysis, Build Server<br />
    4. 4. Keep your hand up if…<br />You’ve developed on SharePoint<br />You used source control<br />You used a build server<br />You ran SPDisposeCheck<br />You have grey hair<br />
    5. 5. Challenges of SharePoint 2007 dev<br />Environment setup<br />Platform learning curve<br />Toolset support<br />Team development<br />Versioned releases<br />
    6. 6. ENHANCEMENTS<br />
    7. 7. Visual Studio 2010<br />
    9. 9. Development Environment<br />Windows 7/Vista SP1 support<br />Must be 64-bit<br />Requires min 4Gb RAM for Foundation<br />SharePoint 2010 must be installed locally<br />Wizard installs and configures most things<br />
    11. 11. Business Connectivity Services (BCS)<br />Office Apps<br />Client Runtime<br />Offline Operations<br />Cache<br />Design Tools<br />SharePoint<br />Visual Studio 2010<br />Enterprise<br />Search<br />Development<br />Platform<br />Business Intelligence<br />Enterprise content mgmt<br />Collaboration social<br />ECT Store<br />Runtime<br />Security<br />Solution Packaging<br />Out of the box UI<br />SharePoint Designer 2010<br />Web 2.0<br />DB<br />WCF<br />Web Service<br />.NET LOB<br />
    12. 12. Overview of Data Technologies<br />REST APIs<br />Strongly-typed lists<br />ClientOM<br />Weakly-typed lists<br />Client-side<br />Data Platform<br />Farm<br />Site<br />List Data<br />External Lists<br />ServerOM<br />Server-side<br />Weakly-typed lists<br />LINQ<br />New in 2010<br />Improved<br />Strongly-typed lists<br />
    13. 13. Solutions<br />Sandboxed solutions (think cloud)<br />Developer dashboard<br />Support for feature versioning<br />
    14. 14. List Improvements<br />Scalability and Performance<br />Relationships<br />Validation<br />Lookup to multiple columns<br />List Index Auto creation<br />List Query Throttling<br />XSLT views<br />
    15. 15. TOOL ENHANCEMENTS<br />
    16. 16. SharePoint Tools Continuum<br />Professional developer<br />Business Analyst/Process Designer<br />Designer/IW/Power User<br />Import<br />Create lists & libs<br />Design Web Pages<br />Web part hook-up<br />Views & forms<br />Declarative Workflows<br />Custom Web Parts<br />Code Workflows<br />Event Receivers<br />List Definitions<br />Application Pages<br />Design skeleton workflow processes<br />View workflow visualizations<br />Design data-backed business diagrams<br />WSP Package<br />Export<br />
    17. 17. VS2010 improvements<br />Source control support<br />F5 debugging<br />Visual Web Part Designer<br />Server Explorer<br />Package Designer<br />Feature Designer<br />Extendible<br />
    18. 18. F5 Debugging<br />DEMO<br />
    19. 19. CODE ANALYSIS – SPDisposecheck<br />DEMO<br />
    20. 20. It’s not perfect…<br />Backwards compatibility<br />.net 4.0 support<br />64-bit support in VS2010<br />Unit testing<br />Web testing<br />Accessibility<br />
    21. 21. BUILD SERVER<br />DEEP DIVE<br />
    22. 22. Build Process<br />
    23. 23. Build Process<br />
    24. 24. Natalie (Excelle),0273316688<br />Natalie (Excelle),0273316688<br />Dev PC<br />Team Foundation Server<br />Fix Bugs<br />(repeat as necessary)<br />Check In<br />Development<br />F5 Deploy<br />Smoke Testing<br />Nightly build<br />-OR-<br />Continuous<br />Integration<br />Staging<br />Build Server<br />Team Build<br />Check in WSP<br />Build<br />SP2010 DLL’s<br />Bugs<br />Unit Testing<br />Warm-blooded<br />user testing<br />WSP<br />WSP<br />Install and Activate [script]<br />Automated testing<br />
    25. 25. Configuring a build<br />DEMO<br />
    26. 26.
    27. 27. TFS 2010 64-bit Issue<br />TFS 2010 RC (and RTM) has a bug<br />Code Analysis isn’t installed<br />Magic steps on<br />Thanks to:<br />Duane Kanz, Ravs Kaur, Tom Marsh from Microsoft<br />
    28. 28. QUESTIONS<br />DEMO<br />
    29. 29. SharePoint 2010<br />SharePoint Developer Centre<br />FREE conference videos & slides<br />SharePoint Patterns & Practices Group (SPG)<br />SPDevWikiWeb Cast<br />SharePoint ALM White Paper<br />SPDisposeCheckStatic<br />Resources<br />
    30. 30. #ALM07<br />