SlideShare a Scribd company logo
SharePoint 2010 Developer Quick Start
SharePointDesignerImprovementsAdd lists, columns, forms , custom actions without the need to go to the browser.Fine grained designer controlSPD work migrates to Visual Studio 2010SPD customization work exported to .wsp files.wsp files imported into Visual Studio
Development lifecycle
Demo – Designer
PowerShell2007 administration = STSADM.EXE + extensions and console applicationsReplaced with PowerShellPowerShell support effectively replaces STSADM.EXESharePoint admins/devs must learn PowerShell basicsYou can write powerful scripts against WSS OMYou can develop custom PowerShell snap-ins
PowerShell Tools
PowerShell 101Get-Command -pssnapinMicrosoft.SharePoint.PowerShellGet-Help Get-SPSiteGet-Help Get-SPSite–ExamplesGet-Command -noun "SPService*" | Sort Noun | Select Noun –UniqueGet-Command -noun "SPService*" | Sort Noun | Select Noun –Unique > text.txt
SharePoint 2010 Developer Dashboard
Correlation ID
Visual Studio 2010 SharePoint ToolsEnd-to-end SharePoint 2010 developer storySharePoint Explorer for site explorationSharePoint 2010 project and item templatesVisual designers for core scenariosMigration path for Visual Studio 2008 for WSS 3.0Extensible by 3rd party developersBenefits to SharePoint developersAbstracts away details of RootFiles directoryAbstracts away details of building .wsp fileLessens/eliminates need for external utilities
Demo – VS 2010
Feature ImprovementsFeature Versioning & Upgrade (ALM)New EventsWorkflow AssociationProperty BagUI VersionWeb TemplatesNew custom action options
Feature Versioning & UpgradeVersion Range – BeginVersion/EndVersionUpgrade ElementsCustomUpgradeActionParametersApplyElementManifestMapFile – FromPath/ToPathAddContentTypeField
Upgrade Scenario
EventsAdded…Site EventsSiteDeleting/SiteDeletedWebDeleting/WebDeletedWebMoving/WebMovedWebAdding/WebProvisioned List EventsEmailReceivedFieldAdding/FieldAddedFieldUpdating/FieldUpdatedFieldDeleting/FieldDeletedListAdding/ListAddedListDeleting/ListDeletedItem EventsContextEventItemAdding/ItemAddedItemUpdating/ItemUpdatedItemDeleting/ItemDeletedItemCheckingIn/ItemCheckedInItemCheckingOut/ItemCheckedOutItemUncheckingOut/ItemUncheckedOutItemAttachmentAdding/ItemAttachmentAddedItemAttachmentDeleting/ItemAttachmentDeletedItemFileMoving/ItemFileMovedItemFileConvertedWorkflow EventsWorkflowStarting/WorkflowStartedWorkflowPostponedWorkflowCompleted
Post Synchronous EventsWSS 3.0 “after” events are exclusively asynchronousProblem when wanting to do post processing after item submitted, but before displaying to userSPF 4.0 adds new property on receiver definition to change “after” event to synchronousSPEventReceiverDefinition.Synchronization
Event Impersonation ImprovementsWSS 3.0 events run in context of user who triggered the eventCertain things trigger events to run under System Account (workflow, etc), but doesn’t permit reverting back to user who triggered actionSPF 4.0 now adds the originating user & user token on SPEventPropertiesBase
Feature Property BagPromote Feature Properties into Web/Site property bagRoot webWebFolderList ItemNo direct VS designer supportUpdates value if exists, otherwise addsTypes enforced: DateTime, Int32
Web TemplatesReplacement and Improved Framework for STP -- Save as Template->WSPExports everything +content(optional) +onet.xmlStored in Solution Gallery or at the Farm$ListId:Lists/someListNameConsiderationsUse VS WSP import to trim or ‘featurize’ itemsWeb Templates are Features and can be upgraded
Relational Lists: JoinsWith relational lists, SPF 4.0 adds support for joinsJoins can only be implemented by developers using the API, CAML or SharePoint Designer 2010New properties on SPQuery:SPQuery.JoinSPQuery.ProjectedFieldsUse SPLinq instead of CAML to join two lists in code
Querying Large ListsIf throttling is enabled & list limit exceeded threshold, users won’t be able to query lists by default via APICan override querying the large list settings provided Web App configured to allow itOverride using:SPQuery.RequestThrottleOverrideSPSiteDataQuery.RequestThrottleOverrideOnly users with proper permissions get override ability (set via policies)
Content IteratorSPQuery query = new SPQuery(); query.Query = "<Where><Eq><FieldRef Name=\"MyIndexedField\"/><Value Type=\"Text\">FieldValue</Value></Eq></Where>" + ContentIterator.ItemEnumerationOrderByNVPField; ContentIteratorci = new ContentIterator();ci.MaxItemsPerQuery = 500;ci.ProcessItemsInList(query, delegate(SPListItemitem) { // Work on each item. }, delegate(SPListItemitem, Exception e) 	{ // Handle an exception that was thrown while iterating. 	// Return true so that ContentIteratorrethrows the exception. 	return true; } );
Questions ?@laneyvbhttp://laneyvb.blogspot.com
Ad

More Related Content

What's hot (20)

Share Point Development With Unit Testing
Share Point Development With Unit TestingShare Point Development With Unit Testing
Share Point Development With Unit Testing
Jeremy Thake
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwug
BIWUG
 
Microsoft Tech Ed 2006 #2
Microsoft Tech Ed 2006 #2Microsoft Tech Ed 2006 #2
Microsoft Tech Ed 2006 #2
Jetsada Phantharangsee
 
Microsoft Tech Ed 2006 #1
Microsoft Tech Ed 2006 #1Microsoft Tech Ed 2006 #1
Microsoft Tech Ed 2006 #1
Jetsada Phantharangsee
 
Getting started with office 365 add ins development 3 may 2018 - v2
Getting started with office 365 add ins development 3 may 2018 - v2Getting started with office 365 add ins development 3 may 2018 - v2
Getting started with office 365 add ins development 3 may 2018 - v2
Nilesh Shah
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 
SharePoint 2016 Hybrid Overview
SharePoint 2016 Hybrid OverviewSharePoint 2016 Hybrid Overview
SharePoint 2016 Hybrid Overview
Roy Kim
 
Getting Started with Office 365 Development
Getting Started with Office 365 DevelopmentGetting Started with Office 365 Development
Getting Started with Office 365 Development
Dragan Panjkov
 
Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​
Jenkins NS
 
Getting Started with the Office 365 API
Getting Started with the Office 365 APIGetting Started with the Office 365 API
Getting Started with the Office 365 API
Bjørn Harald Rapp [ MVP, MCT ]
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Bram de Jager
 
Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend Framework
Juan Antonio
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
Alexander Meijers
 
Share point features - Dipali Shiledar
Share point features - Dipali ShiledarShare point features - Dipali Shiledar
Share point features - Dipali Shiledar
Dipali Shiledar
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
InnoTech
 
Declarative Database Development with SQL Server Data Tools
Declarative Database Development with SQL Server Data ToolsDeclarative Database Development with SQL Server Data Tools
Declarative Database Development with SQL Server Data Tools
Gert Drapers
 
Automatic documentation with mule
Automatic documentation with muleAutomatic documentation with mule
Automatic documentation with mule
F K
 
Share Point Development With Unit Testing
Share Point Development With Unit TestingShare Point Development With Unit Testing
Share Point Development With Unit Testing
Jeremy Thake
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwug
BIWUG
 
Getting started with office 365 add ins development 3 may 2018 - v2
Getting started with office 365 add ins development 3 may 2018 - v2Getting started with office 365 add ins development 3 may 2018 - v2
Getting started with office 365 add ins development 3 may 2018 - v2
Nilesh Shah
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 
SharePoint 2016 Hybrid Overview
SharePoint 2016 Hybrid OverviewSharePoint 2016 Hybrid Overview
SharePoint 2016 Hybrid Overview
Roy Kim
 
Getting Started with Office 365 Development
Getting Started with Office 365 DevelopmentGetting Started with Office 365 Development
Getting Started with Office 365 Development
Dragan Panjkov
 
Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​
Jenkins NS
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Bram de Jager
 
Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend Framework
Juan Antonio
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
Alexander Meijers
 
Share point features - Dipali Shiledar
Share point features - Dipali ShiledarShare point features - Dipali Shiledar
Share point features - Dipali Shiledar
Dipali Shiledar
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
InnoTech
 
Declarative Database Development with SQL Server Data Tools
Declarative Database Development with SQL Server Data ToolsDeclarative Database Development with SQL Server Data Tools
Declarative Database Development with SQL Server Data Tools
Gert Drapers
 
Automatic documentation with mule
Automatic documentation with muleAutomatic documentation with mule
Automatic documentation with mule
F K
 

Similar to SharePoint 2010 Development (20)

4 tools, sandboxed solutionds, web part development
4   tools, sandboxed solutionds, web part development4   tools, sandboxed solutionds, web part development
4 tools, sandboxed solutionds, web part development
icdesktop
 
Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5
Ivan Sanders
 
SharePoint 2010 For Developers
SharePoint 2010 For DevelopersSharePoint 2010 For Developers
SharePoint 2010 For Developers
Sparked
 
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG
 
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
Ivan Sanders
 
Share Point Development With Vs10
Share Point Development With Vs10Share Point Development With Vs10
Share Point Development With Vs10
Phuong Nguyen
 
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPROMai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki
 
Sharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usSharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra us
QUONTRASOLUTIONS
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010
barryboudreau
 
SharePoint Developer Education Day Palo Alto
SharePoint  Developer Education Day  Palo  AltoSharePoint  Developer Education Day  Palo  Alto
SharePoint Developer Education Day Palo Alto
llangit
 
Using Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsUsing Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 Solutions
Randy Williams
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
MicrosoftFeed
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in Action
Elaine Van Bergen
 
Visual Studio 2010 for SharePoint Developers
Visual Studio 2010 for SharePoint DevelopersVisual Studio 2010 for SharePoint Developers
Visual Studio 2010 for SharePoint Developers
osullish
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
John Calvert
 
SharePoint 2010 Application Development
SharePoint 2010 Application DevelopmentSharePoint 2010 Application Development
SharePoint 2010 Application Development
mattbremer
 
SharePoint 2010 - What's New?
SharePoint 2010 - What's New?SharePoint 2010 - What's New?
SharePoint 2010 - What's New?
Cory Peters
 
2010preparingforupgradeoleson
2010preparingforupgradeoleson2010preparingforupgradeoleson
2010preparingforupgradeoleson
UGAIA
 
SharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersSharePoint Development For Asp Net Developers
SharePoint Development For Asp Net Developers
Corey Roth
 
SharePoint 2010 and its development tools
SharePoint 2010 and its development toolsSharePoint 2010 and its development tools
SharePoint 2010 and its development tools
Shakir Majeed Khan
 
4 tools, sandboxed solutionds, web part development
4   tools, sandboxed solutionds, web part development4   tools, sandboxed solutionds, web part development
4 tools, sandboxed solutionds, web part development
icdesktop
 
Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5Developer application lifecycle process and tools - v.5
Developer application lifecycle process and tools - v.5
Ivan Sanders
 
SharePoint 2010 For Developers
SharePoint 2010 For DevelopersSharePoint 2010 For Developers
SharePoint 2010 For Developers
Sparked
 
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG 01/09/2005 IW Technologies, what's to come in 2006?
BIWUG
 
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
SharePoint Connections Coast to Coast Migrating SharePoint 2007 Solutions to ...
Ivan Sanders
 
Share Point Development With Vs10
Share Point Development With Vs10Share Point Development With Vs10
Share Point Development With Vs10
Phuong Nguyen
 
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPROMai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki - SharePoint 2010 ITPRO
Mai Omar Desouki
 
Sharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usSharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra us
QUONTRASOLUTIONS
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010
barryboudreau
 
SharePoint Developer Education Day Palo Alto
SharePoint  Developer Education Day  Palo  AltoSharePoint  Developer Education Day  Palo  Alto
SharePoint Developer Education Day Palo Alto
llangit
 
Using Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsUsing Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 Solutions
Randy Williams
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
MicrosoftFeed
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in Action
Elaine Van Bergen
 
Visual Studio 2010 for SharePoint Developers
Visual Studio 2010 for SharePoint DevelopersVisual Studio 2010 for SharePoint Developers
Visual Studio 2010 for SharePoint Developers
osullish
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
John Calvert
 
SharePoint 2010 Application Development
SharePoint 2010 Application DevelopmentSharePoint 2010 Application Development
SharePoint 2010 Application Development
mattbremer
 
SharePoint 2010 - What's New?
SharePoint 2010 - What's New?SharePoint 2010 - What's New?
SharePoint 2010 - What's New?
Cory Peters
 
2010preparingforupgradeoleson
2010preparingforupgradeoleson2010preparingforupgradeoleson
2010preparingforupgradeoleson
UGAIA
 
SharePoint Development For Asp Net Developers
SharePoint Development For Asp Net DevelopersSharePoint Development For Asp Net Developers
SharePoint Development For Asp Net Developers
Corey Roth
 
SharePoint 2010 and its development tools
SharePoint 2010 and its development toolsSharePoint 2010 and its development tools
SharePoint 2010 and its development tools
Shakir Majeed Khan
 
Ad

More from Elaine Van Bergen (13)

SharePoint 2016
SharePoint 2016SharePoint 2016
SharePoint 2016
Elaine Van Bergen
 
O365 Sydney - Hybrid Dev
O365 Sydney - Hybrid DevO365 Sydney - Hybrid Dev
O365 Sydney - Hybrid Dev
Elaine Van Bergen
 
What's new 365 - Com Camp
What's new 365 - Com CampWhat's new 365 - Com Camp
What's new 365 - Com Camp
Elaine Van Bergen
 
What's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSydWhat's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSyd
Elaine Van Bergen
 
Sps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideSps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client side
Elaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
Elaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
Elaine Van Bergen
 
SharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox developmentSharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox development
Elaine Van Bergen
 
Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
Elaine Van Bergen
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Elaine Van Bergen
 
Maximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governanceMaximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governance
Elaine Van Bergen
 
Getting Started With Share Point 2010
Getting Started With Share Point 2010Getting Started With Share Point 2010
Getting Started With Share Point 2010
Elaine Van Bergen
 
Governance Configure Customise Code
Governance Configure Customise CodeGovernance Configure Customise Code
Governance Configure Customise Code
Elaine Van Bergen
 
What's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSydWhat's New in Office 365 - SPSSyd
What's New in Office 365 - SPSSyd
Elaine Van Bergen
 
Sps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideSps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client side
Elaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
Elaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
Elaine Van Bergen
 
SharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox developmentSharePoint Saturday - Sandbox development
SharePoint Saturday - Sandbox development
Elaine Van Bergen
 
Design and Development performance considerations
Design and Development performance considerationsDesign and Development performance considerations
Design and Development performance considerations
Elaine Van Bergen
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Elaine Van Bergen
 
Maximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governanceMaximise the benefits of a SharePoint platform using metric based governance
Maximise the benefits of a SharePoint platform using metric based governance
Elaine Van Bergen
 
Getting Started With Share Point 2010
Getting Started With Share Point 2010Getting Started With Share Point 2010
Getting Started With Share Point 2010
Elaine Van Bergen
 
Governance Configure Customise Code
Governance Configure Customise CodeGovernance Configure Customise Code
Governance Configure Customise Code
Elaine Van Bergen
 
Ad

Recently uploaded (20)

Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 

SharePoint 2010 Development

  • 2. SharePointDesignerImprovementsAdd lists, columns, forms , custom actions without the need to go to the browser.Fine grained designer controlSPD work migrates to Visual Studio 2010SPD customization work exported to .wsp files.wsp files imported into Visual Studio
  • 5. PowerShell2007 administration = STSADM.EXE + extensions and console applicationsReplaced with PowerShellPowerShell support effectively replaces STSADM.EXESharePoint admins/devs must learn PowerShell basicsYou can write powerful scripts against WSS OMYou can develop custom PowerShell snap-ins
  • 7. PowerShell 101Get-Command -pssnapinMicrosoft.SharePoint.PowerShellGet-Help Get-SPSiteGet-Help Get-SPSite–ExamplesGet-Command -noun "SPService*" | Sort Noun | Select Noun –UniqueGet-Command -noun "SPService*" | Sort Noun | Select Noun –Unique > text.txt
  • 10. Visual Studio 2010 SharePoint ToolsEnd-to-end SharePoint 2010 developer storySharePoint Explorer for site explorationSharePoint 2010 project and item templatesVisual designers for core scenariosMigration path for Visual Studio 2008 for WSS 3.0Extensible by 3rd party developersBenefits to SharePoint developersAbstracts away details of RootFiles directoryAbstracts away details of building .wsp fileLessens/eliminates need for external utilities
  • 11. Demo – VS 2010
  • 12. Feature ImprovementsFeature Versioning & Upgrade (ALM)New EventsWorkflow AssociationProperty BagUI VersionWeb TemplatesNew custom action options
  • 13. Feature Versioning & UpgradeVersion Range – BeginVersion/EndVersionUpgrade ElementsCustomUpgradeActionParametersApplyElementManifestMapFile – FromPath/ToPathAddContentTypeField
  • 15. EventsAdded…Site EventsSiteDeleting/SiteDeletedWebDeleting/WebDeletedWebMoving/WebMovedWebAdding/WebProvisioned List EventsEmailReceivedFieldAdding/FieldAddedFieldUpdating/FieldUpdatedFieldDeleting/FieldDeletedListAdding/ListAddedListDeleting/ListDeletedItem EventsContextEventItemAdding/ItemAddedItemUpdating/ItemUpdatedItemDeleting/ItemDeletedItemCheckingIn/ItemCheckedInItemCheckingOut/ItemCheckedOutItemUncheckingOut/ItemUncheckedOutItemAttachmentAdding/ItemAttachmentAddedItemAttachmentDeleting/ItemAttachmentDeletedItemFileMoving/ItemFileMovedItemFileConvertedWorkflow EventsWorkflowStarting/WorkflowStartedWorkflowPostponedWorkflowCompleted
  • 16. Post Synchronous EventsWSS 3.0 “after” events are exclusively asynchronousProblem when wanting to do post processing after item submitted, but before displaying to userSPF 4.0 adds new property on receiver definition to change “after” event to synchronousSPEventReceiverDefinition.Synchronization
  • 17. Event Impersonation ImprovementsWSS 3.0 events run in context of user who triggered the eventCertain things trigger events to run under System Account (workflow, etc), but doesn’t permit reverting back to user who triggered actionSPF 4.0 now adds the originating user & user token on SPEventPropertiesBase
  • 18. Feature Property BagPromote Feature Properties into Web/Site property bagRoot webWebFolderList ItemNo direct VS designer supportUpdates value if exists, otherwise addsTypes enforced: DateTime, Int32
  • 19. Web TemplatesReplacement and Improved Framework for STP -- Save as Template->WSPExports everything +content(optional) +onet.xmlStored in Solution Gallery or at the Farm$ListId:Lists/someListNameConsiderationsUse VS WSP import to trim or ‘featurize’ itemsWeb Templates are Features and can be upgraded
  • 20. Relational Lists: JoinsWith relational lists, SPF 4.0 adds support for joinsJoins can only be implemented by developers using the API, CAML or SharePoint Designer 2010New properties on SPQuery:SPQuery.JoinSPQuery.ProjectedFieldsUse SPLinq instead of CAML to join two lists in code
  • 21. Querying Large ListsIf throttling is enabled & list limit exceeded threshold, users won’t be able to query lists by default via APICan override querying the large list settings provided Web App configured to allow itOverride using:SPQuery.RequestThrottleOverrideSPSiteDataQuery.RequestThrottleOverrideOnly users with proper permissions get override ability (set via policies)
  • 22. Content IteratorSPQuery query = new SPQuery(); query.Query = "<Where><Eq><FieldRef Name=\"MyIndexedField\"/><Value Type=\"Text\">FieldValue</Value></Eq></Where>" + ContentIterator.ItemEnumerationOrderByNVPField; ContentIteratorci = new ContentIterator();ci.MaxItemsPerQuery = 500;ci.ProcessItemsInList(query, delegate(SPListItemitem) { // Work on each item. }, delegate(SPListItemitem, Exception e) { // Handle an exception that was thrown while iterating. // Return true so that ContentIteratorrethrows the exception. return true; } );

Editor's Notes

  • #3: SharePoint Designer has gone through many significant changes and is now a solid development toolSharePoint objects such as lists and workflow associations are seen as first class objects in the new UIEach SharePoint object has a summary pageThe new workflow designer is much more powerfulSPD can create reusable workflows – this was a big problem in SPD 2007Prototypes created in SPD can be migrated into Visual Studio 2010
  • #5: The SharePoint team has now gotten in line with many other server product teams at Microsoft and made SharePoint Server 2010 completely administrate-able through PowerShell scriptsBoth dev’s and admins need to get to know powershell, as a dev it will replace some of the console admin apps typically written as well as setup and tear down scripts for deployments.
  • #6: Windowspowershell plus load snapinSharePoint management shell from sharepoint menuISE – can limited debugVisual studio for custom cmdlet creation + third party tools
  • #7: Get all sharepoint commands
  • #8: The developer dashboard has been introduced with SharePoint Server 2010. It shows diagnostics and performance-related statistics.How long did the request take to run?What event handlers were fired?In what sequence did these event handlers fire?At the moment is enabled via code/powershell. Can be set to on , off or ondemand
  • #9: The Visual Studio 2010 SharePoint Tools (SPT) represents a significant step forward for professional developers using SharePoint. SharePoint Explorer fallows quick exploration through a siteThis makes it possible to launch browser at specific place within siteSharePoint 2010 introduce a new project structure as well as project tmplates and project item templates. There are designers to create things like features and solution packages.One of the most appealing aspects of SPT is that it is extensibleYou can add your own custom project templates and item templatesYou can add menu commands into the Visual Studio UI.
  • #12: Version Range denotes the target version to upgrade. Any feature with this version or newer, or where a version does not exist will be upgraded to the EndVersion. The feature version is updated to reflect this new EndVersion.ApplyElementManifest – allows for an additional manifest file to be added to the featureCustomUpgradeAction -- allows for the passing of one or more parameters to a feature receiver’s FeatureUpgrading method.AddContentTypeField – Adds a new field to a provisioned content type. The element takes a ContentTypeId, FieldId, and a bool PushDown which denotes ifThe system should propagates the change to child lists and content types. (Optional)MapFile – Maps a file that has not been customized to a different path on the front-end web server or to simply rename a file. V2V Upgrade most likely scenario.
  • #15: Highlight that code may run well after you intended e.g. when feature is enabled on site b the first version will run, then the upgrading code.If lots of versions have been incremented this could be a lot of code to run onfeature activation.
  • #16: WebAdding/ WebProvisioned only fired for sub webs, not for the root web of the site collection.Plus despite naming they are a pair sync and async.
  • #17: SPF 4.0 introduces concept of synchronous post-eventsAllows developer to do a little post-processing after the commit of the action, but before user is presented with the result of the post
  • #18: In WSS 3.0 when a workflow triggered an event by adding/changing something in a task list, the task item’s identity would be the system account that executed the workflowIn SPF 4.0 the same is true, but the SPEventPropertiesBase now contains properties that contain the user name &amp; user token of the person who actually triggered the effective action (like started the workflow)
  • #19: An elements manifest (eg. elements.xml) file can contain a new element section called PropertyBag. This element allows key/value pairs to be promoted into their parent object such as a web, sub web, folder, list item, or file (note no List object here). This allows the developer to avoid writing code which promotes feature properties into property bag elements of these objects. Each value is added to or updated within the Hashtable object which implements the property bag at the parent. Currently two type DateTime and Int32 are enforced in that if the current value is of either of these types for any key which exists an update to these values need to be of the same time or the value in the Hashtable will be set to NULL.Note supported: Farm, WebApplication, ..ListSo this means this will not work for a Farm or WebApplication feature, only supported scope Web.
  • #20: All of the information is saved as a real solution which VS can open. Developers can build on top of.There is a tie back, they were created from the same WSP, they get the new functionality, features, etc.WebTemplate feature Element – provides a way to deploy site collection specific site definitions. WebTemplate has it’s own site definition (onet.xml), which is merged with the oob site definition template.$ListId:Lists/Announcements – replaced with list GUID when provisioned – this new options is utilize as part of the wsp saving process. You can also utilize this by your self, which provides you a way to customize the view aspx pages etc.
  • #21: Finally support for joins! Joins can be implemented using CAML query, but much easier to use LINQ CAML schema updated to support LINQ based joins LINQ will generate the CAML under the covers… LINQ much easier to write than new CAML schema Can also create joins via API using two new properties: SPQuery.Join &amp; SPQuery.ProjectedFields
  • #22: Throttled lists, which is triggered by exceeding the upper limit, will cause queries with a result set in excess of the upper limit to throw an exceptionHowever, this can be overridden by users with required permissions via code
  • #23: Ensure you include one of the three OrderBy clauses—ContentIterator.ItemEnumerationOrderByID, ContentIterator.ItemEnumerationOrderByPath, or ContentIterator.ItemEnumerationOrderByNVPField—that enables the index to be used.Without an OrderBy clause, your query could be blocked. SharePoint Server 2010 adds a default OrderBy clause that orders by content type, which ensures that folders are returned before list items. Unless you override this behavior with one of the three OrderBy clauses listed above, your query cannot take full advantage of using indexed fields, and it will be blocked whenever the query is not designed to be restrictive enough to return fewer than the maximum number of items. The following code example shows how to use the ContentIterator.ItemEnumerationOrderByNVPField clause. The example assumes that you are querying an indexed field.
  • #24: Ensure you include one of the three OrderBy clauses—ContentIterator.ItemEnumerationOrderByID, ContentIterator.ItemEnumerationOrderByPath, or ContentIterator.ItemEnumerationOrderByNVPField—that enables the index to be used.Without an OrderBy clause, your query could be blocked. SharePoint Server 2010 adds a default OrderBy clause that orders by content type, which ensures that folders are returned before list items. Unless you override this behavior with one of the three OrderBy clauses listed above, your query cannot take full advantage of using indexed fields, and it will be blocked whenever the query is not designed to be restrictive enough to return fewer than the maximum number of items. The following code example shows how to use the ContentIterator.ItemEnumerationOrderByNVPField clause. The example assumes that you are querying an indexed field.