SlideShare a Scribd company logo
1 of 24
SACRAMENTO
SharePoint Apps in SharePoint
2013
Ryan Schouten
@shrpntknight
ITG
About Me
Ryan Schouten
Worked with SharePoint for 7 years
I have experience with SharePoint 2003 – 2013
I have worked with ASP.Net for 11 years
MCPD
Contact Information
Ryan.Schouten@itg-mail.com
@shrpntknight
http://www.sharepointknight.com
Objectives
• The Need
• Benefits
• Hosting Options
• Limitations
• New Functionality
• Development Options
• Permissions and Security
• Deployment
• Break it Down
Why the change
Hence the new App Model
• No custom code on the SharePoint server
• Easier to upgrade to future versions of SharePoint
• Works in Office 365 SharePoint Online without limitations
• Reduces the ramp-up time for those building apps
• Don’t need to know/be as familiar with SharePoint “-isms”
• Leverage hosting platform features in new apps
• Enables taking SharePoint apps to different levels – further than what
can be done with farm / sandbox solutions
Benefits (continued)
• Low cost of entry for developers
• Hosted SharePoint Dev sites
• No need to have a farm per developer (Shared Development Farms/Tenants)
• No Intensive development environment requirements
Hosting Options
SharePoint-Hosted App
Provision an isolated sub web on a parent web (separate domain)
• Reuse web elements
(lists, files, out-of-box web parts)
• No server code allowed; use client JavaScript for logic, UX
Provider-Hosted App
“Bring your own server hosting
infrastructure and technology platform”
Get remote events from
SharePoint
Use CSOM/REST +
OAuth to work with SP
Cloud-based Apps
Your
Hosted Site
Autohosted App
Windows Azure + SQL Azure provisioned
invisibly as apps are installed
Azure
SharePoint
Host Web
App Web*
(separate SharePoint
domain)
SharePoint
Host Web
App Web*
(separate SharePoint
domain)
SharePoint
Host Web
App Web
(separate SharePoint
domain)
Hosting Comparison
SharePoint Hosted Cloud Hosted
App Scope SharePoint Site Site or Tenancy
Architecture Web Site Can be Multi-Tenant
App
Developer Skillset SharePoint + HTML/JS Full Stack
UI Technologies SharePoint + HTML/JS Any Web Stack
Server Code None Any
Storage Lists and Libraries Any
Key Limitations No Server Code Hosting Expertise
Required
Good for… Smaller apps &
resource storage
Any type of Application
App Presentation Options
Shape Description Example
Immersive Full Page App App that implements a
new scenario for
customers
Resource Tracking,
Budgeting
App Part Provides new parts you
can add to your sites
Weather, News, Stock
Ticker
Extension App Add new actions for
documents and items
Display Document
Visualization, Print to
Print Service Vendor
Limitations
• Apps in general
• Deployed to different domain(extra login possible)
• Initial configuration is a pain
• App Parts
• Loaded in an iframe(size is fixed)
• Also loaded from other domain
New Functionality
• Improved CSOM
• Improved Rest API
• Needed since code is not run in SharePoint Processes
• O-Auth Security
• New Security Model to allow app specific permissions
Let’s Create Our First App
JSOM Library
• Library has two versions
• PS.js – minified version of the library
• PS.Debug.js – unminified with intellisense
• Both can be found in the layouts folder
• %ProgramFiles%Common FilesMicrosoft SharedWeb Server
Extensions15TEMPLATELAYOUTS
• http://siteurl/_layouts/15
• Easiest way to reference it in SharePoint is
<SharePoint:ScriptLink name="PS.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />
Example
SP.SOD.executeOrDelayUntilScriptLoaded(GetProjects, "PS.js");
function GetProjects()
{
var projContext = PS.ProjectContext.get_current();
projects = projContext.get_projects();
projContext.load(projects, 'Include(Name, CreatedDate, Id)');
projContext.executeQueryAsync(onQuerySucceeded, onQueryFailed);
}
Continued
function onQuerySucceeded(sender, args)
{
var projectEnumerator = projects.getEnumerator();
while (projectEnumerator.moveNext()) {
var project = projectEnumerator.get_current();
var row = tblProjects.insertRow();
row.insertCell().innerText = project.get_name();
row.insertCell().innerText = project.get_createdDate();
row.insertCell().innerText = project.get_id();
}
}
Let’s Try It
Permissions and Security
• Apps have their own permissions
• You must specify what SharePoint you want to access in your
Manifest
• Content is secured through Oauth
• Users must have the permissions you need for them to install
Deployment
• Everything Packaged into a .app file
• This can be used to add the app manually to a site or publish it to the
SharePoint Store
Let’s Examine How this works
Gotchas
• On-Premise Sites are not configured by default to handle Apps
• Sideloading of apps is not enabled on this site.
• Enable-SPFeature e374875e-06b6-11e0-b0fa-57f5dfd72085 –
url http://sp.contoso.com
• App Management Shared Service Proxy is not installed.
• Technet article on how to setup On-Premise for development
• http://msdn.microsoft.com/en-us/library/fp179923.aspx
Join us right after at The Blue Prynt
Socialize and unwind after our day of learning.
Blue Prynt Restaurant & Bar
815 11th St, Sacramento, CA 95814
bluepryntsacramento.com
SACRAMENTO

More Related Content

What's hot

O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenNCCOMMS
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSSharePointInstitute
 
Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Ben Robb
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBen Robb
 
Data access options share point data
Data access options   share point dataData access options   share point data
Data access options share point dataDavid J Rosenthal
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
Introduction to Office 365 PnP- Reusable solutions
Introduction to Office 365 PnP- Reusable solutionsIntroduction to Office 365 PnP- Reusable solutions
Introduction to Office 365 PnP- Reusable solutionsSPC Adriatics
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsInnoTech
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkBob German
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013Alex Pop
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
 
Building your first app for share point 2013
Building your first app for share point 2013Building your first app for share point 2013
Building your first app for share point 2013Muawiyah Shannak
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationSharePoint Saturday New Jersey
 
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechConBuilding Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechConSPTechCon
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 

What's hot (17)

O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010
 
Build a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutesBuild a SharePoint website in 60 minutes
Build a SharePoint website in 60 minutes
 
Data access options share point data
Data access options   share point dataData access options   share point data
Data access options share point data
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Introduction to Office 365 PnP- Reusable solutions
Introduction to Office 365 PnP- Reusable solutionsIntroduction to Office 365 PnP- Reusable solutions
Introduction to Office 365 PnP- Reusable solutions
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-Ins
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
 
Building your first app for share point 2013
Building your first app for share point 2013Building your first app for share point 2013
Building your first app for share point 2013
 
Word on the Server
Word on the ServerWord on the Server
Word on the Server
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechConBuilding Apps for SharePoint 2013 by Andrew Connell - SPTechCon
Building Apps for SharePoint 2013 by Andrew Connell - SPTechCon
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 

Similar to SharePoint Saturday Sacramento 2013 SharePoint Apps

SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenRyan Schouten
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to AppsGilles Pommier
 
SharePoint Saturday San Diego - SharePoint 2013 Apps
SharePoint Saturday San Diego - SharePoint 2013 AppsSharePoint Saturday San Diego - SharePoint 2013 Apps
SharePoint Saturday San Diego - SharePoint 2013 AppsRyan Schouten
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Fabio Franzini
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appJoris Poelmans
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Developmentbgerman
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stackVincent Biret
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...SPTechCon
 
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
 
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
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?Vincent Biret
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. Kushan Lahiru Perera
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppKenneth Maglio
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint FrameworkVincent Biret
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App ModelSPC Adriatics
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Giuseppe Marchi
 

Similar to SharePoint Saturday Sacramento 2013 SharePoint Apps (20)

SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
 
SharePoint Saturday San Diego - SharePoint 2013 Apps
SharePoint Saturday San Diego - SharePoint 2013 AppsSharePoint Saturday San Diego - SharePoint 2013 Apps
SharePoint Saturday San Diego - SharePoint 2013 Apps
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
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
 
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
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework#SPSToronto 2018 migrate you custom development to the SharePoint Framework
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
 

More from Ryan Schouten

TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkRyan Schouten
 
SPS NYC Using the Office Dev PnP to Accelerate Your Productivity
SPS NYC  Using the Office Dev PnP to Accelerate Your ProductivitySPS NYC  Using the Office Dev PnP to Accelerate Your Productivity
SPS NYC Using the Office Dev PnP to Accelerate Your ProductivityRyan Schouten
 
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015Ryan Schouten
 
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015Ryan Schouten
 
So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015Ryan Schouten
 
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?Ryan Schouten
 

More from Ryan Schouten (6)

TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
SPS NYC Using the Office Dev PnP to Accelerate Your Productivity
SPS NYC  Using the Office Dev PnP to Accelerate Your ProductivitySPS NYC  Using the Office Dev PnP to Accelerate Your Productivity
SPS NYC Using the Office Dev PnP to Accelerate Your Productivity
 
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
 
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015
 
So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015
 
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
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
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
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
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

SharePoint Saturday Sacramento 2013 SharePoint Apps

  • 2. SharePoint Apps in SharePoint 2013 Ryan Schouten @shrpntknight ITG
  • 3.
  • 4. About Me Ryan Schouten Worked with SharePoint for 7 years I have experience with SharePoint 2003 – 2013 I have worked with ASP.Net for 11 years MCPD Contact Information Ryan.Schouten@itg-mail.com @shrpntknight http://www.sharepointknight.com
  • 5. Objectives • The Need • Benefits • Hosting Options • Limitations • New Functionality • Development Options • Permissions and Security • Deployment • Break it Down
  • 7. Hence the new App Model • No custom code on the SharePoint server • Easier to upgrade to future versions of SharePoint • Works in Office 365 SharePoint Online without limitations • Reduces the ramp-up time for those building apps • Don’t need to know/be as familiar with SharePoint “-isms” • Leverage hosting platform features in new apps • Enables taking SharePoint apps to different levels – further than what can be done with farm / sandbox solutions
  • 8. Benefits (continued) • Low cost of entry for developers • Hosted SharePoint Dev sites • No need to have a farm per developer (Shared Development Farms/Tenants) • No Intensive development environment requirements
  • 9. Hosting Options SharePoint-Hosted App Provision an isolated sub web on a parent web (separate domain) • Reuse web elements (lists, files, out-of-box web parts) • No server code allowed; use client JavaScript for logic, UX Provider-Hosted App “Bring your own server hosting infrastructure and technology platform” Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP Cloud-based Apps Your Hosted Site Autohosted App Windows Azure + SQL Azure provisioned invisibly as apps are installed Azure SharePoint Host Web App Web* (separate SharePoint domain) SharePoint Host Web App Web* (separate SharePoint domain) SharePoint Host Web App Web (separate SharePoint domain)
  • 10. Hosting Comparison SharePoint Hosted Cloud Hosted App Scope SharePoint Site Site or Tenancy Architecture Web Site Can be Multi-Tenant App Developer Skillset SharePoint + HTML/JS Full Stack UI Technologies SharePoint + HTML/JS Any Web Stack Server Code None Any Storage Lists and Libraries Any Key Limitations No Server Code Hosting Expertise Required Good for… Smaller apps & resource storage Any type of Application
  • 11. App Presentation Options Shape Description Example Immersive Full Page App App that implements a new scenario for customers Resource Tracking, Budgeting App Part Provides new parts you can add to your sites Weather, News, Stock Ticker Extension App Add new actions for documents and items Display Document Visualization, Print to Print Service Vendor
  • 12. Limitations • Apps in general • Deployed to different domain(extra login possible) • Initial configuration is a pain • App Parts • Loaded in an iframe(size is fixed) • Also loaded from other domain
  • 13. New Functionality • Improved CSOM • Improved Rest API • Needed since code is not run in SharePoint Processes • O-Auth Security • New Security Model to allow app specific permissions
  • 14. Let’s Create Our First App
  • 15. JSOM Library • Library has two versions • PS.js – minified version of the library • PS.Debug.js – unminified with intellisense • Both can be found in the layouts folder • %ProgramFiles%Common FilesMicrosoft SharedWeb Server Extensions15TEMPLATELAYOUTS • http://siteurl/_layouts/15 • Easiest way to reference it in SharePoint is <SharePoint:ScriptLink name="PS.js" runat="server" ondemand="false" localizable="false" loadafterui="true" />
  • 16. Example SP.SOD.executeOrDelayUntilScriptLoaded(GetProjects, "PS.js"); function GetProjects() { var projContext = PS.ProjectContext.get_current(); projects = projContext.get_projects(); projContext.load(projects, 'Include(Name, CreatedDate, Id)'); projContext.executeQueryAsync(onQuerySucceeded, onQueryFailed); }
  • 17. Continued function onQuerySucceeded(sender, args) { var projectEnumerator = projects.getEnumerator(); while (projectEnumerator.moveNext()) { var project = projectEnumerator.get_current(); var row = tblProjects.insertRow(); row.insertCell().innerText = project.get_name(); row.insertCell().innerText = project.get_createdDate(); row.insertCell().innerText = project.get_id(); } }
  • 19. Permissions and Security • Apps have their own permissions • You must specify what SharePoint you want to access in your Manifest • Content is secured through Oauth • Users must have the permissions you need for them to install
  • 20. Deployment • Everything Packaged into a .app file • This can be used to add the app manually to a site or publish it to the SharePoint Store
  • 21. Let’s Examine How this works
  • 22. Gotchas • On-Premise Sites are not configured by default to handle Apps • Sideloading of apps is not enabled on this site. • Enable-SPFeature e374875e-06b6-11e0-b0fa-57f5dfd72085 – url http://sp.contoso.com • App Management Shared Service Proxy is not installed. • Technet article on how to setup On-Premise for development • http://msdn.microsoft.com/en-us/library/fp179923.aspx
  • 23.
  • 24. Join us right after at The Blue Prynt Socialize and unwind after our day of learning. Blue Prynt Restaurant & Bar 815 11th St, Sacramento, CA 95814 bluepryntsacramento.com SACRAMENTO

Editor's Notes

  1. Introduction slide
  2. Worked with all but one version of SharePoint. I missed the first version. Slides will be posted to my blog at http://www.sharepointknight.com in the next 24 hours.
  3. Conclusion slide
  4. SharePint