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

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
SharePointInstitute
 
Data access options share point data
Data access options   share point dataData access options   share point data
Data access options share point data
David J Rosenthal
 
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
Sanjay Patel
 
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
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
Rob 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

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
Joris Poelmans
 

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

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

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 

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