290 likes | 360 Views
Getting Started With SharePoint Development. Chakkaradeep Chandran http://www.chakkaradeep.com @ chakkaradeep. Microsoft SharePoint. Provides an extensible solution platform for the professional Microsoft .NET developer
E N D
Getting Started WithSharePoint Development Chakkaradeep Chandran http://www.chakkaradeep.com @chakkaradeep
Microsoft SharePoint • Provides an extensible solution platform for the professional Microsoft .NET developer • Offers a wide array of built-in features and application hosting using well-known .NET development tools and technologies • You, the professional .NET developer, can use your knowledge of .NET technologies to develop on the SharePoint platform to create a new set of Web solutions
Get the Names Right! • Windows SharePoint Services 3.0 (FREE) • Microsoft Office SharePoint Server 2007 (MOSS) • SharePoint Foundation 2010 (FREE) • SharePoint Server 2010
Benefits to .NET Developers • A familiar development environment for .NET developers • Built-in features that developers can extend • The best integrated server for Office applications • The foundation for a wide variety of Intranet or Internet applications
SharePoint for Developers • First Class SharePoint Developer Tools • Faster Solution Debugging & Tuning • Choice of Development Workstation Developer Productivity • Comprehensive Data Access • Line of Business Integration • Workflow Advances Rich Platform Services • Application Lifecycle Management • Standardized Solution Packaging • Deploy with Agility and Stability Flexible Deployment
SharePoint Application Landscape Business Collaboration Applications SharePoint Core Portal for LOB Application Data Single Web Part Solutions .NET | ASP.NET Customized SharePoint Server 2010 Workloads
Development Environment • On the metal • Vista or Windows 7 (SP2010) • Windows Server 2008 R2 • Virtualization • Windows Server 2008 R2 Hyper-V role • Boot to VHD • Windows 7 boot to VHD • Windows Server 2008 R2 boot to VHD
Development on Windows 7or Windows Vista SP1 (SP2010) • Either SharePoint Foundation or SharePoint Server • Requires x64 OS • Not Supported for Production • Only for Stand Alone Installation • Can be Disabled through Group Policy • Just for Developers • Requires Following Install Guide in SDK
Development Tools http://bit.ly/sp-dev-tools
SharePoint Terminologies http://bit.ly/sp-terminology • SharePoint Farm • SharePoint Site Collection & Sites • Site Columns • Content Types • Data Lists (Document Libraries) • Master Pages • Application Pages • Themes
SharePoint Development Terminologies http://bit.ly/sp-devel-terminologies • Features • Event Receivers • List Forms • Web Parts • Field Controls • Workflows • Site Definitions & Site Templates • Modules • Master Pages • Page Layouts Solution Packages (wsp)
Solution Deployment WSS ConfigDB add HelpDesk.wsp(WSS Solution Cab) delete Feature Manifests deploy UI, Command Line, OM “deploy” command Template Files retract Assemblies New WFE Web Front End Servers
SharePoint Server Capabilities Pages and User Interface Connected Client APIs Server APIs Web UI Framework Sites Search Content Insights Communities Compositions ASP.NET forms Lists External Lists File System Content Types Workflow Query Web Services Library Features Silverlight XSLT Views REST LINQ Client OM Web Parts Event Model Solutions Features Templates Application Lifecycle Application Model (Sites) Content Management Data Model Lists Improved New
Overview of Data Technologies http://bit.ly/sp-videos REST APIs Strongly-typed lists http://bit.ly/sp-virtual-labs ClientOM Weakly-typed lists Client-side Data Platform Farm Site List Data External Lists ServerOM Server-side Weakly-typed lists SPLinq Strongly-typed lists New in SP2010 Improved
SharePoint Web Services http://bit.ly/sp-web-services
Development Best Practices http://spg.codeplex.com/ • Don’t alter the SharePoint schema, assume it will change. • Use facilities that already exist, such as ULS logs, instead of building your own. • Limit amount of work performed in an event receiver. • Don’t evaluate List.Items in a loop expression. • Dispose of types correctly.
Iterating Lists – the WRONG way SPList myList = SPContext.Current.List; for(inti=0; i < myList.Items.Count; i++) { SPListItem listItem = myList.Items[i]; htmlWriter.Write(listItem["Title"]); }
Iterating Lists – the RIGHT way SPListItemCollection items = SPContext.Current.List.Items; for(inti=0; i < items.Count; i++) { SPListItem listItem = items[i]; htmlWriter.Write(listItem["Title"]); }
Disposing of objects http://bit.ly/best-practices-disposable-objects • General rule: If you create an object using “new”, dispose of it. SPSite site = new SPSite(“http://moss”); SPWeb web = site.OpenWeb() • General rule: If you access from context, DO NOT dispose of it SPSite site = SPContext.Current.Site; • Use SPDisposeCheck - http://bit.ly/spdisposecheck
Conclusion • The professional NET developer can take advantage of SharePoint Products and Technologies to build components and enterprise solutions • Uses ASP.NET 2.0 framework • Provides its own complete set of features • Developers experienced with the .NET Framework can take advantage of the built-in features and capabilities offered
Summary • Microsoft SharePoint Platform • Development Tools • Solution Package Deployment • Data Technologies • Development Best Practices • Links to many resources….
Thank You http://bit.ly/spdev-getting-started chaks@intergen.co.nz http://www.chakkaradeep.com http://twitter.com/chakkaradeep