SlideShare a Scribd company logo
SharePoint 2013:
To App or not to
App?
About me
Agenda
•   Introduction to SharePoint 2013 apps
•   Deployment options and design patterns
•   Technologies used in app development
•   Building a SharePoint-hosted app
setting the scene
Introducing the new SharePoint app
framework
Introducing apps
In SharePoint 2013 everything is an app …

In strict sense: “Apps are self-contained pieces of functionality
that extend the capabilities of a SharePoint site.”
App isolation: App web vs Host web
• Apps live in their own isolated environment called the “app
  web”.
• The site in which they function is called the “host web”


              APP1UID                    GUIDAPP1
Packaging and deployment options
SharePoint 2013 app development
scenarios
Demo
Getting started with development
• Local development
  • Has to be on Windows Server 2008 R2 (or later)
  • Memory reqs have gone up – 12 GB RAM seems workable ... But
    TechNet recommends 24 GB
  • Extra configuration needed for app development
  • Visual Studio 2012
• Remote development
  • Sign up for Office 365 Developer Site
  • Possible to use NAPA – app for building apps
SharePoint App UX
  • Immersive App - app is shown full screen with
    in a separate page
  • Part - App is shown as a part on the
    SharePoint page – similar experience to web
    part
  • UI Custom Actions – possible to make the App
    available through ribbon or menu actions for
    documents and items

  See Apps for SharePoint UX design guidelines
Demo
SharePoint Server 2013: to app or not to app?
Basic SharePoint App architecture
• Code runs “Off SharePoint Box”
• Declarative Hooks into
  SharePoint
• AppWeb Host in SharePoint
Apps – three possible approaches
                Developer-Hosted App
Cloud-based     “Bring your own server hosting        SharePoint      Your Hosted
Apps            infrastructure”                          Web              Site
                Developers will need to isolate
Get remote      tenants
events from
SharePoint      Azure Auto-
Use CSOM/REST   Provisioned App                       SharePoint        Azure
+               Windows Azure + SQL Azure
OAuth to work   provisioned invisibly as apps            Web
with SPS        are installed


                SharePoint-hosted App
                                                             Parent
                Provision an isolated sub web
                on a parent web                               Web
                   • Reuse web elements                                App Web
                      (lists, files, out-of-box web
                      parts)
                   • No server code allowed;
                      use client JavaScript for
                      logic, UX
Hosting: cloud vs SharePoint
Cloud Hosted Apps                             SharePoint Hosted Apps


Possible hosting model for almost all types   Good for smaller apps
of apps

Choose your own infrastructure &              SharePoint based; no server-side code
technology

May require your own hosting                  Automatically hosted in SharePoint


May require your own handling of              Inherent multitenancy & isolation
multitenancy & permission management
App identity
• Challenge with SPS2010
  • Farm solutions – too much privileges - risk of
    RunWithElevatedPrivileges
  • Sandbox solutions – no RunWithElevatedPrivileges – always under
    user context
• In SharePoint 2013 apps have their own identity and
  specific permissions
  • Installing user either grants or denies permissions to host web
  • Permission is explicitly given for a specific scope
  • App identity is passed around using oAuth tokens
App scopes
•   SPSite – site collection
•   SPWeb – site
•   SPList
•   Tenancy
•   Other scopes (and rights) for performing search queries,
    accessing taxonomy data, user profiles, etc...
App rights
• Default rights : Read, Write, Manage and Full Control
• Not possible to customize
• Apps are granted permissions to a scope and all children of
  the scope
• Defined in declarative XML
Azure Access Control Service (ACS)
• ACS required with oAuth implementation in SharePoint
  2013
• How is the ACS server configured as the authentication
  server?
  • Automatically done for sites in Office 365 Preview
  • On-premise farms, a trust to ACS must be configured. Possible to
   avoid when using Server-to-server (S2S) trust
Demo
SharePoint Server 2013: to app or not to app?
SharePoint 2013 CSOM and REST API
 • Apps connect to SharePoint using
   • SharePoint 2013 Client Side Object Model (CSOM)
   • SharePoint 2013 REST API
   • Javascript cross-domain library (SP.RequestExecutor.js)


 • Main investments in 2013
   • Client.svc is extended with REST capabilities
       • Easier for javascript and non .NET code
       • Implemented in accordance with oData protocol
       • Programming style is largely unchanged
   • New APIs for SharePoint Server functionality
       • User Profiles, Search, Taxonomy, Feeds, ....
REST URLs in SharePoint 2013
 • CSOM URLs can go through _api folder
 • Replace
   http://sharepoint/_vti_bin/client.svc/web
 • With
   http://sharepoint/_api/web

 • Example REST URLs targeting SharePoint sites
   • _api/web/lists
   • _api/web/lists/List1
   • _api/web/?$select=title,id
   • /_api/web/lists/getByTitle('Consultants')/Items
   • ....
ATOM XML vs JSON
 • Response data format selected with ACCEPT header
   • XML can be easier to deal with from managed code
   • JSON easier to deal with using Javascript
   • To get JSON response use “application/json”
   http://sharepoint/_vti_bin/client.svc/web
Demo
Exploring SPS 2013 REST API
SharePoint Server 2013: to app or not to app?
SharePoint Hosted App
 • App components are SharePoint components
   • SharePoint list, site columns, content types
   • CSOM and REST API
   • Client web part
 • Key Developer skills
   • HTML5, CSS, Javascript
   • Jquery, ASP.NET AJAX
   • CSOM and REST API
   • Silverlight
SharePoint Hosted App
 • Installation of App creates child site in target site
   • App can add declarative items to App Web
   • App Web <-> Host Web communication: CSOM/REST or
     Javascript cross-domain library
   • Full client-side extension – no server-side code

                        •   Custom Actions
                        •   Client-side web parts


                                     •    Lists
                                     •    Site Pages
                                     •    CSS files
                                     •    Javascript files
Demo
Building a SharePoint Hosted App with Office 365
SharePoint Server 2013: to app or not to app?
Summary
 Call to action:
 • Sign up for Office 365 Developer Preview
 • Watch developer videos around building SharePoint
   2013 apps
 • Register on www.biwug.be as a member to stay up
   to date for local SharePoint 2013 sessions

 • For more information or questions
   • SharePoint 2013 Preview start page
   • SharePoint 2013 Preview Developer documentation
   • Developing Apps for SharePoint 2013 MSDN forum
   • SharePoint 2013 Delicious links
   • Yammer – https://www.yammer.com/spyam
SharePoint Server 2013: to app or not to app?

More Related Content

What's hot (20)

PPTX
Developing Apps for SharePoint Store
Kashif Imran
 
PPTX
Get started with building native mobile apps interacting with SharePoint
Yaroslav Pentsarskyy [MVP]
 
PDF
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Nik Patel
 
PDF
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
PPTX
OAuth in SharePoint 2013
Dinusha Kumarasiri
 
PPTX
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Chris O'Brien
 
PPTX
Sharepoint 2013 App
Trimantra Software Solutions
 
PPTX
SharePoint 2013 apps overview
Elie Kash
 
PPTX
Visio Services in SharePoint 2010
Alexander Meijers
 
PPTX
App Model For SharePoint 2013
Toni Il Caiser
 
PPTX
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
PPTX
Sonja madsen speaker slides espc 2013
Sonja Madsen
 
PPTX
Essential Knowledge for SharePoint Add-Ins
InnoTech
 
PPTX
SharePoint 2013 Hosted App Presentation by Roy Kim
Roy Kim
 
PDF
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Bram de Jager
 
PPTX
SharePoint 2013 APIs demystified
SPC Adriatics
 
PPTX
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
PPTX
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
InnoTech
 
PPTX
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
Developing Apps for SharePoint Store
Kashif Imran
 
Get started with building native mobile apps interacting with SharePoint
Yaroslav Pentsarskyy [MVP]
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Nik Patel
 
Practical management of development & QA environments for SharePoint 2013
SharePointRadi
 
OAuth in SharePoint 2013
Dinusha Kumarasiri
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Chris O'Brien
 
Sharepoint 2013 App
Trimantra Software Solutions
 
SharePoint 2013 apps overview
Elie Kash
 
Visio Services in SharePoint 2010
Alexander Meijers
 
App Model For SharePoint 2013
Toni Il Caiser
 
Oauth and SharePoint 2013 Provider Hosted apps
James Tramel
 
Sonja madsen speaker slides espc 2013
Sonja Madsen
 
Essential Knowledge for SharePoint Add-Ins
InnoTech
 
SharePoint 2013 Hosted App Presentation by Roy Kim
Roy Kim
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Bram de Jager
 
SharePoint 2013 APIs demystified
SPC Adriatics
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
InnoTech
 
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 

Similar to SharePoint Server 2013: to app or not to app? (20)

PDF
(Almost) All About Apps for SharePoint 2013
Dragan Panjkov
 
PPTX
Share point unvealed apps in sharepoint 2013
Alexander Meijers
 
PPTX
Access share point-2013-data-with-provider-hosted-apps
Alexander Meijers
 
PPTX
SharePoint Development with Visual Studio 2012
Thuan Ng
 
PPTX
Getting started with SharePoint 2013 online development
Jeremy Thake
 
PPTX
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
PPTX
Getting Started with SharePoint 2013 Apps
Randy Williams
 
PPTX
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
PPTX
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
PPT
SP2013 What's New for Developers : SPSSTL
Kenneth Maglio
 
PDF
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
Adis Jugo
 
PPTX
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
PPTX
Sp2013 overview
BIWUG
 
PPTX
Sp2013 overview biwug
BIWUG
 
PPTX
SPCA2013 - Once you go app you don't go back
NCCOMMS
 
PPTX
Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
PPTX
SharePoint Saturday Sacramento 2013 SharePoint Apps
Ryan Schouten
 
PPTX
Developing Apps for SharePoint 2013
SPC Adriatics
 
PPTX
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
Ryan Schouten
 
(Almost) All About Apps for SharePoint 2013
Dragan Panjkov
 
Share point unvealed apps in sharepoint 2013
Alexander Meijers
 
Access share point-2013-data-with-provider-hosted-apps
Alexander Meijers
 
SharePoint Development with Visual Studio 2012
Thuan Ng
 
Getting started with SharePoint 2013 online development
Jeremy Thake
 
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Getting Started with SharePoint 2013 Apps
Randy Williams
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
Gilles Pommier
 
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
SP2013 What's New for Developers : SPSSTL
Kenneth Maglio
 
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
Adis Jugo
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
Sp2013 overview
BIWUG
 
Sp2013 overview biwug
BIWUG
 
SPCA2013 - Once you go app you don't go back
NCCOMMS
 
Deep Dive SharePoint 2013: Developing applications in SharePoint 2013: forget...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
SharePoint Saturday Sacramento 2013 SharePoint Apps
Ryan Schouten
 
Developing Apps for SharePoint 2013
SPC Adriatics
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
Ryan Schouten
 
Ad

More from Microsoft Developer Network (MSDN) - Belgium and Luxembourg (20)

PPTX
Code in the Cloud - Ghent - 20 February 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PDF
Executive Summit for ISV & Application builders - Internet of Things
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Code in the Cloud - December 8th 2014
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
cloud value for application development
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Modern lifecycle management practices
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Inside the Microsoft TechDays Belgium Apps
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Windows Phone 8 Security Deep Dive
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Deep Dive into Entity Framework 6.0
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Applied MVVM in Windows 8 apps: not your typical MVVM session!
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Deep Dive and Best Practices for Windows Azure Storage Services
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
Building data centric applications for web, desktop and mobile with Entity Fr...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Code in the Cloud - Ghent - 20 February 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Executive Summit for ISV & Application builders - Internet of Things
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Executive Summit for ISV & Application builders - January 2015
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
cloud value for application development
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Inside the Microsoft TechDays Belgium Apps
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Applied MVVM in Windows 8 apps: not your typical MVVM session!
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Building SPA’s (Single Page App) with Backbone.js
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Deep Dive and Best Practices for Windows Azure Storage Services
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Building data centric applications for web, desktop and mobile with Entity Fr...
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
Ad

Recently uploaded (20)

PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
July Patch Tuesday
Ivanti
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 

SharePoint Server 2013: to app or not to app?

  • 1. SharePoint 2013: To App or not to App?
  • 3. Agenda • Introduction to SharePoint 2013 apps • Deployment options and design patterns • Technologies used in app development • Building a SharePoint-hosted app
  • 4. setting the scene Introducing the new SharePoint app framework
  • 5. Introducing apps In SharePoint 2013 everything is an app … In strict sense: “Apps are self-contained pieces of functionality that extend the capabilities of a SharePoint site.”
  • 6. App isolation: App web vs Host web • Apps live in their own isolated environment called the “app web”. • The site in which they function is called the “host web” APP1UID GUIDAPP1
  • 8. SharePoint 2013 app development scenarios
  • 10. Getting started with development • Local development • Has to be on Windows Server 2008 R2 (or later) • Memory reqs have gone up – 12 GB RAM seems workable ... But TechNet recommends 24 GB • Extra configuration needed for app development • Visual Studio 2012 • Remote development • Sign up for Office 365 Developer Site • Possible to use NAPA – app for building apps
  • 11. SharePoint App UX • Immersive App - app is shown full screen with in a separate page • Part - App is shown as a part on the SharePoint page – similar experience to web part • UI Custom Actions – possible to make the App available through ribbon or menu actions for documents and items See Apps for SharePoint UX design guidelines
  • 12. Demo
  • 14. Basic SharePoint App architecture • Code runs “Off SharePoint Box” • Declarative Hooks into SharePoint • AppWeb Host in SharePoint
  • 15. Apps – three possible approaches Developer-Hosted App Cloud-based “Bring your own server hosting SharePoint Your Hosted Apps infrastructure” Web Site Developers will need to isolate Get remote tenants events from SharePoint Azure Auto- Use CSOM/REST Provisioned App SharePoint Azure + Windows Azure + SQL Azure OAuth to work provisioned invisibly as apps Web with SPS are installed SharePoint-hosted App Parent Provision an isolated sub web on a parent web Web • Reuse web elements App Web (lists, files, out-of-box web parts) • No server code allowed; use client JavaScript for logic, UX
  • 16. Hosting: cloud vs SharePoint Cloud Hosted Apps SharePoint Hosted Apps Possible hosting model for almost all types Good for smaller apps of apps Choose your own infrastructure & SharePoint based; no server-side code technology May require your own hosting Automatically hosted in SharePoint May require your own handling of Inherent multitenancy & isolation multitenancy & permission management
  • 17. App identity • Challenge with SPS2010 • Farm solutions – too much privileges - risk of RunWithElevatedPrivileges • Sandbox solutions – no RunWithElevatedPrivileges – always under user context • In SharePoint 2013 apps have their own identity and specific permissions • Installing user either grants or denies permissions to host web • Permission is explicitly given for a specific scope • App identity is passed around using oAuth tokens
  • 18. App scopes • SPSite – site collection • SPWeb – site • SPList • Tenancy • Other scopes (and rights) for performing search queries, accessing taxonomy data, user profiles, etc...
  • 19. App rights • Default rights : Read, Write, Manage and Full Control • Not possible to customize • Apps are granted permissions to a scope and all children of the scope • Defined in declarative XML
  • 20. Azure Access Control Service (ACS) • ACS required with oAuth implementation in SharePoint 2013 • How is the ACS server configured as the authentication server? • Automatically done for sites in Office 365 Preview • On-premise farms, a trust to ACS must be configured. Possible to avoid when using Server-to-server (S2S) trust
  • 21. Demo
  • 23. SharePoint 2013 CSOM and REST API • Apps connect to SharePoint using • SharePoint 2013 Client Side Object Model (CSOM) • SharePoint 2013 REST API • Javascript cross-domain library (SP.RequestExecutor.js) • Main investments in 2013 • Client.svc is extended with REST capabilities • Easier for javascript and non .NET code • Implemented in accordance with oData protocol • Programming style is largely unchanged • New APIs for SharePoint Server functionality • User Profiles, Search, Taxonomy, Feeds, ....
  • 24. REST URLs in SharePoint 2013 • CSOM URLs can go through _api folder • Replace http://sharepoint/_vti_bin/client.svc/web • With http://sharepoint/_api/web • Example REST URLs targeting SharePoint sites • _api/web/lists • _api/web/lists/List1 • _api/web/?$select=title,id • /_api/web/lists/getByTitle('Consultants')/Items • ....
  • 25. ATOM XML vs JSON • Response data format selected with ACCEPT header • XML can be easier to deal with from managed code • JSON easier to deal with using Javascript • To get JSON response use “application/json” http://sharepoint/_vti_bin/client.svc/web
  • 28. SharePoint Hosted App • App components are SharePoint components • SharePoint list, site columns, content types • CSOM and REST API • Client web part • Key Developer skills • HTML5, CSS, Javascript • Jquery, ASP.NET AJAX • CSOM and REST API • Silverlight
  • 29. SharePoint Hosted App • Installation of App creates child site in target site • App can add declarative items to App Web • App Web <-> Host Web communication: CSOM/REST or Javascript cross-domain library • Full client-side extension – no server-side code • Custom Actions • Client-side web parts • Lists • Site Pages • CSS files • Javascript files
  • 30. Demo Building a SharePoint Hosted App with Office 365
  • 32. Summary Call to action: • Sign up for Office 365 Developer Preview • Watch developer videos around building SharePoint 2013 apps • Register on www.biwug.be as a member to stay up to date for local SharePoint 2013 sessions • For more information or questions • SharePoint 2013 Preview start page • SharePoint 2013 Preview Developer documentation • Developing Apps for SharePoint 2013 MSDN forum • SharePoint 2013 Delicious links • Yammer – https://www.yammer.com/spyam

Editor's Notes

  • #7: APP1UID : unique ID given to each app installation in tenancy – makes each app domain uniqueGUIDAPP1: Name of the SPWeb under which the app is installed – allows devs to plugin
  • #19: An app uses permission requests to specify the permissions that it needsThe requests specify both the rights and scope which are neededScopes indicate where in the SharePoint hierarchy a permission request applies. SharePoint supports four different content scopes:SPSite—site collectionSPWeb—websiteSPList—listTenancy—the tenancy scope is at http://&lt;sharepointserver&gt;/&lt;content&gt;/&lt;tenant&gt;/There are also scopes for things like performing search queries, accessing taxonomy data, user profiles, etc.
  • #20: Permission rights indicate what an app is permitted to do within a scope. SharePoint supports four rights levels for content (there are others for things like search, term store, etc.):Read-OnlyWriteManageFull ControlUnlike SharePoint user roles, these rights levels are not customizableIf an app is granted permission to a scope, the permission applies to all children of the scopeIf an app is granted perms to an SPWeb, the app is also granted perms to each SPList in the SPWeb, and all SPListItems in each list, but NOT each subweb
  • #21: Permission rights indicate what an app is permitted to do within a scope. SharePoint supports four rights levels for content (there are others for things like search, term store, etc.):Read-OnlyWriteManageFull ControlUnlike SharePoint user roles, these rights levels are not customizableIf an app is granted permission to a scope, the permission applies to all children of the scopeIf an app is granted perms to an SPWeb, the app is also granted perms to each SPList in the SPWeb, and all SPListItems in each list, but NOT each subweb