SlideShare a Scribd company logo
Deep-dive into SharePoint-hosted
apps
DEV 203
Chris O‟Brien - MVP
About me
Independent Consultant
Head of Development, Content and Code
 Blog: www.sharepointnutsandbolts.com
 Twitter: @ChrisO_Brien
 LinkedIn:
http://uk.linkedin.com/in/chrisobrienmvp
Why apps?
End-user familiarity
Phones, Windows 8 etc.
Move server-side code off SharePoint
..which solves MANY problems for Microsoft 
Game-changer for Office 365
No more sandbox restrictions
Customizing SharePoint – official guidance
Microsoft:
The most important guidance we can give you is
to develop an app for SharePoint rather than a
classic solution whenever you can.
http://msdn.microsoft.com/en-us/library/jj163114(office.15).aspx
App hosting options
SharePoint-hosted
JavaScript only
Cloud app
Provider-hosted (YOU deal with hosting)
–IIS, PHP/LAMP, something else!
Auto-hosted (O365 + Azure)
–E.g. automatically create database in SQL Azure
3 decisions to make on apps
Are we going to allow apps?
Configuration, infrastructure, obtain wildcard SSL certificate etc.
Are we going to allow ANY app from the SharePoint Store to be
installed?
Or are we going to restrict to certain „approved‟ apps via the
internal App Catalog?
Will our own customisations be developed as apps?
The SharePoint apps “enterprise planning loop”
DAY
1:
The SharePoint apps “enterprise planning loop”
DAY
2:
The SharePoint apps “enterprise planning loop”
DAY
3:
The SharePoint apps “enterprise planning loop”
DAY
4:
The SharePoint apps “enterprise planning loop”
DAY
5:
The SharePoint apps “enterprise planning loop”
DAY
6:
How users obtain apps
User-driven:
Public store (if
enabled)
Internal “App
Catalog” – admin-
approved apps
Administrator-
driven:
Installed to
selected sites via
PowerShell
“Tenant-install” –
one shared
instance (not
instance per site)
My app‟s architecture
Ingredients of a nice 2013 “learning” app
Creates and uses some content types/lists/files in app web
Fetches some data from host web (with permission request)
Uses JSOM/REST
Provisions an app part for UX within host web
Consumes farm/tenant services e.g. search
(SharePoint-hosted)
CUSTOM SHAREPOINT-HOSTED
APPS
Developing SharePoint-
hosted apps
SharePoint 2013 client APIs
(for use in SharePoint-hosted apps)
Even though hosted on SP, app area is on an “isolated” domain
(IIS web application)
URL = https://cob-387fbe6473fd9e.spapps.dev/MyApp
–App prefix (configurable)
–ID (generated on each install/upgrade)
–App domain (should be a distinct domain)
–App name
Effectively an IIS trick – content is in same site collection!
Provides some security against XSS + allows identification of app
requests
How the app web works
Accessing Site Contents page (ViewLsts.aspx)
Accessing Site Settings page (Settings.aspx)
Accessing Features pages
(Features.aspx?Scope=Site/Web)
Computer says no:
Yes:
• ListView web part
• XsltListView web part
• Content Search web part
• Search Core Results
web part
• PageViewer web part
No:
• Content Query web part
• DataView web part
• ..probably many others
Which web parts can I use in the app web?
App parts
App parts - gotchas
Need appropriate JS files referenced
 See Stephane Eskeyens post - http://www.silver-
it.com/node/126
No _spPageContextInfo if code hosted in app
part
 Be careful if you have code which uses it
 But do have access to SPAppWebUrl/SPHostUrl
Need <meta http-equiv=”X-UA-Compatible”..
element
Useful trick:
App part page
dynamically
resizing parent
iFrame (using
postMessage)
Apps which provision into the
host web
..brand a SharePoint site?
..provision files into a SharePoint site?
..delete end-user data?
ANSWER:
If it has the right permissions, yes (*)
Full Control of Web = do anything 
Host web considerations: can an app?
* Assumes that:
• User ALSO has
appropriate
permissions
OR
• App uses “app-
only” policy (not
SP-hosted app)
Office 365 submission policy – no Full Control
http://msdn.microsoft.com/en-us/library/jj938162.aspx
APPS WHICH PROVISION INTO THE
HOST WEB
Other things
 SPHostUrl bug – this URL param „lost‟ when navigating
around app web (causing code to fail)
 Search bug – app with Permission Request for
Search/QueryAsUserIgnoreAppPrincipal gives “Only
tenant administrators can install this app” for on-premises
installations
ALSO: can now run multiple app domains with reverse
proxy/AAM
Bugs fixed in March 2013 update (all undocumented!)
Microsoft:
Secure Sockets Layer (SSL) is a requirement for web applications
that are deployed in scenarios that support server-to-server
authentication and app authentication.
http://technet.microsoft.com/en-us/library/ee806885(v=office.15).aspx
Apps and SSL
Configuring SSL in dev
Pre-reqs:
 DNS - entries created (wildcard for apps, unique IP for apps WA)
 IIS - ensure apps WA uses „All Unassigned‟
Use SELFSSL to generate certs
 Sites (wildcard = *.cob.dev, or individual)
 Apps (wildcard = *.spapps.dev)
Export as .pfx then import (SELFSSL bug)
Re-bind certs in IIS
IISReset!
Continuous Integration for apps
Microsoft have released PS scripts
 See http://officesharepointci.codeplex.com
 Works with on-premises or Office 365
 Uses PS + .NET CSOM to install app
Support for:
 SharePoint-hosted apps
 Provider-hosted apps (via WebDeploy)
Can be used with visualstudio.com (TFS online)
Can I use navigation controls/providers?
 Unlikely. Providers have context of host web, not app
web.
 Static links likely to be better
WebDAV is disabled for apps
SP-hosted apps currently cannot be used on SAML
claims sites
Other notes:
Some beginner issues
1. Error occurred in deployment step 'Install app for SharePoint': Sideloading of apps is
not enabled on this site
 You tried to “F5 deploy” to a site not based on Developer Site template OR sideloading
Feature is not activated
2. JavaScript runtime error: 'Type' is undefined
 JavaScript dependency issue – MicrosoftAjax.js needs to be earlier!
3. App part difficulties (e.g. JavaScript errors)
 Need correct JS references – see http://www.silver-it.com/node/126
 Need AllowFraming tag and <meta http-equiv..tags
 No _spPageContextInfo
Troubleshooting apps
Advanced topics
1. Updatability – CSS/JS/images are difficult to update across app instances
(OR SANDBOX!)
 ANSWER: Use Azure (or internally hosted location) to centralise
2. Architecture – should I deploy to the host web?
 ANSWER :
–Maybe, if the app is trusted
–But what is the app framework giving you over a sandbox/farm solution?
Designing SharePoint-hosted apps
Possible reasons for cloud app
Need to go beyond JavaScript
to develop functionality
 E.g. service layer
 E.g. use of back-end non-
SharePoint data
Needs Remote Event
Receivers (app installed, app
upgraded etc.)
Needs scheduled process
On-prem SharePoint sites
using SAML claims
You don‟t want to develop
entire app in JavaScript
 OR, you want to leverage
.Net/PHP/whatever skills
Thank you for attending!
www.sharepointnutsandbolts.com
@ChrisO_Brien

More Related Content

What's hot

The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
Jeremy Thake
 
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
NCCOMMS
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Giuseppe Marchi
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
Shailen Sukul
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
Noorez Khamis
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
Kashif Imran
 
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
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Alexander Meijers
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Nik Patel
 
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
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
Elie Kash
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Example
linkedinsys
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big Success
SPC Adriatics
 

What's hot (20)

The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
 
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
 
Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
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
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
 
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
 
SharePoint 2013 apps overview
SharePoint 2013 apps overviewSharePoint 2013 apps overview
SharePoint 2013 apps overview
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Example
 
Designing SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big SuccessDesigning SharePoint solutions – Big Decisions for Big Success
Designing SharePoint solutions – Big Decisions for Big Success
 

Viewers also liked

An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsAn IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
Randy Williams
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
Ronald Courville
 
SharePoint App Types at a Glance
SharePoint App Types at a GlanceSharePoint App Types at a Glance
SharePoint App Types at a GlanceDavid J Rosenthal
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
vmaximiuk
 
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
Talbott Crowell
 
JSOM and java script practices
JSOM and java script practicesJSOM and java script practices
JSOM and java script practices
Melick Baranasooriya
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAlexander Meijers
 

Viewers also liked (9)

An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsAn IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
 
SharePoint Hosted Apps
SharePoint Hosted AppsSharePoint Hosted Apps
SharePoint Hosted Apps
 
SharePoint App Types at a Glance
SharePoint App Types at a GlanceSharePoint App Types at a Glance
SharePoint App Types at a Glance
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
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
 
JSOM and java script practices
JSOM and java script practicesJSOM and java script practices
JSOM and java script practices
 
Access share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-appsAccess share point-2013-data-with-provider-hosted-apps
Access share point-2013-data-with-provider-hosted-apps
 

Similar to Deep dive into SharePoint 2013 hosted apps - Chris OBrien

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
Gilles Pommier
 
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
Chris O'Brien
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online development
Jeremy Thake
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-Ins
InnoTech
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 Apps
Randy Williams
 
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
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
Dragan Panjkov
 
SP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office StoreSP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
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
Giuseppe Marchi
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
bgerman
 
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
Ryan Schouten
 
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
Kenneth Maglio
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
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
 
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
 
Build Database Applications for SharePoint
Build Database Applications for SharePointBuild Database Applications for SharePoint
Build Database Applications for SharePointIron Speed
 
Build Database Applications for SharePoint!
Build Database Applications for SharePoint!Build Database Applications for SharePoint!
Build Database Applications for SharePoint!Iron Speed
 
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
Angela Dugan
 
SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012
Thuan Ng
 

Similar to Deep dive into SharePoint 2013 hosted apps - Chris OBrien (20)

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
 
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
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online development
 
Essential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-InsEssential Knowledge for SharePoint Add-Ins
Essential Knowledge for SharePoint Add-Ins
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with 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...
 
(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013(Almost) All About Apps for SharePoint 2013
(Almost) All About Apps for SharePoint 2013
 
SP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office StoreSP Apps, New Model, New App Store: The Office Store
SP Apps, New Model, New App Store: The Office Store
 
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
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 
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
 
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 Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
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 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.
 
Build Database Applications for SharePoint
Build Database Applications for SharePointBuild Database Applications for SharePoint
Build Database Applications for SharePoint
 
Build Database Applications for SharePoint!
Build Database Applications for SharePoint!Build Database Applications for SharePoint!
Build Database Applications for SharePoint!
 
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
 
SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012
 

More from Chris O'Brien

Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
Chris O'Brien
 
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien
 
COB ESPC18 - Rich PowerApps with offline support
COB ESPC18 - Rich PowerApps with offline supportCOB ESPC18 - Rich PowerApps with offline support
COB ESPC18 - Rich PowerApps with offline support
Chris O'Brien
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
Chris O'Brien
 
COB - PowerApps - the good, the bad and the ugly - early 2018
COB - PowerApps - the good, the bad and the ugly - early 2018COB - PowerApps - the good, the bad and the ugly - early 2018
COB - PowerApps - the good, the bad and the ugly - early 2018
Chris O'Brien
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris O'Brien
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien
 
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Chris O'Brien
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
Application Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentApplication Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 development
Chris O'Brien
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
Chris O'Brien
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris O'Brien
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien
 
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienCustomizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Chris O'Brien
 
SP2013 for Developers - Chris O'Brien
SP2013 for Developers - Chris O'BrienSP2013 for Developers - Chris O'Brien
SP2013 for Developers - Chris O'Brien
Chris O'Brien
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Chris O'Brien
 
SharePoint Ribbon Deep Dive
SharePoint Ribbon Deep DiveSharePoint Ribbon Deep Dive
SharePoint Ribbon Deep Dive
Chris O'Brien
 

More from Chris O'Brien (20)

Chris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien - Building AI into Power Platform solutions
Chris O'Brien - Building AI into Power Platform solutions
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
 
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
 
COB ESPC18 - Rich PowerApps with offline support
COB ESPC18 - Rich PowerApps with offline supportCOB ESPC18 - Rich PowerApps with offline support
COB ESPC18 - Rich PowerApps with offline support
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
 
COB - PowerApps - the good, the bad and the ugly - early 2018
COB - PowerApps - the good, the bad and the ugly - early 2018COB - PowerApps - the good, the bad and the ugly - early 2018
COB - PowerApps - the good, the bad and the ugly - early 2018
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
Application Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentApplication Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 development
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
 
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienCustomizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
 
SP2013 for Developers - Chris O'Brien
SP2013 for Developers - Chris O'BrienSP2013 for Developers - Chris O'Brien
SP2013 for Developers - Chris O'Brien
 
Getting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'BrienGetting to grips with SharePoint 2013 apps - Chris O'Brien
Getting to grips with SharePoint 2013 apps - Chris O'Brien
 
SharePoint Ribbon Deep Dive
SharePoint Ribbon Deep DiveSharePoint Ribbon Deep Dive
SharePoint Ribbon Deep Dive
 

Recently uploaded

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
Elena Simperl
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
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
Inflectra
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
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
DianaGray10
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
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*
Frank van Harmelen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
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...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
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
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 

Recently uploaded (20)

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
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
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
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
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
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
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*
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
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...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
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
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 

Deep dive into SharePoint 2013 hosted apps - Chris OBrien

  • 1. Deep-dive into SharePoint-hosted apps DEV 203 Chris O‟Brien - MVP
  • 2. About me Independent Consultant Head of Development, Content and Code  Blog: www.sharepointnutsandbolts.com  Twitter: @ChrisO_Brien  LinkedIn: http://uk.linkedin.com/in/chrisobrienmvp
  • 3. Why apps? End-user familiarity Phones, Windows 8 etc. Move server-side code off SharePoint ..which solves MANY problems for Microsoft  Game-changer for Office 365 No more sandbox restrictions
  • 4. Customizing SharePoint – official guidance Microsoft: The most important guidance we can give you is to develop an app for SharePoint rather than a classic solution whenever you can. http://msdn.microsoft.com/en-us/library/jj163114(office.15).aspx
  • 5. App hosting options SharePoint-hosted JavaScript only Cloud app Provider-hosted (YOU deal with hosting) –IIS, PHP/LAMP, something else! Auto-hosted (O365 + Azure) –E.g. automatically create database in SQL Azure
  • 6. 3 decisions to make on apps Are we going to allow apps? Configuration, infrastructure, obtain wildcard SSL certificate etc. Are we going to allow ANY app from the SharePoint Store to be installed? Or are we going to restrict to certain „approved‟ apps via the internal App Catalog? Will our own customisations be developed as apps?
  • 7. The SharePoint apps “enterprise planning loop” DAY 1:
  • 8. The SharePoint apps “enterprise planning loop” DAY 2:
  • 9. The SharePoint apps “enterprise planning loop” DAY 3:
  • 10. The SharePoint apps “enterprise planning loop” DAY 4:
  • 11. The SharePoint apps “enterprise planning loop” DAY 5:
  • 12. The SharePoint apps “enterprise planning loop” DAY 6:
  • 13. How users obtain apps User-driven: Public store (if enabled) Internal “App Catalog” – admin- approved apps Administrator- driven: Installed to selected sites via PowerShell “Tenant-install” – one shared instance (not instance per site)
  • 15. Ingredients of a nice 2013 “learning” app Creates and uses some content types/lists/files in app web Fetches some data from host web (with permission request) Uses JSOM/REST Provisions an app part for UX within host web Consumes farm/tenant services e.g. search (SharePoint-hosted)
  • 18. SharePoint 2013 client APIs (for use in SharePoint-hosted apps)
  • 19. Even though hosted on SP, app area is on an “isolated” domain (IIS web application) URL = https://cob-387fbe6473fd9e.spapps.dev/MyApp –App prefix (configurable) –ID (generated on each install/upgrade) –App domain (should be a distinct domain) –App name Effectively an IIS trick – content is in same site collection! Provides some security against XSS + allows identification of app requests How the app web works
  • 20. Accessing Site Contents page (ViewLsts.aspx) Accessing Site Settings page (Settings.aspx) Accessing Features pages (Features.aspx?Scope=Site/Web) Computer says no:
  • 21. Yes: • ListView web part • XsltListView web part • Content Search web part • Search Core Results web part • PageViewer web part No: • Content Query web part • DataView web part • ..probably many others Which web parts can I use in the app web?
  • 23. App parts - gotchas Need appropriate JS files referenced  See Stephane Eskeyens post - http://www.silver- it.com/node/126 No _spPageContextInfo if code hosted in app part  Be careful if you have code which uses it  But do have access to SPAppWebUrl/SPHostUrl Need <meta http-equiv=”X-UA-Compatible”.. element Useful trick: App part page dynamically resizing parent iFrame (using postMessage)
  • 24. Apps which provision into the host web
  • 25. ..brand a SharePoint site? ..provision files into a SharePoint site? ..delete end-user data? ANSWER: If it has the right permissions, yes (*) Full Control of Web = do anything  Host web considerations: can an app? * Assumes that: • User ALSO has appropriate permissions OR • App uses “app- only” policy (not SP-hosted app)
  • 26. Office 365 submission policy – no Full Control http://msdn.microsoft.com/en-us/library/jj938162.aspx
  • 27. APPS WHICH PROVISION INTO THE HOST WEB
  • 29.  SPHostUrl bug – this URL param „lost‟ when navigating around app web (causing code to fail)  Search bug – app with Permission Request for Search/QueryAsUserIgnoreAppPrincipal gives “Only tenant administrators can install this app” for on-premises installations ALSO: can now run multiple app domains with reverse proxy/AAM Bugs fixed in March 2013 update (all undocumented!)
  • 30. Microsoft: Secure Sockets Layer (SSL) is a requirement for web applications that are deployed in scenarios that support server-to-server authentication and app authentication. http://technet.microsoft.com/en-us/library/ee806885(v=office.15).aspx Apps and SSL
  • 31. Configuring SSL in dev Pre-reqs:  DNS - entries created (wildcard for apps, unique IP for apps WA)  IIS - ensure apps WA uses „All Unassigned‟ Use SELFSSL to generate certs  Sites (wildcard = *.cob.dev, or individual)  Apps (wildcard = *.spapps.dev) Export as .pfx then import (SELFSSL bug) Re-bind certs in IIS IISReset!
  • 32. Continuous Integration for apps Microsoft have released PS scripts  See http://officesharepointci.codeplex.com  Works with on-premises or Office 365  Uses PS + .NET CSOM to install app Support for:  SharePoint-hosted apps  Provider-hosted apps (via WebDeploy) Can be used with visualstudio.com (TFS online)
  • 33. Can I use navigation controls/providers?  Unlikely. Providers have context of host web, not app web.  Static links likely to be better WebDAV is disabled for apps SP-hosted apps currently cannot be used on SAML claims sites Other notes:
  • 34. Some beginner issues 1. Error occurred in deployment step 'Install app for SharePoint': Sideloading of apps is not enabled on this site  You tried to “F5 deploy” to a site not based on Developer Site template OR sideloading Feature is not activated 2. JavaScript runtime error: 'Type' is undefined  JavaScript dependency issue – MicrosoftAjax.js needs to be earlier! 3. App part difficulties (e.g. JavaScript errors)  Need correct JS references – see http://www.silver-it.com/node/126  Need AllowFraming tag and <meta http-equiv..tags  No _spPageContextInfo Troubleshooting apps
  • 35. Advanced topics 1. Updatability – CSS/JS/images are difficult to update across app instances (OR SANDBOX!)  ANSWER: Use Azure (or internally hosted location) to centralise 2. Architecture – should I deploy to the host web?  ANSWER : –Maybe, if the app is trusted –But what is the app framework giving you over a sandbox/farm solution? Designing SharePoint-hosted apps
  • 36. Possible reasons for cloud app Need to go beyond JavaScript to develop functionality  E.g. service layer  E.g. use of back-end non- SharePoint data Needs Remote Event Receivers (app installed, app upgraded etc.) Needs scheduled process On-prem SharePoint sites using SAML claims You don‟t want to develop entire app in JavaScript  OR, you want to leverage .Net/PHP/whatever skills
  • 37. Thank you for attending! www.sharepointnutsandbolts.com @ChrisO_Brien