SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

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 do 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