KEMBAR78
Getting Started with SharePoint Development | PPTX
Getting Started WithSharePoint DevelopmentChakkaradeep Chandranhttp://www.chakkaradeep.com@chakkaradeep
Microsoft SharePointProvides an extensible solution platform for the professional Microsoft .NET developerOffers a wide array of built-in features and application hosting using well-known .NET development tools and technologiesYou, 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 DevelopersA familiar development environment for .NET developersBuilt-in features that developers can extendThe best integrated server for Office applicationsThe foundation for a wide variety of Intranet or Internet applications
SharePoint for DevelopersFirst Class SharePoint Developer ToolsFaster Solution Debugging & TuningChoice of Development WorkstationDeveloper ProductivityComprehensive Data AccessLine of Business Integration Workflow AdvancesRich Platform ServicesApplication Lifecycle Management Standardized Solution PackagingDeploy with Agility and StabilityFlexible Deployment
SharePoint Stack
SharePoint Application LandscapeBusiness Collaboration ApplicationsSharePoint CorePortal for LOB Application DataSingle Web PartSolutions.NET   |   ASP.NETCustomized SharePoint Server 2010 Workloads
Development EnvironmentOn the metalVista or Windows 7 (SP2010)Windows Server 2008 R2VirtualizationWindows Server 2008 R2 Hyper-V roleBoot to VHDWindows 7 boot to VHDWindows Server 2008 R2 boot to VHD
Development on Windows 7or Windows Vista SP1 (SP2010)Just for DevelopersRequires Following Install Guide in SDKEither SharePoint Foundation or SharePoint ServerRequires x64 OSNot Supported for ProductionOnly for Stand Alone InstallationCan be Disabled    through Group Policy
Development Toolshttp://bit.ly/sp-dev-tools
SharePoint Terminologieshttp://bit.ly/sp-terminologySharePoint FarmSharePoint Site Collection & SitesSite ColumnsContent TypesData Lists (Document Libraries)Master PagesApplication PagesThemes
SharePoint  Development Terminologieshttp://bit.ly/sp-devel-terminologiesFeaturesEvent ReceiversList FormsWeb PartsField ControlsWorkflowsSite Definitions & Site TemplatesModulesMaster PagesPage LayoutsSolution Packages(wsp)
Features and Site Definitions
Solution DeploymentWSS ConfigDBaddHelpDesk.wsp(WSS Solution Cab)deleteFeature ManifestsdeployUI, Command Line, OM “deploy” commandTemplate FilesretractAssembliesNew WFEWeb Front End Servers
VS2010 Project Templates
VS2010 Item Templates
VS2010 SharePoint Project Customization Wizard
SharePoint Server CapabilitiesPages and User InterfaceConnected Client APIsServer APIsWeb UIFrameworkContentSearchCompositionsInsightsSitesCommunitiesASP.NET formsFile SystemListsExternal ListsQueryContent TypesWorkflowWeb ServicesLibrary FeaturesSilverlightXSLT ViewsWeb PartsLINQRESTClient OMEvent ModelSolutionsFeaturesTemplatesApplication LifecycleApplication Model (Sites)Content ManagementData Model ListsImprovedNew
Overview of Data Technologieshttp://bit.ly/sp-videosREST APIsStrongly-typed listshttp://bit.ly/sp-virtual-labsClientOMWeakly-typed listsClient-sideData PlatformFarmSiteList DataExternal ListsServerOMServer-sideWeakly-typed listsSPLinqStrongly-typed listsNew in SP2010Improved
SharePoint Web Serviceshttp://bit.ly/sp-web-services
MOSS 2007
Development Best Practiceshttp://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 waySPList 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 waySPListItemCollection items = SPContext.Current.List.Items; for(inti=0; i < items.Count; i++) {   SPListItem listItem = items[i];   htmlWriter.Write(listItem["Title"]); }
Disposing of objectshttp://bit.ly/best-practices-disposable-objectsGeneral 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 itSPSite site = SPContext.Current.Site;Use SPDisposeCheck - http://bit.ly/spdisposecheck
ConclusionThe professional NET developer can take advantage of SharePoint Products and Technologies to build components and enterprise solutionsUses ASP.NET 2.0 frameworkProvides its own complete set of featuresDevelopers experienced with the .NET Framework can take advantage of the built-in features and capabilities offered
SummaryMicrosoft SharePoint PlatformDevelopment ToolsSolution Package DeploymentData TechnologiesDevelopment Best PracticesLinks to many resources….
SharePoint 2010
http://bit.ly/spdev-getting-startedThank Youchaks@intergen.co.nzhttp://www.chakkaradeep.comhttp://twitter.com/chakkaradeep

Getting Started with SharePoint Development

  • 1.
    Getting Started WithSharePointDevelopmentChakkaradeep Chandranhttp://www.chakkaradeep.com@chakkaradeep
  • 2.
    Microsoft SharePointProvides anextensible solution platform for the professional Microsoft .NET developerOffers a wide array of built-in features and application hosting using well-known .NET development tools and technologiesYou, 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 
  • 3.
    Get the NamesRight!Windows SharePoint Services 3.0 (FREE)Microsoft Office SharePoint Server 2007 (MOSS)SharePoint Foundation 2010 (FREE)SharePoint Server 2010
  • 4.
    Benefits to .NETDevelopersA familiar development environment for .NET developersBuilt-in features that developers can extendThe best integrated server for Office applicationsThe foundation for a wide variety of Intranet or Internet applications
  • 5.
    SharePoint for DevelopersFirstClass SharePoint Developer ToolsFaster Solution Debugging & TuningChoice of Development WorkstationDeveloper ProductivityComprehensive Data AccessLine of Business Integration Workflow AdvancesRich Platform ServicesApplication Lifecycle Management Standardized Solution PackagingDeploy with Agility and StabilityFlexible Deployment
  • 6.
  • 7.
    SharePoint Application LandscapeBusinessCollaboration ApplicationsSharePoint CorePortal for LOB Application DataSingle Web PartSolutions.NET | ASP.NETCustomized SharePoint Server 2010 Workloads
  • 8.
    Development EnvironmentOn themetalVista or Windows 7 (SP2010)Windows Server 2008 R2VirtualizationWindows Server 2008 R2 Hyper-V roleBoot to VHDWindows 7 boot to VHDWindows Server 2008 R2 boot to VHD
  • 9.
    Development on Windows7or Windows Vista SP1 (SP2010)Just for DevelopersRequires Following Install Guide in SDKEither SharePoint Foundation or SharePoint ServerRequires x64 OSNot Supported for ProductionOnly for Stand Alone InstallationCan be Disabled through Group Policy
  • 10.
  • 11.
    SharePoint Terminologieshttp://bit.ly/sp-terminologySharePoint FarmSharePointSite Collection & SitesSite ColumnsContent TypesData Lists (Document Libraries)Master PagesApplication PagesThemes
  • 12.
    SharePoint DevelopmentTerminologieshttp://bit.ly/sp-devel-terminologiesFeaturesEvent ReceiversList FormsWeb PartsField ControlsWorkflowsSite Definitions & Site TemplatesModulesMaster PagesPage LayoutsSolution Packages(wsp)
  • 13.
  • 14.
    Solution DeploymentWSS ConfigDBaddHelpDesk.wsp(WSSSolution Cab)deleteFeature ManifestsdeployUI, Command Line, OM “deploy” commandTemplate FilesretractAssembliesNew WFEWeb Front End Servers
  • 15.
  • 16.
  • 17.
    VS2010 SharePoint ProjectCustomization Wizard
  • 18.
    SharePoint Server CapabilitiesPagesand User InterfaceConnected Client APIsServer APIsWeb UIFrameworkContentSearchCompositionsInsightsSitesCommunitiesASP.NET formsFile SystemListsExternal ListsQueryContent TypesWorkflowWeb ServicesLibrary FeaturesSilverlightXSLT ViewsWeb PartsLINQRESTClient OMEvent ModelSolutionsFeaturesTemplatesApplication LifecycleApplication Model (Sites)Content ManagementData Model ListsImprovedNew
  • 19.
    Overview of DataTechnologieshttp://bit.ly/sp-videosREST APIsStrongly-typed listshttp://bit.ly/sp-virtual-labsClientOMWeakly-typed listsClient-sideData PlatformFarmSiteList DataExternal ListsServerOMServer-sideWeakly-typed listsSPLinqStrongly-typed listsNew in SP2010Improved
  • 20.
  • 21.
  • 22.
    Development Best Practiceshttp://spg.codeplex.com/Don’talter 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.
  • 23.
    Iterating Lists –the WRONG waySPList myList = SPContext.Current.List; for(inti=0; i < myList.Items.Count; i++) {   SPListItem listItem = myList.Items[i];   htmlWriter.Write(listItem["Title"]); }
  • 24.
    Iterating Lists –the RIGHT waySPListItemCollection items = SPContext.Current.List.Items; for(inti=0; i < items.Count; i++) {   SPListItem listItem = items[i];   htmlWriter.Write(listItem["Title"]); }
  • 25.
    Disposing of objectshttp://bit.ly/best-practices-disposable-objectsGeneralrule: 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 itSPSite site = SPContext.Current.Site;Use SPDisposeCheck - http://bit.ly/spdisposecheck
  • 26.
    ConclusionThe professional NETdeveloper can take advantage of SharePoint Products and Technologies to build components and enterprise solutionsUses ASP.NET 2.0 frameworkProvides its own complete set of featuresDevelopers experienced with the .NET Framework can take advantage of the built-in features and capabilities offered
  • 27.
    SummaryMicrosoft SharePoint PlatformDevelopmentToolsSolution Package DeploymentData TechnologiesDevelopment Best PracticesLinks to many resources….
  • 28.
  • 29.