SlideShare a Scribd company logo
SharePoint
Development 101
St. Louis Metro East .NET User Group
June 17, 2014
Becky Bertram
Owner, Savvy Technical Solutions
www.savvytechnicalsolutions.com
@beckybertram
About Me
• Owner of Savvy Technical Solutions
in O’Fallon, IL
• 5 time SharePoint MVP
• Co-author of Wrox SharePoint Six-in-One
• Co-author of several Microsoft exams
• Instructor at CAIT @ Wash U
• Started working with MS CMS in 2001,
SharePoint in 2006
• Wife of Ryan, mother of Lilly and Abby (3 and 1 years)
• Hobbies: sleeping and showering
Flavors of SharePoint
• SharePoint Team Services (STS) and SharePoint
Portal Server (SPS)
• Windows SharePoint Services (2.0 and 3.0) and
Microsoft Office SharePoint Server 2007 (MOSS)
• SharePoint Foundation 2010 and SharePoint
Server 2010
• SharePoint Foundation 2013 and SharePoint
Server 2013
-----------------
• BPOS
• SharePoint Online (part of Office 365)
What is SharePoint?
• Web-based too for building intranet, extranet, or internet applications
• Allows users to quickly spin up sites, manage documents, search for content
• Enterprise tools for managing external content, business processes, external
data, etc.
• Social and collaborative tool to encourage teams to work together toward
common goals
• Enterprise search engine, document preview, etc.
• Front-end for other MS products, such as SSRS, Project, etc.
• Bottom line: platform more than a product,
a tool belt full of tools you get to choose
from to build your application
Making Changes to
SharePoint
• Configuration
• Customization
• Development
Configuration
• Configuring application features:
• Setting up Service Applications such as
Search, BCS, Managed Metadata, etc.
• Done with Central Admin or PowerShell
• Configuring Web Parts:
• Setting web part properties so they
demonstrate the proper behavior
• Done with SharePoint Designer (SPD) or
through the browser
Customization
• Content stored in the content DB
• Application files on WFE servers
• SP uses app files on server to serve as
templates
• Customization is when you deviate from
the template and SP stores the changed
version in the content DB
• Customization usually done in SPD
Development
• Implies the use of development tools
such as Visual Studio
• Code-based applications that are file-
based and can be checked into source
control
• Changes can be deployed via solution
packages or as SharePoint apps to
multiple environments
Visual Studio SharePoint
Templates
SharePoint App Template
Where’s Workflow?
• Workflow no longer part of available VS
templates
• WF now declarative in SP. Custom workflows
run in WM.
• If you need to access custom workflow logic,
you can even write a web service to call out
to.
• Since WF is now just an XML node, can be
added as an item to a “regular” SP project.
Remote Event Receiver
• An event receiver is code that fires when
an activity happens such as a web site is
created or deleted, an item is added or
deleted from a list or library, etc.
• Legacy event handlers deployed within
assemblies in farm solutions
• Remote event receivers are exposed web
services that SharePoint calls when the
event happens. Your custom code can
then use CSOM if it needs to access SP
data, or it can act on external LOB data.
VS Project Items
Solution Packages
• A CAB file with a WSP extension
• Solution Manifest is an XML file that gives
SP instructions about what to do with files in
the package
• Packages typically contain:
• Flat files to be installed in the SharePoint
installation directory on the WFE
• Assemblies to be put in the GAC
• Instructions about content to be added to a
content DB
• Controls to be marked as “safe” in the web.config
Feature
• A unit a functionality than can be
implemented at the farm, web
application, site collection, or site level
• Can execute code and/or add something
to the content databases.
• Examples: add a master page and CSS
to the top level site, add a content type
or site column to the site collection, add
a list definition or list instance to your
site; kick off a timer job; add a link to
the ribbon or the site settings page.
Farm Solution
• Solution package deployed within a SP farm.
Can be deployed to a particular web
application within SP. (Web app typically
connected w/ one or more IIS web sites.)
• Gracefully handles added servers to the
farm
• Files deployed to file system; assemblies
(typically) deployed in GAC; code executes
in web server process (W3WP.exe)
• Deprecated
Sandboxed Solutions
• Code executes in a separate (sandboxed) worker process
• If too many resources used, can be shut down. Prevents
unintended consequences in multi-tenant environment.
• Solutions uploaded by site collection admins
• Server resource throttling handled by farm admins
• (Mostly) deprecated
• Uses SSOM with restrictions (can’t access objects above
site collection level, can’t elevate permissions)
Server-Side Object Model
• SharePoint managed (i.e. .NET)
assemblies contain SharePoint API
• Assemblies installed on the SharePoint
WFE, ergo development must take place
on a SharePoint server (usually VM)
• This approach is deprecated, but none of
the APIs themselves have been
deprecated.
SSOM code example
using Microsoft.SharePoint;
using(SPSite site = new SPSite("http://intranet"))
{
using(SPWeb web = site.OpenWeb(“deprtments/hr"))
{
using(SPWeb root = site) { ... }
}
}
Client-side Object Model
• Microsoft-sanctioned way of accessing data and
functionality inside SharePoint server from
outside SharePoint (i.e. on a “client”).
• Means no custom code running on SharePoint
server except what has been sanctioned by MS
to work via their object model
• The future
• OM augmented all the time to get parity with
older SSOM
Managed Code CSOM
• .NET assemblies that can run on a non-
SharePoint server to access data inside
SharePoint
• Windows app
• Test jigs
• Data import
• Exposed web services
• Etc
• SharePoint apps
• Externally hosted web sites
ECMA Script CSOM
• (Pretty much JavaScript) way of
accessing data inside SharePoint from a
web page
• Web page can be hosted in SharePoint,
or hosted outside SharePoint (perhaps on
a SharePoint App page)
• Reference JS library such as sp.core.js
and sp.core.debug.js)
• Can be used with Jquery or AJAX libraries
CSOM Example
function retrieveWebSiteProperties(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
this.oWebsite = clientContext.get_web();
clientContext.load(this.oWebsite, 'Title', 'Created');
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed) );
}
function onQuerySucceeded(sender, args) {
alert('Title: ' + this.oWebsite.get_title() + '
Created: ' + this.oWebsite.get_created());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + 'n' +
args.get_stackTrace());
}
ODATA and REST
• Way of accessing data within SharePoint
using a URL, and HTTP Request and
Response objects
• Handled by client.svc web service in SP,
aliased with _api.
• To access site data, use the site URL
followed by _api, such as
http://intranet/hr/_api
• Append which object you want to work with
after the _api, such as /site, /web, or /lists,
such as:
http://intranet/hr/_api/lists/getbytitle(‘employees')
ODATA and REST Cont’d
• Use HTTP commands to carry out CRUD
operations:
• POST (Create)
• GET (Read)
• MERGE or PUT (Update)
• DELETE
• Results returned using JSON or ATOM
• Very fast response. Useful for
autocomplete, etc.
Using ODATA with JS
function getListItem(url, listname, id, complete,
failure) {
$.ajax({
url: url + "/_api/lists/getbytitle('" + listname +
"')/items(" + id + ")",
method: "GET",
headers: { "Accept": "application/json;
odata=verbose" },
success: function (data) {
complete(data);
},
error: function (data) {
failure(data);
}
});
}
}
SharePoint Web Services API
• Deprecated way of accessing SharePoint
• Stored in _vti_bin:
http://Site/_vti_bin/Lists.asmx
• However, fairly robust. Using SPServices,
can use SP Web Services API as JQuery
on the client (SPServices.codeplex.com)
SPServices Example
<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="filelink/jquery.SPServices-
0.6.2.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$().SPServices({
operation: "GetListItems",
async: false,
listName: "Announcements",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row")
.each(function() {
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
$("#tasksUL").append(liHtml);
});
}
});
});
</script>
<ul id="tasksUL"/>
SharePoint App Model
• Much like the concept of an “app store”
for your phone or tablet
• Office Store is for publicly sold apps
• Corporate Catalog is for apps you create
and load just in your farm
• Goal is for ZERO custom code to run
inside the SP environment
App Locations
• Host Web:
• Location where app is installed. Web from
which a user navigates to app
• Can contain an App Part, which to user feels
like a web part, but is actually an IFrame to
a page in your app.
• App web:
• Location of your actual app.
• Provider-hosted: located OUTSIDE of SP
• SharePoint-hosted: located in a subsite (with
a different URL). Still no server-side code
• Can be the same or unique
Napa
Napa app is a web-based tool for
generating apps on the fly in your Office
365 developer site
Questions?

More Related Content

PPTX
So you’re building an intranet
PPTX
My First SharePoint Online PowerApp
PPTX
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
PPTX
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
PDF
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
PPTX
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
PPTX
SPSNYC 2016 - Big data in SharePoint and the 5,000 Item List View Threshold
PDF
What's new in SharePoint 2013 - Discover it
So you’re building an intranet
My First SharePoint Online PowerApp
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology
SPSNYC 2016 - Big data in SharePoint and the 5,000 Item List View Threshold
What's new in SharePoint 2013 - Discover it

What's hot (20)

PPTX
Going with the Flow: Rationalizing the workflow options in SharePoint Online
PPTX
Mobile devices and SharePoint
PPTX
SharePoint Online - Friend or Foe
PPTX
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
PPTX
How to build SharePoint 2013 Killer Apps
PPTX
Get started with building native mobile apps interacting with SharePoint
PPTX
10 Best SharePoint Features You’ve Never Used (But Should)
PPTX
SharePoint 2016 Migration Success Takes Three Steps
PPTX
Workflow Manager Tips & Tricks
PDF
Office 365 Tip: Create a team site on SharePoint
PDF
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
PPTX
SharePoint 2016 - What's New, What's Not
PPTX
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
PPTX
Modern SharePoint, the Good, the Bad, and the Ugly
PPTX
Search Server 2010
PPTX
Building an Extranet with Office 365
PDF
Access Web Apps E-Book
PDF
Sharepoint Overview
PPTX
Getting started with SharePoint 2013 online development
PDF
Delve and the Office Graph for IT- Pros & Admins
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Mobile devices and SharePoint
SharePoint Online - Friend or Foe
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
How to build SharePoint 2013 Killer Apps
Get started with building native mobile apps interacting with SharePoint
10 Best SharePoint Features You’ve Never Used (But Should)
SharePoint 2016 Migration Success Takes Three Steps
Workflow Manager Tips & Tricks
Office 365 Tip: Create a team site on SharePoint
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
SharePoint 2016 - What's New, What's Not
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
Modern SharePoint, the Good, the Bad, and the Ugly
Search Server 2010
Building an Extranet with Office 365
Access Web Apps E-Book
Sharepoint Overview
Getting started with SharePoint 2013 online development
Delve and the Office Graph for IT- Pros & Admins
Ad

Similar to Share point development 101 (20)

PPTX
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
PPTX
SharePoint 2013 APIs
PPTX
What’s New for Devs
PPTX
SharePoint 2013 APIs demystified
PPTX
Sharepoint development 2013 course content | sharepoint 2013 course content
PPTX
SharePoint for the .NET Developer
PDF
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
PPTX
So You Want to Be a SharePoint Developer - SPS Utah 2015
PPTX
Intro to SharePoint for Developers
PPTX
SPSDenver - Wrapping Your Head Around the SharePoint Beast
PPTX
SharePoint Object Model, Web Services and Events
PPTX
SharePoint 2013 - What's New
PPTX
Custom Development for SharePoint
PPTX
Custom Development in SharePoint – What are my options now?
PPTX
SharePoint Development 101
PPTX
What's new for Developers in SharePoint 2013
PPTX
Dealing with and learning from the sandbox
PPTX
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
PDF
Share point review qustions
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
SharePoint 2013 APIs
What’s New for Devs
SharePoint 2013 APIs demystified
Sharepoint development 2013 course content | sharepoint 2013 course content
SharePoint for the .NET Developer
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
So You Want to Be a SharePoint Developer - SPS Utah 2015
Intro to SharePoint for Developers
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SharePoint Object Model, Web Services and Events
SharePoint 2013 - What's New
Custom Development for SharePoint
Custom Development in SharePoint – What are my options now?
SharePoint Development 101
What's new for Developers in SharePoint 2013
Dealing with and learning from the sandbox
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Share point review qustions
Ad

More from Becky Bertram (11)

PPTX
Introduction to Communication Sites
PPTX
Microsoft Graph
PPTX
SharePoint 2010 Tools in Visual Studio 2010
PPTX
How do i connect to that
PPTX
SharePoint and Open XML
PPTX
SharePoint Publishing 101
PPTX
Help! I've got a share point site! Now What?
PPTX
Developing retention rules that work
PPTX
Microsoft Exam 70-331 Exam Cram Study Guide
PPTX
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
PPTX
Social Features of SharePoint 2013: Enhancing Productivity
Introduction to Communication Sites
Microsoft Graph
SharePoint 2010 Tools in Visual Studio 2010
How do i connect to that
SharePoint and Open XML
SharePoint Publishing 101
Help! I've got a share point site! Now What?
Developing retention rules that work
Microsoft Exam 70-331 Exam Cram Study Guide
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Social Features of SharePoint 2013: Enhancing Productivity

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
AI in Product Development-omnex systems
PDF
top salesforce developer skills in 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Essential Infomation Tech presentation.pptx
PPTX
history of c programming in notes for students .pptx
PPTX
Introduction to Artificial Intelligence
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Transform Your Business with a Software ERP System
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Softaken Excel to vCard Converter Software.pdf
Nekopoi APK 2025 free lastest update
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
AI in Product Development-omnex systems
top salesforce developer skills in 2025.pdf
ai tools demonstartion for schools and inter college
Odoo POS Development Services by CandidRoot Solutions
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
CHAPTER 2 - PM Management and IT Context
Essential Infomation Tech presentation.pptx
history of c programming in notes for students .pptx
Introduction to Artificial Intelligence
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Understanding Forklifts - TECH EHS Solution
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
Transform Your Business with a Software ERP System
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Softaken Excel to vCard Converter Software.pdf

Share point development 101

  • 1. SharePoint Development 101 St. Louis Metro East .NET User Group June 17, 2014 Becky Bertram Owner, Savvy Technical Solutions www.savvytechnicalsolutions.com @beckybertram
  • 2. About Me • Owner of Savvy Technical Solutions in O’Fallon, IL • 5 time SharePoint MVP • Co-author of Wrox SharePoint Six-in-One • Co-author of several Microsoft exams • Instructor at CAIT @ Wash U • Started working with MS CMS in 2001, SharePoint in 2006 • Wife of Ryan, mother of Lilly and Abby (3 and 1 years) • Hobbies: sleeping and showering
  • 3. Flavors of SharePoint • SharePoint Team Services (STS) and SharePoint Portal Server (SPS) • Windows SharePoint Services (2.0 and 3.0) and Microsoft Office SharePoint Server 2007 (MOSS) • SharePoint Foundation 2010 and SharePoint Server 2010 • SharePoint Foundation 2013 and SharePoint Server 2013 ----------------- • BPOS • SharePoint Online (part of Office 365)
  • 4. What is SharePoint? • Web-based too for building intranet, extranet, or internet applications • Allows users to quickly spin up sites, manage documents, search for content • Enterprise tools for managing external content, business processes, external data, etc. • Social and collaborative tool to encourage teams to work together toward common goals • Enterprise search engine, document preview, etc. • Front-end for other MS products, such as SSRS, Project, etc. • Bottom line: platform more than a product, a tool belt full of tools you get to choose from to build your application
  • 5. Making Changes to SharePoint • Configuration • Customization • Development
  • 6. Configuration • Configuring application features: • Setting up Service Applications such as Search, BCS, Managed Metadata, etc. • Done with Central Admin or PowerShell • Configuring Web Parts: • Setting web part properties so they demonstrate the proper behavior • Done with SharePoint Designer (SPD) or through the browser
  • 7. Customization • Content stored in the content DB • Application files on WFE servers • SP uses app files on server to serve as templates • Customization is when you deviate from the template and SP stores the changed version in the content DB • Customization usually done in SPD
  • 8. Development • Implies the use of development tools such as Visual Studio • Code-based applications that are file- based and can be checked into source control • Changes can be deployed via solution packages or as SharePoint apps to multiple environments
  • 11. Where’s Workflow? • Workflow no longer part of available VS templates • WF now declarative in SP. Custom workflows run in WM. • If you need to access custom workflow logic, you can even write a web service to call out to. • Since WF is now just an XML node, can be added as an item to a “regular” SP project.
  • 12. Remote Event Receiver • An event receiver is code that fires when an activity happens such as a web site is created or deleted, an item is added or deleted from a list or library, etc. • Legacy event handlers deployed within assemblies in farm solutions • Remote event receivers are exposed web services that SharePoint calls when the event happens. Your custom code can then use CSOM if it needs to access SP data, or it can act on external LOB data.
  • 14. Solution Packages • A CAB file with a WSP extension • Solution Manifest is an XML file that gives SP instructions about what to do with files in the package • Packages typically contain: • Flat files to be installed in the SharePoint installation directory on the WFE • Assemblies to be put in the GAC • Instructions about content to be added to a content DB • Controls to be marked as “safe” in the web.config
  • 15. Feature • A unit a functionality than can be implemented at the farm, web application, site collection, or site level • Can execute code and/or add something to the content databases. • Examples: add a master page and CSS to the top level site, add a content type or site column to the site collection, add a list definition or list instance to your site; kick off a timer job; add a link to the ribbon or the site settings page.
  • 16. Farm Solution • Solution package deployed within a SP farm. Can be deployed to a particular web application within SP. (Web app typically connected w/ one or more IIS web sites.) • Gracefully handles added servers to the farm • Files deployed to file system; assemblies (typically) deployed in GAC; code executes in web server process (W3WP.exe) • Deprecated
  • 17. Sandboxed Solutions • Code executes in a separate (sandboxed) worker process • If too many resources used, can be shut down. Prevents unintended consequences in multi-tenant environment. • Solutions uploaded by site collection admins • Server resource throttling handled by farm admins • (Mostly) deprecated • Uses SSOM with restrictions (can’t access objects above site collection level, can’t elevate permissions)
  • 18. Server-Side Object Model • SharePoint managed (i.e. .NET) assemblies contain SharePoint API • Assemblies installed on the SharePoint WFE, ergo development must take place on a SharePoint server (usually VM) • This approach is deprecated, but none of the APIs themselves have been deprecated.
  • 19. SSOM code example using Microsoft.SharePoint; using(SPSite site = new SPSite("http://intranet")) { using(SPWeb web = site.OpenWeb(“deprtments/hr")) { using(SPWeb root = site) { ... } } }
  • 20. Client-side Object Model • Microsoft-sanctioned way of accessing data and functionality inside SharePoint server from outside SharePoint (i.e. on a “client”). • Means no custom code running on SharePoint server except what has been sanctioned by MS to work via their object model • The future • OM augmented all the time to get parity with older SSOM
  • 21. Managed Code CSOM • .NET assemblies that can run on a non- SharePoint server to access data inside SharePoint • Windows app • Test jigs • Data import • Exposed web services • Etc • SharePoint apps • Externally hosted web sites
  • 22. ECMA Script CSOM • (Pretty much JavaScript) way of accessing data inside SharePoint from a web page • Web page can be hosted in SharePoint, or hosted outside SharePoint (perhaps on a SharePoint App page) • Reference JS library such as sp.core.js and sp.core.debug.js) • Can be used with Jquery or AJAX libraries
  • 23. CSOM Example function retrieveWebSiteProperties(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); this.oWebsite = clientContext.get_web(); clientContext.load(this.oWebsite, 'Title', 'Created'); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded(sender, args) { alert('Title: ' + this.oWebsite.get_title() + ' Created: ' + this.oWebsite.get_created()); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace()); }
  • 24. ODATA and REST • Way of accessing data within SharePoint using a URL, and HTTP Request and Response objects • Handled by client.svc web service in SP, aliased with _api. • To access site data, use the site URL followed by _api, such as http://intranet/hr/_api • Append which object you want to work with after the _api, such as /site, /web, or /lists, such as: http://intranet/hr/_api/lists/getbytitle(‘employees')
  • 25. ODATA and REST Cont’d • Use HTTP commands to carry out CRUD operations: • POST (Create) • GET (Read) • MERGE or PUT (Update) • DELETE • Results returned using JSON or ATOM • Very fast response. Useful for autocomplete, etc.
  • 26. Using ODATA with JS function getListItem(url, listname, id, complete, failure) { $.ajax({ url: url + "/_api/lists/getbytitle('" + listname + "')/items(" + id + ")", method: "GET", headers: { "Accept": "application/json; odata=verbose" }, success: function (data) { complete(data); }, error: function (data) { failure(data); } }); } }
  • 27. SharePoint Web Services API • Deprecated way of accessing SharePoint • Stored in _vti_bin: http://Site/_vti_bin/Lists.asmx • However, fairly robust. Using SPServices, can use SP Web Services API as JQuery on the client (SPServices.codeplex.com)
  • 28. SPServices Example <script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="filelink/jquery.SPServices- 0.6.2.min.js"></script> <script language="javascript" type="text/javascript"> $(document).ready(function() { $().SPServices({ operation: "GetListItems", async: false, listName: "Announcements", CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>", completefunc: function (xData, Status) { $(xData.responseXML).SPFilterNode("z:row") .each(function() { var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>"; $("#tasksUL").append(liHtml); }); } }); }); </script> <ul id="tasksUL"/>
  • 29. SharePoint App Model • Much like the concept of an “app store” for your phone or tablet • Office Store is for publicly sold apps • Corporate Catalog is for apps you create and load just in your farm • Goal is for ZERO custom code to run inside the SP environment
  • 30. App Locations • Host Web: • Location where app is installed. Web from which a user navigates to app • Can contain an App Part, which to user feels like a web part, but is actually an IFrame to a page in your app. • App web: • Location of your actual app. • Provider-hosted: located OUTSIDE of SP • SharePoint-hosted: located in a subsite (with a different URL). Still no server-side code • Can be the same or unique
  • 31. Napa Napa app is a web-based tool for generating apps on the fly in your Office 365 developer site