SlideShare une entreprise Scribd logo
1  sur  32
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?

Contenu connexe

Tendances

Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineBob German
 
Mobile devices and SharePoint
Mobile devices and SharePointMobile devices and SharePoint
Mobile devices and SharePointmaliksahil
 
SharePoint Online - Friend or Foe
SharePoint Online - Friend or FoeSharePoint Online - Friend or Foe
SharePoint Online - Friend or FoeJasper Oosterveld
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Toni Frankola
 
How to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer AppsHow to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer AppsMaarten Visser
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointYaroslav Pentsarskyy [MVP]
 
10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)10 Best SharePoint Features You’ve Never Used (But Should)
10 Best SharePoint Features You’ve Never Used (But Should)Christian Buckley
 
SharePoint 2016 Migration Success Takes Three Steps
SharePoint 2016 Migration Success Takes Three StepsSharePoint 2016 Migration Success Takes Three Steps
SharePoint 2016 Migration Success Takes Three StepsAdam Levithan
 
Workflow Manager Tips & Tricks
Workflow Manager Tips & TricksWorkflow Manager Tips & Tricks
Workflow Manager Tips & TricksMai Omar Desouki
 
Office 365 Tip: Create a team site on SharePoint
Office 365 Tip: Create a team site on SharePointOffice 365 Tip: Create a team site on SharePoint
Office 365 Tip: Create a team site on SharePointMicrosoft India
 
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint SitesECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint SitesEuropean Collaboration Summit
 
SharePoint 2016 - What's New, What's Not
SharePoint 2016 - What's New, What's NotSharePoint 2016 - What's New, What's Not
SharePoint 2016 - What's New, What's NotRegroove
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyBob German
 
Sharepoint Overview
Sharepoint OverviewSharepoint Overview
Sharepoint OverviewVinh Nguyen
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentJeremy Thake
 
Delve and the Office Graph for IT- Pros & Admins
Delve and the Office Graph for IT- Pros & AdminsDelve and the Office Graph for IT- Pros & Admins
Delve and the Office Graph for IT- Pros & AdminsSPC Adriatics
 

Tendances (20)

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

Similaire à Share point development 101

Spca2014 chris o brien modern share-point development - techniques for off-...
Spca2014 chris o brien   modern share-point development - techniques for off-...Spca2014 chris o brien   modern share-point development - techniques for off-...
Spca2014 chris o brien modern share-point development - techniques for off-...NCCOMMS
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013C5 Insight
 
The Path through SharePoint Migrations
The Path through SharePoint MigrationsThe Path through SharePoint Migrations
The Path through SharePoint MigrationsBrian Caauwe
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!Ben Steinhauser
 
Drew madelung sp designer workflows - sp-biz
Drew madelung   sp designer workflows - sp-bizDrew madelung   sp designer workflows - sp-biz
Drew madelung sp designer workflows - sp-bizDrew Madelung
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Kashish Sukhija
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSguest7c2e070
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsBrian Caauwe
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection NavigationThomas Daly
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples Yochay Kiriaty
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSThomas Daly
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point appTalbott Crowell
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassEuropean Collaboration Summit
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 

Similaire à Share point development 101 (20)

Spca2014 chris o brien modern share-point development - techniques for off-...
Spca2014 chris o brien   modern share-point development - techniques for off-...Spca2014 chris o brien   modern share-point development - techniques for off-...
Spca2014 chris o brien modern share-point development - techniques for off-...
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 
The Path through SharePoint Migrations
The Path through SharePoint MigrationsThe Path through SharePoint Migrations
The Path through SharePoint Migrations
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
 
Drew madelung sp designer workflows - sp-biz
Drew madelung   sp designer workflows - sp-bizDrew madelung   sp designer workflows - sp-biz
Drew madelung sp designer workflows - sp-biz
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint Migrations
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 

Plus de Becky Bertram

Introduction to Communication Sites
Introduction to Communication SitesIntroduction to Communication Sites
Introduction to Communication SitesBecky Bertram
 
SharePoint 2010 Tools in Visual Studio 2010
SharePoint 2010 Tools in Visual Studio 2010SharePoint 2010 Tools in Visual Studio 2010
SharePoint 2010 Tools in Visual Studio 2010Becky Bertram
 
How do i connect to that
How do i connect to thatHow do i connect to that
How do i connect to thatBecky Bertram
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XMLBecky Bertram
 
SharePoint Publishing 101
SharePoint Publishing 101SharePoint Publishing 101
SharePoint Publishing 101Becky Bertram
 
Help! I've got a share point site! Now What?
Help! I've got a share point site! Now What?Help! I've got a share point site! Now What?
Help! I've got a share point site! Now What?Becky Bertram
 
Developing retention rules that work
Developing retention rules that workDeveloping retention rules that work
Developing retention rules that workBecky Bertram
 
Microsoft Exam 70-331 Exam Cram Study Guide
Microsoft Exam 70-331 Exam Cram Study GuideMicrosoft Exam 70-331 Exam Cram Study Guide
Microsoft Exam 70-331 Exam Cram Study GuideBecky Bertram
 
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsExam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsBecky Bertram
 
Social Features of SharePoint 2013: Enhancing Productivity
Social Features of SharePoint 2013: Enhancing ProductivitySocial Features of SharePoint 2013: Enhancing Productivity
Social Features of SharePoint 2013: Enhancing ProductivityBecky Bertram
 

Plus de Becky Bertram (11)

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

Dernier

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Dernier (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

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