SlideShare a Scribd company logo
SharePoint Saturday San Diego 
November 15, 2014 
UCSD Extension 
SharePoint Apps in SharePoint 
2013 
Ryan Schouten 
Intermountain Technology Group 
@shrpntknight 
San Diego 2014 #SPSSD @sanspug
Ryan Schouten 
Worked with SharePoint for 8 years 
I have experience with SharePoint 2003 – 2013 
I have About worked Me 
with ASP.Net for 11 years 
MCPD, MCT 
Contact Information 
Ryan.Schouten@itg-mail.com 
@shrpntknight 
http://www.sharepointknight.com 
San Diego 2014 #SPSSD @sanspug
• Office365 Implementations 
• Custom SharePoint Development 
• Responsive Design 
San Diego 2014 #SPSSD @sanspug
Objectives 
 The Need 
 Benefits 
 Details 
 Limitations 
 Permissions and Security 
 Deployment 
 Break it Down 
San Diego 2014 #SPSSD @sanspug
Why the change 
San Diego 2014 #SPSSD @sanspug
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 
San Diego 2014 #SPSSD @sanspug
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 
 Can create apps through the browser(Office365 Only) 
San Diego 2014 #SPSSD @sanspug
Hosting Options 
Provider-Hosted App 
“Bring your own server hosting 
infrastructure and technology platform” 
San Diego 2014 #SPSSD @sanspug 
Cloud-based Apps 
Get remote events from 
SharePoint 
Use CSOM/REST + 
OAuth to work with SP 
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 
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 
San Diego 2014 #SPSSD @sanspug
App Presentation Options 
Shape Description Example 
Immersive Full Page 
App 
App that implements a 
new scenario for 
customers 
Resource Tracking, 
Budgeting 
App/Client 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 
San Diego 2014 #SPSSD @sanspug
App Demo 
San Diego 2014 #SPSSD @sanspug
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 
San Diego 2014 #SPSSD @sanspug
JSOM Library 
 Library has two versions 
 SP.js – minified version of the library 
 SP.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="SP.js" runat="server" ondemand="false" localizable="false" loadafterui="true" /> 
San Diego 2014 #SPSSD @sanspug
San Diego 2014 #SPSSD @sanspug 
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(); 
San Diego 2014 #SPSSD @sanspug 
} 
}
Limitations 
 Apps in general 
 Deployed to different domain(extra login possible) 
 Initial configuration is a pain 
 App/Client Parts 
 Loaded in an iframe(size is fixed, not auto sizing) 
 Also loaded from other domain 
San Diego 2014 #SPSSD @sanspug
Let’s Create Our First App 
San Diego 2014 #SPSSD @sanspug
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 
San Diego 2014 #SPSSD @sanspug
Permission Options 
San Diego 2014 #SPSSD @sanspug 
User Only 
 User must have access to data that is being 
requested. 
App+User 
 User and app must both have access. 
App Only 
 Only the app has to have permission. 
 Can be used to setup Elevated Priviledges
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 
San Diego 2014 #SPSSD @sanspug
Let’s Examine How this works 
San Diego 2014 #SPSSD @sanspug
San Diego 2014 #SPSSD @sanspug 
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
Questions? 
San Diego 2014 #SPSSD @sanspug
Post Event: SharePint 
Location: La Jolla Brewing Company 
Address: 7536 Fay Ave, La Jolla, CA 92037 
Phone: 858-246-6759 
Immediately following event closing & prize drawings 
Map and Directions on SPS Events Schedule 
Google Map & directions: http://ow.ly/E164L 
San Diego 2014 #SPSSD @sanspug
SharePoint Saturday San Diego 
November 15, 2014 
UCSD Extension 
PLEASE THANK OUR SPONSORS! 
Please fill out your session evaluation! http://ntx.lv/lwGlKl1 (case sensitive) 
San Diego 2014 #SPSSD @sanspug

More Related Content

What's hot

Generating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager StatisticsGenerating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager Statistics
WSO2
 

What's hot (20)

App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
 
Building Self Documenting REST APIs
Building Self Documenting REST APIsBuilding Self Documenting REST APIs
Building Self Documenting REST APIs
 
API Developer Experience: Why it Matters, and How Documenting Your API with S...
API Developer Experience: Why it Matters, and How Documenting Your API with S...API Developer Experience: Why it Matters, and How Documenting Your API with S...
API Developer Experience: Why it Matters, and How Documenting Your API with S...
 
Crystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPICrystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPI
 
What you need to know about Search in SharePoint 2013 Preview - DFW SharePoin...
What you need to know about Search in SharePoint 2013 Preview - DFW SharePoin...What you need to know about Search in SharePoint 2013 Preview - DFW SharePoin...
What you need to know about Search in SharePoint 2013 Preview - DFW SharePoin...
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in action
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
Google IO 2015 - Devbytes
Google IO 2015 - DevbytesGoogle IO 2015 - Devbytes
Google IO 2015 - Devbytes
 
Subha chandra 1 Page CV
Subha chandra 1 Page CVSubha chandra 1 Page CV
Subha chandra 1 Page CV
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Generating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager StatisticsGenerating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager Statistics
 
A Starters Guide to Building APIs with Javascript
A Starters Guide to Building APIs with JavascriptA Starters Guide to Building APIs with Javascript
A Starters Guide to Building APIs with Javascript
 
Shraddha_Muchandi
Shraddha_MuchandiShraddha_Muchandi
Shraddha_Muchandi
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
 
Coders Workshop: API First Mobile Development Featuring Angular and Node
Coders Workshop: API First Mobile Development Featuring Angular and NodeCoders Workshop: API First Mobile Development Featuring Angular and Node
Coders Workshop: API First Mobile Development Featuring Angular and Node
 
Developing Faster with Swagger
Developing Faster with SwaggerDeveloping Faster with Swagger
Developing Faster with Swagger
 
Deploy a web API in 15'
Deploy a web API in 15'Deploy a web API in 15'
Deploy a web API in 15'
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101
 
Azure Logic, API & Mobile Apps
Azure Logic, API & Mobile AppsAzure Logic, API & Mobile Apps
Azure Logic, API & Mobile Apps
 

Similar to SharePoint Saturday San Diego - SharePoint 2013 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
 
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
 
2016_Mrutyunjaya_SharePoint2013
2016_Mrutyunjaya_SharePoint2013 2016_Mrutyunjaya_SharePoint2013
2016_Mrutyunjaya_SharePoint2013
Mrutyunjaya Rath
 
BarkatShaikhProfile.docx
BarkatShaikhProfile.docxBarkatShaikhProfile.docx
BarkatShaikhProfile.docx
Barkat Shaikh
 

Similar to SharePoint Saturday San Diego - SharePoint 2013 Apps (20)

SharePoint Saturday Sacramento 2013 SharePoint Apps
SharePoint Saturday Sacramento 2013 SharePoint AppsSharePoint Saturday Sacramento 2013 SharePoint Apps
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 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
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
 
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
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
 
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
 
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...
 
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
Apps für SharePoint 2013 (Office Store, Windows 8, Windows Phone 8)
 
2016_Mrutyunjaya_SharePoint2013
2016_Mrutyunjaya_SharePoint2013 2016_Mrutyunjaya_SharePoint2013
2016_Mrutyunjaya_SharePoint2013
 
SharePoint 2013 - SP Tech Community Meeting 2
SharePoint 2013 - SP Tech Community Meeting 2SharePoint 2013 - SP Tech Community Meeting 2
SharePoint 2013 - SP Tech Community Meeting 2
 
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
 
BarkatShaikhProfile.docx
BarkatShaikhProfile.docxBarkatShaikhProfile.docx
BarkatShaikhProfile.docx
 
Oracle APEX, Low Code for Data Driving Apps
Oracle APEX, Low Code for Data Driving AppsOracle APEX, Low Code for Data Driving Apps
Oracle APEX, Low Code for Data Driving Apps
 
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
From Trashy to Classy: How The SharePoint 2013 App Model Changes EverythingFrom Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
 
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.
 
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
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Mobile-Enabling Enterprise APIs: A Case Study with MasterCard
Mobile-Enabling Enterprise APIs: A Case Study with MasterCardMobile-Enabling Enterprise APIs: A Case Study with MasterCard
Mobile-Enabling Enterprise APIs: A Case Study with MasterCard
 

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

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

SharePoint Saturday San Diego - SharePoint 2013 Apps

  • 1. SharePoint Saturday San Diego November 15, 2014 UCSD Extension SharePoint Apps in SharePoint 2013 Ryan Schouten Intermountain Technology Group @shrpntknight San Diego 2014 #SPSSD @sanspug
  • 2. Ryan Schouten Worked with SharePoint for 8 years I have experience with SharePoint 2003 – 2013 I have About worked Me with ASP.Net for 11 years MCPD, MCT Contact Information Ryan.Schouten@itg-mail.com @shrpntknight http://www.sharepointknight.com San Diego 2014 #SPSSD @sanspug
  • 3. • Office365 Implementations • Custom SharePoint Development • Responsive Design San Diego 2014 #SPSSD @sanspug
  • 4. Objectives  The Need  Benefits  Details  Limitations  Permissions and Security  Deployment  Break it Down San Diego 2014 #SPSSD @sanspug
  • 5. Why the change San Diego 2014 #SPSSD @sanspug
  • 6. 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 San Diego 2014 #SPSSD @sanspug
  • 7. 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  Can create apps through the browser(Office365 Only) San Diego 2014 #SPSSD @sanspug
  • 8. Hosting Options Provider-Hosted App “Bring your own server hosting infrastructure and technology platform” San Diego 2014 #SPSSD @sanspug Cloud-based Apps Get remote events from SharePoint Use CSOM/REST + OAuth to work with SP 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 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)
  • 9. 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 San Diego 2014 #SPSSD @sanspug
  • 10. App Presentation Options Shape Description Example Immersive Full Page App App that implements a new scenario for customers Resource Tracking, Budgeting App/Client 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 San Diego 2014 #SPSSD @sanspug
  • 11. App Demo San Diego 2014 #SPSSD @sanspug
  • 12. 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 San Diego 2014 #SPSSD @sanspug
  • 13. JSOM Library  Library has two versions  SP.js – minified version of the library  SP.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="SP.js" runat="server" ondemand="false" localizable="false" loadafterui="true" /> San Diego 2014 #SPSSD @sanspug
  • 14. San Diego 2014 #SPSSD @sanspug 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); }
  • 15. 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(); San Diego 2014 #SPSSD @sanspug } }
  • 16. Limitations  Apps in general  Deployed to different domain(extra login possible)  Initial configuration is a pain  App/Client Parts  Loaded in an iframe(size is fixed, not auto sizing)  Also loaded from other domain San Diego 2014 #SPSSD @sanspug
  • 17. Let’s Create Our First App San Diego 2014 #SPSSD @sanspug
  • 18. 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 San Diego 2014 #SPSSD @sanspug
  • 19. Permission Options San Diego 2014 #SPSSD @sanspug User Only  User must have access to data that is being requested. App+User  User and app must both have access. App Only  Only the app has to have permission.  Can be used to setup Elevated Priviledges
  • 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 San Diego 2014 #SPSSD @sanspug
  • 21. Let’s Examine How this works San Diego 2014 #SPSSD @sanspug
  • 22. San Diego 2014 #SPSSD @sanspug 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. Questions? San Diego 2014 #SPSSD @sanspug
  • 24. Post Event: SharePint Location: La Jolla Brewing Company Address: 7536 Fay Ave, La Jolla, CA 92037 Phone: 858-246-6759 Immediately following event closing & prize drawings Map and Directions on SPS Events Schedule Google Map & directions: http://ow.ly/E164L San Diego 2014 #SPSSD @sanspug
  • 25. SharePoint Saturday San Diego November 15, 2014 UCSD Extension PLEASE THANK OUR SPONSORS! Please fill out your session evaluation! http://ntx.lv/lwGlKl1 (case sensitive) San Diego 2014 #SPSSD @sanspug

Editor's Notes

  1. 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.