SlideShare una empresa de Scribd logo
1 de 29
Practical SharePoint for the .NET Developer 
A Crash Course 
John Calvert 
SharePoint/Solution Architect 
Software Craft Inc. 
john at softwarecraft dot ca 
at softwarecraft99 
November 23rd, 2013
Thank you to all of our Sponsors!!
Thank you to my personal Sponsors!! 
• http://www.cloudshare.com/
SharePoint Development 
 Technologies 
 Models 
SharePoint APIs 
Getting Started – Coding to SharePoint APIs 
Diving in Deep – Coding inside SharePoint 
Q&A / Evals 
4
.NET / SharePoint solution architect 
Over 18 years experience developing business 
solutions for private industry & government 
Recent clients include Justice, NRC, NSERC, 
DFAIT, CFPSA, OSFI, MCC 
Specialize in Microsoft technologies 
5
6
7
Built on .NET 3.5.1, ASP.NET 3.5 , WF 3.5 
IIS 7 and SQL Server 2008 
Win 2008 or Win7, x64 
8GB RAM single-server 
.NET 3.5 for code calling SOM and code 
deployed inside SharePoint 
8
Built on .NET 4.5, ASP.NET 4.5, WF 4.5 
IIS 7.5 and SQL Server 2008 R2 
Windows Server 2008 R2, x64 
12GB RAM in 3-tier farm, 24GB RAM single-server 
(less if services disabled) 
.NET 4.5 for coding calling SOM and code 
deployed inside SharePoint 
9
10
As a service 
 Web / Phone / Desktop / Server / Mashup 
As a framework 
 SharePoint Web Page 
 App Model 
 Farm Solution 
 Sandbox Solution 
11
12
Any web or cloud IDE 
“Napa” Cloud-Based Development 
SharePoint Designer 
 HTML, CSS, JavaScript 
Visual Studio 
 .NET, etc 
PowerGUI or any PS command shell 
 PowerShell 
13
oData / REST 
 http://localhost/_vti_bin/ListData.svc 
 http://localhost/_api/lists/ 
Client-Side Object Model (CSOM) 
 ClientContext.ExecuteQuery(); 
Server App Model 
Server Object Model (SOM) 
 SPSite site = new SPSite("http://localhost/") 
Web Services 
 http://localhost/_vti_bin/Lists.asmx 
14
Using .NET, JavaScript, PHP, Ruby, etc 
Address an oData / REST end point 
Address CSOM .NET API 
15
$.ajax({ 
url: "http://localhost/_api/lists/getbytitle('Documents')/ite 
ms", 
type: "GET", 
headers: { "accept": "application/json;odata=verbose",}, 
success: function (data) { 
$.each(data.d.results, function (index, item) { 
$('#docs').append("<li>" + item.Id + " / " + item.Title + "</li>"); 
}, 
error: function (error) { 
alert(JSON.stringify(error)); 
} 
}); 
16
Uri u = 
newUri("http://localhost/_vti_bin/ListData.svc/", UriKind.Abs 
olute); 
TeamSiteDataContext ctx = newTeamSiteDataContext(u); 
ctx.Credentials = System.Net.CredentialCache.DefaultCrede 
ntials; 
DataServiceQuery<DocumentsItem> qry = ctx.Documents; 
IEnumerable<DocumentsItem> docs = qry.Execute(); 
17
Using WPF/WCF, WinForms or Silverlight 
Address an oData / REST end point 
Address CSOM or SOM .NET API 
18
using (ClientContext ctx = new ClientContext("http://loc 
alhost/")) 
{ 
Web web = ctx.Web; 
ListCollection lists = web.Lists; 
List list = web.Lists.GetByTitle(libraryname); 
CamlQuery qry = new CamlQuery(); 
ListItemCollection items = list.GetItems(qry); 
ctx.Load(items, li => li.Include(pi => pi["LinkFilename" 
])); 
ctx.ExecuteQuery(); 
return items; 
} 
19
using (SPSite site = new SPSite("http://localhost/")) 
{ 
using (SPWeb web = site.RootWeb) 
{ 
SPList list = web.Lists["Documents"]; 
SPListItemCollection items = list.Items; 
return items; 
} 
} 
20
Using .NET and HTML/CSS/JavaScript 
Use webparts 
Address SOM .NET API 
Address an oData / REST end point 
21
Coding 
 Visual Studio 11 improved item templates 
Debugging 
 Synch & Asynch Processes 
 Attaching from Visual Studio (CKS DevTools) 
 Developer Dashboard 
Logging 
 SPMonitoredScope 
Deployment 
 Package (*.WSP) and Feature 
 PowerShell 
22
Browser DOM Explorer 
 MSIE Developer Tools, etc 
LINQ in & for SharePoint 
 Generate Classes with SPMetal 
 IEnumerable.Cast<>() 
External Data 
 Business Connectivity Services 
Reference Data 
 Managed Metadata vs BCS Code Tables vs Lists 
23
Field names are not always what you think 
 Filename is LinkFilename 
HKEY_CURRENT_USERSoftwareMicrosoft 
VisualStudio11.0SharePointTools. 
 DWORD EnableDiagnostics=1 
24
SharePoint 2013 development overview 
(MSDN) 
What’s new for developers in SharePoint 2013 
Choose the right API set in SharePoint 2013 
(MSDN) 
Technical diagrams for SharePoint 2013 
(TechNet) 
25
Microsoft SharePoint Designer 
CodePlex SharePoint Manager 
Microsoft ULS Viewer 
CKS DevTools 
Microsoft SharePoint Online Code Analysis 
Framework (MSOCAF) 
LinqPad 
PowerGUI 
Notepad++ / Notepad++ Portable 
26
Andrew Connell 
Chris O’Brien – SharePoint Nuts and Bolts 
Yaroslav Pentarskky – ShareMuch 
Vlad Catrinescu – Absolute SharePoint 
Peter Holpar – 2nd Life of Hungarian 
SharePoint Geek 
Secrets of SharePoint 
SharePoint Developer Team (MSDN) 
27
John Calvert 
john at softwarecraft dot ca 
at softwarecraft99 
softwarecraft dot ca 
Fill out eval forms => win great prizes 
Draws after last session 
28
Remember to fill out your evaluation forms to win some great prizes! 
& 
Join us for SharePint today! 
Date & Time: Nov 23rd, 2013 @6:00 pm 
Location: The Observatory Pub, 
Algonquin Student’s Association 
Address: A-170 on Algonquin Campus 
Parking: No need to move your car!* 
Site: http://www.algonquinsa.com/ob.aspx

Más contenido relacionado

La actualidad más candente

Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Ben Robb
 
Spsbcn2018 joel rodrigues - pn p reusable controls and pnpjs
Spsbcn2018   joel rodrigues - pn p reusable controls and pnpjsSpsbcn2018   joel rodrigues - pn p reusable controls and pnpjs
Spsbcn2018 joel rodrigues - pn p reusable controls and pnpjsJoel Rodrigues
 
SPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjs
SPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjsSPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjs
SPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjsJoel Rodrigues
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Ejada
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netPankaj Kushwaha
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam KamelHosam Kamel
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIsJohn Calvert
 
Microsoft .NET Development Platform Internationalization
Microsoft .NET Development Platform InternationalizationMicrosoft .NET Development Platform Internationalization
Microsoft .NET Development Platform InternationalizationRishi Kothari
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesPeter Gfader
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1Kumar S
 
SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIsGiuseppe Marchi
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonKunaal Kapoor
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauSpiffy
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIRob Windsor
 

La actualidad más candente (20)

Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010
 
ASP.NET 4.0 Roadmap
ASP.NET 4.0 RoadmapASP.NET 4.0 Roadmap
ASP.NET 4.0 Roadmap
 
Spsbcn2018 joel rodrigues - pn p reusable controls and pnpjs
Spsbcn2018   joel rodrigues - pn p reusable controls and pnpjsSpsbcn2018   joel rodrigues - pn p reusable controls and pnpjs
Spsbcn2018 joel rodrigues - pn p reusable controls and pnpjs
 
Asp .net folders and web.config
Asp .net folders and web.configAsp .net folders and web.config
Asp .net folders and web.config
 
SPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjs
SPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjsSPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjs
SPS Leicester 2018 - Joel Rodrigues - PnP reusable controls and PnPjs
 
Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013Client Object Model and REST Improvements in SharePoint 2013
Client Object Model and REST Improvements in SharePoint 2013
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam Kamel
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Microsoft .NET Development Platform Internationalization
Microsoft .NET Development Platform InternationalizationMicrosoft .NET Development Platform Internationalization
Microsoft .NET Development Platform Internationalization
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1
 
SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIs
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
 
SharePoint 2013 REST and CSOM
SharePoint 2013 REST  and CSOMSharePoint 2013 REST  and CSOM
SharePoint 2013 REST and CSOM
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
 
Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST API
 

Similar a SharePoint for the .NET Developer

MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
A Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with JavascriptA Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with JavascriptSharePoint Saturday New Jersey
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewDotNetMarche
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development Chris O'Connor
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for DevsMicrosoftFeed
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beastgueste918732
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on AzureMaarten Balliauw
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Bruce Johnson
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint DevelopmentChakkaradeep Chandran
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersDave Bost
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)Rahul Singh
 

Similar a SharePoint for the .NET Developer (20)

MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
A Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with JavascriptA Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with Javascript
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical Overview
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 
Sps Boston The Share Point Beast
Sps Boston   The Share Point BeastSps Boston   The Share Point Beast
Sps Boston The Share Point Beast
 
Sergey Stoyan 2016
Sergey Stoyan 2016Sergey Stoyan 2016
Sergey Stoyan 2016
 
Sergey Stoyan 2016
Sergey Stoyan 2016Sergey Stoyan 2016
Sergey Stoyan 2016
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Developing With Data Technologies
Developing With Data TechnologiesDeveloping With Data Technologies
Developing With Data Technologies
 

Más de John Calvert

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedJohn Calvert
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureJohn Calvert
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesJohn Calvert
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced TroubleshootingJohn Calvert
 
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingSharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingJohn Calvert
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaJohn Calvert
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersJohn Calvert
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSJohn Calvert
 
Transform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptTransform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptJohn Calvert
 
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 PerspectiveJohn Calvert
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013John Calvert
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?John Calvert
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareJohn Calvert
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareJohn Calvert
 

Más de John Calvert (14)

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons Learned
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azure
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-Premises
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
 
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced TroubleshootingSharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What Matters
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSS
 
Transform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptTransform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScript
 
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
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
 

Último

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Último (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

SharePoint for the .NET Developer

  • 1. Practical SharePoint for the .NET Developer A Crash Course John Calvert SharePoint/Solution Architect Software Craft Inc. john at softwarecraft dot ca at softwarecraft99 November 23rd, 2013
  • 2. Thank you to all of our Sponsors!!
  • 3. Thank you to my personal Sponsors!! • http://www.cloudshare.com/
  • 4. SharePoint Development  Technologies  Models SharePoint APIs Getting Started – Coding to SharePoint APIs Diving in Deep – Coding inside SharePoint Q&A / Evals 4
  • 5. .NET / SharePoint solution architect Over 18 years experience developing business solutions for private industry & government Recent clients include Justice, NRC, NSERC, DFAIT, CFPSA, OSFI, MCC Specialize in Microsoft technologies 5
  • 6. 6
  • 7. 7
  • 8. Built on .NET 3.5.1, ASP.NET 3.5 , WF 3.5 IIS 7 and SQL Server 2008 Win 2008 or Win7, x64 8GB RAM single-server .NET 3.5 for code calling SOM and code deployed inside SharePoint 8
  • 9. Built on .NET 4.5, ASP.NET 4.5, WF 4.5 IIS 7.5 and SQL Server 2008 R2 Windows Server 2008 R2, x64 12GB RAM in 3-tier farm, 24GB RAM single-server (less if services disabled) .NET 4.5 for coding calling SOM and code deployed inside SharePoint 9
  • 10. 10
  • 11. As a service  Web / Phone / Desktop / Server / Mashup As a framework  SharePoint Web Page  App Model  Farm Solution  Sandbox Solution 11
  • 12. 12
  • 13. Any web or cloud IDE “Napa” Cloud-Based Development SharePoint Designer  HTML, CSS, JavaScript Visual Studio  .NET, etc PowerGUI or any PS command shell  PowerShell 13
  • 14. oData / REST  http://localhost/_vti_bin/ListData.svc  http://localhost/_api/lists/ Client-Side Object Model (CSOM)  ClientContext.ExecuteQuery(); Server App Model Server Object Model (SOM)  SPSite site = new SPSite("http://localhost/") Web Services  http://localhost/_vti_bin/Lists.asmx 14
  • 15. Using .NET, JavaScript, PHP, Ruby, etc Address an oData / REST end point Address CSOM .NET API 15
  • 16. $.ajax({ url: "http://localhost/_api/lists/getbytitle('Documents')/ite ms", type: "GET", headers: { "accept": "application/json;odata=verbose",}, success: function (data) { $.each(data.d.results, function (index, item) { $('#docs').append("<li>" + item.Id + " / " + item.Title + "</li>"); }, error: function (error) { alert(JSON.stringify(error)); } }); 16
  • 17. Uri u = newUri("http://localhost/_vti_bin/ListData.svc/", UriKind.Abs olute); TeamSiteDataContext ctx = newTeamSiteDataContext(u); ctx.Credentials = System.Net.CredentialCache.DefaultCrede ntials; DataServiceQuery<DocumentsItem> qry = ctx.Documents; IEnumerable<DocumentsItem> docs = qry.Execute(); 17
  • 18. Using WPF/WCF, WinForms or Silverlight Address an oData / REST end point Address CSOM or SOM .NET API 18
  • 19. using (ClientContext ctx = new ClientContext("http://loc alhost/")) { Web web = ctx.Web; ListCollection lists = web.Lists; List list = web.Lists.GetByTitle(libraryname); CamlQuery qry = new CamlQuery(); ListItemCollection items = list.GetItems(qry); ctx.Load(items, li => li.Include(pi => pi["LinkFilename" ])); ctx.ExecuteQuery(); return items; } 19
  • 20. using (SPSite site = new SPSite("http://localhost/")) { using (SPWeb web = site.RootWeb) { SPList list = web.Lists["Documents"]; SPListItemCollection items = list.Items; return items; } } 20
  • 21. Using .NET and HTML/CSS/JavaScript Use webparts Address SOM .NET API Address an oData / REST end point 21
  • 22. Coding  Visual Studio 11 improved item templates Debugging  Synch & Asynch Processes  Attaching from Visual Studio (CKS DevTools)  Developer Dashboard Logging  SPMonitoredScope Deployment  Package (*.WSP) and Feature  PowerShell 22
  • 23. Browser DOM Explorer  MSIE Developer Tools, etc LINQ in & for SharePoint  Generate Classes with SPMetal  IEnumerable.Cast<>() External Data  Business Connectivity Services Reference Data  Managed Metadata vs BCS Code Tables vs Lists 23
  • 24. Field names are not always what you think  Filename is LinkFilename HKEY_CURRENT_USERSoftwareMicrosoft VisualStudio11.0SharePointTools.  DWORD EnableDiagnostics=1 24
  • 25. SharePoint 2013 development overview (MSDN) What’s new for developers in SharePoint 2013 Choose the right API set in SharePoint 2013 (MSDN) Technical diagrams for SharePoint 2013 (TechNet) 25
  • 26. Microsoft SharePoint Designer CodePlex SharePoint Manager Microsoft ULS Viewer CKS DevTools Microsoft SharePoint Online Code Analysis Framework (MSOCAF) LinqPad PowerGUI Notepad++ / Notepad++ Portable 26
  • 27. Andrew Connell Chris O’Brien – SharePoint Nuts and Bolts Yaroslav Pentarskky – ShareMuch Vlad Catrinescu – Absolute SharePoint Peter Holpar – 2nd Life of Hungarian SharePoint Geek Secrets of SharePoint SharePoint Developer Team (MSDN) 27
  • 28. John Calvert john at softwarecraft dot ca at softwarecraft99 softwarecraft dot ca Fill out eval forms => win great prizes Draws after last session 28
  • 29. Remember to fill out your evaluation forms to win some great prizes! & Join us for SharePint today! Date & Time: Nov 23rd, 2013 @6:00 pm Location: The Observatory Pub, Algonquin Student’s Association Address: A-170 on Algonquin Campus Parking: No need to move your car!* Site: http://www.algonquinsa.com/ob.aspx

Notas del editor

  1. At the end of the day, please ensure your evaluation is signed and handed in for door prizes. The draw takes place in Room 102A.
  2. At the end of the day, please ensure your evaluation is signed and handed in for door prizes. The draw takes place in Room 102A.
  3. Presentation assumes a basic knowledge of SharePoint What kind of development are people doing: ASP.NET MVC / Forms? Web HTML5 / CSS / JavaScript? Mobile Phone / Tablet? .NET Services / Backend? .NET Desktop? How many people are using SharePoint today: SharePoint 2010? SharePoint 2013? Neither? How many people are developing for SharePoint today: SharePoint 2010? SharePoint 2013? Neither?
  4. SharePoint Development Platform Stack, http://msdn.microsoft.com/en-us/library/gg552610.aspx#SP14Architectures_platformstack SharePoint 2010 Architectures Overview, http://msdn.microsoft.com/en-us/library/gg552610.aspx
  5. Components of Business Connectivity Services, http://msdn.microsoft.com/en-us/library/jj163782.aspx#bkmk_Components Business Connectivity Services in SharePoint 2013, http://msdn.microsoft.com/en-us/library/jj163782.aspx
  6. Hardware and software requirements (SharePoint Server 2010) - http://technet.microsoft.com/en-us/library/cc262485(v=office.14).aspx
  7. Windows 7 platform not an option for developers, unlike SharePoint 2010 Memory requirements are heavier, 12-16G with search, 24G with search Hardware and software requirements for SharePoint 2013 - http://technet.microsoft.com/en-us/library/cc262485.aspx
  8. TechSling - Things You Didn’t Know About SharePoint 2013 - http://www.techsling.com/2013/10/things-you-didnt-know-about-sharepoint-2013/
  9. As a service : means code that calls SharePoint APIs but is not deployed in SharePoint. As a framework : means code that is deployed inside or by SharePoint. App Model is a special case, it is not deployed inside SharePoint but is deployed by SharePoint. Not going to talk about App Model as there is another session on this topic, “An Introduction to Developing and Deploying Apps for Microsoft SharePoint and Office 2013” at 2:30pm in the Developer track
  10. Find your project type in the unbolded black type to see what your choices are for SharePoint development Choose the right API set in SharePoint 2013 - http://msdn.microsoft.com/en-us/library/jj164060.aspx
  11. Microsoft “Napa” Office 365 Development Tools is a cloud-based development IDE for building Apps for MS Office or MS SharePoint sign up for an Office 365 Developer Site install Napa Office 365 Development Tools on your Office 365 Developer site you are ready to create apps for Office documents, mail items or SharePoint Won’t say any more about “Napa” or App Model as there is another session on this topic, “An Introduction to Developing and Deploying Apps for Microsoft SharePoint and Office 2013” at 2:30pm in the Developer track Other IDEs: Microsoft WebMatrix - http://www.microsoft.com/web/webmatrix/ Microsoft Lightswitch - http://msdn.microsoft.com/en-us/vstudio/ff796201.aspx Any web or cloud dev IDE
  12. Choose the right API set in SharePoint 2013 - http://msdn.microsoft.com/en-us/library/jj164060.aspx Deprecated and not recommended: ASP.NET (asmx) web services direct Remote Procedure Calls (RPC) calls to the owssvr.dll file
  13. SharePoint 2013 REST API, endpoints, and samples - http://msdn.microsoft.com/en-us/library/office/jj860569.aspx
  14. Deployment and Admin: stsadm is deprecated but may occasionally be required
  15. http://sps.cloudapp.net/
  16. MSOCAF is intended for SharePoint Online app development, but it can also be used to analyze on premises solutions MSOCAF code analysis covers: exception management, memory management, object model usage, security vulnerabilities, deprecated / unsupported features, etc MSOCAF combines the benefit of earlier tools FxCop, CAT.Net, and SPDisposeCheck LINQPad commercial Pro/Premium editions required for additional features: Autocompletion, namespace and assembly resolution, snippets, NuGet integration, etc