SlideShare a Scribd company logo
All About Apps
DRAGAN PANJKOV, PLANB.




TECHNET DAY SARAJEVO 18.12.2012
about me
• Dragan Panjkov
   •   Working with SharePoint since 2007
   •   www.dragan-panjkov.com
   •   www.twitter.com/panjkov
   •   BAM Converter – available on Marketplace and CodePlex
• PlanB. d.o.o.
   • www.planb.ba
• SharePoint user group
   • www.1sug.com
apps basics


types, basic concepts, development


distribution, upgrade, on-prem config
apps?
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.”
why apps
• Isolated (safe!)
• Multi-tenant
• Multiple development possibilities (even non-MS stack)
• Easier to deploy (no SharePointisms by deployment)
• Easier to maintain (lifecycle – versioning, upgrades)
• Manageable (Office Store, Corporate Catalog)

• Cloud ready!
get app to site collection
• All site content provides functionality to
  add apps
• Both Office Store and corporate catalog
  visible from single place
• Users can add Apps to be available
• Apps can request permissions,
  depending on implementation
USER PERSPECTIVE
app types, basic concepts, development
what is an app?
• Web application registered with SharePoint, configured using XML
  (app.manifest)
<?xml version="1.0" encoding="utf-8" ?>
<!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
<App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
     Name="SharePointAppSPCADemo"
     ProductID="{9b33c5b6-bc7c-4905-8b02-e2e24f404fea}"
     Version="1.0.0.0"
     SharePointMinVersion="15.0.0.0"
>
  <Properties>
    <Title>SharePointApp SPCA Demo</Title>
    <StartPage>~appWebUrl/Pages/Default.aspx?{StandardTokens}</StartPage>
  </Properties>

  <AppPrincipal>
    <Internal />
  </AppPrincipal>
  <AppPermissionRequests>
    <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read" />
    <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" />
  </AppPermissionRequests>
</App>
sp app design - a choice of three approaches
                         Developer-Hosted App
                                                                            SharePoint
                         “Bring your own server hosting infrastructure”                       Your Hosted Site
Cloud-based Apps                                                              Web
                         Developers will need to isolate tenants
Get remote events from
SharePoint
Use CSOM/REST +          Azure Auto-Provisioned App
OAuth to work with SP                                                                               Azure
                         Windows Azure + SQL Azure provisioned            SharePoint Web      (from WebDeploy,
                         invisibly as apps are installed
                                                                                                   DacPac)


                         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
                                                                                              (from WSP)
                               JavaScript for logic, UX

                                                                                                           animated
when to use cloud-hosted apps?
Cloud Hosted Apps                        SharePoint Hosted Apps

Preferred hosting model for almost all   Good for smaller apps & resource storage
types of apps

Full power of web – choose your          SharePoint-based; no server-side code
infrastructure & technology

May require your own hosting             Automatically hosted in SharePoint

May require you own handling of          Inherent multitenancy & isolation
multitenancy & permission management
technology comparison
                     SharePoint Hosted           Cloud Hosted
App Scope               SharePoint Site          Site or Tenancy

Architecture               Web Site             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 Doc Libs              Any

Key Limitations        No Server Code       Hosting Expertise Required
common app architecture


                     APP




              CSOM         CSOM
                           REST
use cases for autohosted apps
• Team apps
• Resource tracking
• Team processes
• Event receivers
• Individual productivity
• Document assembly, etc.
user experience integration
                    Full page
                    Implement complete app experiences
                    to satisfy business scenarios


                    Parts
                    Create app parts that can interact
                    with the SharePoint experience


                    UI Command extensions
                    Add new commands to the ribbon and item
                    menus
developing apps
APP DEVELOPMENT INTRO
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 permissions
• 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
app scopes
• SPSite – site collection
• SPWeb – site
• SPList
• Tenancy
• Other scopes (and rights) for performing search queries, accessing
  taxonomy data, user profiles, etc...
sharepoint apps: establishing trust
azure access control service (ACS)
• ACS is used as authorization server
• required with oAuth implementation in SharePoint 2013
• How is the ACS server configured?
  • 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
sharepoint 2013 remote api

                  _api is new alias for _vti_bin/client.svc

 Server
 Client   REST                              CSOM
          OData
          JSON
                       JavaScript         Silverlight         .Net CLR
                         Library           Library             Library



                           Custom Client Code
deployment, upgrade, configuration
from developer to end user
                                                         Office and SharePoint


            Dev center                                 Integrated
                         Office Store        TRIAL/
            submission                     PURCHASE      Office
                                                          Store
                                                                       End users


                                              TRIAL/
                                            PURCHASE
Developer

                           Vendor/                      SharePoint
              Direct
                          IT projects                  App Catalog



                                        IT admin
apps upgrade process




                       animated
Infrastructure configuration for SP Apps
1) Wild card DNS entry for app domain
2) Apps service application and subscription service created in
   environment hosting SP apps
3) SharePoint application for routing the incoming requests to app
   DNS entry
4) App catalog created for SharePoint applications to enable end
   users to utilize apps
                              SharePoint farm


           http://*.apps
                192.168.x.x
dns configuration on-premises
• Define wildcard DNS entry for apps
  • *.apps.contoso.com or something similar
• Configure app address in SP side using
  Central Admin or PowerShell
  • One address per farm
app configuration for on-premises farm
    • Ensure that App service application and subscription service are created and
      running in farm
    • Subscription service is used to provide unique Site Collection ID for App Urls

main SharePoint site           app1 SharePoint site
                                                        tenant-
  http://sp/sites/web           http://                                                /sites/web/appguid
                                               apphash1.contosoapps.com
                          http://apps-87e90ada14c175.contosoapps.com/sites/web/014c9c59-5d9c-4a59-a5ce-2116a4c90296

    • Apps will be hosted on own domain, within their own frame
        • Leverages web browser same-origin policy for script isolation
    • URL naming – each app has unique URL – one app – one = URL
        • http://default-appUID.apps.contoso.com
        • appUID – combination of site collection ID and particular SPWeb where app is installed
apps…
• …are not executed in SharePoint App pool
• …are in most of the cases not even running on SP Server
• …can have full trust, with user’s approval (OAuth)
• …can access SharePoint Data
• …can access outer world non-SharePoint Data
• …can use any external resources
• …can be executed in it’s own chrome, as app parts, or as
  SharePoint extensions
resources
• dev.office.com
• blogs.msdn.com/b/officeapps
• blog.tedpattison.net
• http://www.andrewconnell.com/blog/archive/2012/10/02/fully-
  scripted-solution-for-creating-and-registering-self-signed-
  certs.aspx
• http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx?
  ID=267
questions?
WWW.DRAGAN-PANJKOV.COM

@PANJKOV
thank you.
Provider Hosted – S2S
• High trust applications used on-premise
• Can assert any user’s identity
• Requires configuration to establish trust between SharePoint farm
  and S2S app
• Needs to be done for every S2S app
Configure S2S
• App Isolation is configured
• Disable App Principal check
• Generate Public/Private certificate pair
• Generate Client Id
• Set up Security Token Issuer
• Register App Principal
• Update Web.config and ensure user profiles exist
• http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx?
  ID=267
Ad

More Related Content

What's hot (20)

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
 
Introduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core LibrariesIntroduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core Libraries
Eric Shupps
 
Winter15 Release Webinar Deck
Winter15 Release Webinar DeckWinter15 Release Webinar Deck
Winter15 Release Webinar Deck
brightgenss
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
John Calvert
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
SPC Adriatics
 
Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...
Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...
Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...
Softree Technology Pvt. Ltd
 
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
European Collaboration Summit
 
SharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldSharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the Field
Jason Himmelstein
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePoint
Yaroslav Pentsarskyy [MVP]
 
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
European Collaboration Summit
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 Apps
Mike Henthorn
 
#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization
Mike Maadarani
 
10 Things I Like in SharePoint 2013 Search
10 Things I Like in SharePoint 2013 Search10 Things I Like in SharePoint 2013 Search
10 Things I Like in SharePoint 2013 Search
SPC Adriatics
 
Spsatx 1
Spsatx 1Spsatx 1
Spsatx 1
jtbarrera
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
SPC Adriatics
 
Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...
Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...
Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...
Sezai Komur
 
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Thomas Daly
 
Share point developement Introduction for students
Share point developement Introduction for studentsShare point developement Introduction for students
Share point developement Introduction for students
Melick Baranasooriya
 
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
 
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Jason Himmelstein
 
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
 
Introduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core LibrariesIntroduction to the Office Dev PnP Core Libraries
Introduction to the Office Dev PnP Core Libraries
Eric Shupps
 
Winter15 Release Webinar Deck
Winter15 Release Webinar DeckWinter15 Release Webinar Deck
Winter15 Release Webinar Deck
brightgenss
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
John Calvert
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
SPC Adriatics
 
Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...
Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...
Migrate SharePoint 2016 To SharePoint 2019 Environment Using Content Database...
Softree Technology Pvt. Ltd
 
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
European Collaboration Summit
 
SharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldSharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the Field
Jason Himmelstein
 
Get started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePointGet started with building native mobile apps interacting with SharePoint
Get started with building native mobile apps interacting with SharePoint
Yaroslav Pentsarskyy [MVP]
 
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
European Collaboration Summit
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 Apps
Mike Henthorn
 
#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization
Mike Maadarani
 
10 Things I Like in SharePoint 2013 Search
10 Things I Like in SharePoint 2013 Search10 Things I Like in SharePoint 2013 Search
10 Things I Like in SharePoint 2013 Search
SPC Adriatics
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
SPC Adriatics
 
Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...
Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...
Technical Overview of FAST Search Server 2010 for SharePoint - SharePoint Sat...
Sezai Komur
 
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Thomas Daly
 
Share point developement Introduction for students
Share point developement Introduction for studentsShare point developement Introduction for students
Share point developement Introduction for students
Melick Baranasooriya
 
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
 
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Jason Himmelstein
 

Similar to (Almost) All About Apps for SharePoint 2013 (20)

The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 
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
 
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
 
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
Alexander Meijers
 
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
 
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
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwug
BIWUG
 
Sp2013 overview
Sp2013 overviewSp2013 overview
Sp2013 overview
BIWUG
 
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
 
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
Adis Jugo
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 
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
 
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
 
Sharepoint 2013 App
Sharepoint 2013 AppSharepoint 2013 App
Sharepoint 2013 App
Trimantra Software Solutions
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013
Adis Jugo
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
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
 
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
Adis Jugo
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
Sonja Madsen
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
SPC Adriatics
 
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
 
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
Alexander Meijers
 
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
 
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
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwug
BIWUG
 
Sp2013 overview
Sp2013 overviewSp2013 overview
Sp2013 overview
BIWUG
 
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
 
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
Adis Jugo
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
SharePointRadi
 
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
 
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
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013
Adis Jugo
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
SPTechCon
 
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
 
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
Adis Jugo
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
Sonja Madsen
 
Ad

More from Dragan Panjkov (20)

Leveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutionsLeveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutions
Dragan Panjkov
 
NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...
NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...
NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...
Dragan Panjkov
 
Developing with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDeveloping with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premises
Dragan Panjkov
 
Building serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsBuilding serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure Functions
Dragan Panjkov
 
Building serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsBuilding serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure Functions
Dragan Panjkov
 
How to create custom connector for Microsoft Flow
How to create custom connector for Microsoft FlowHow to create custom connector for Microsoft Flow
How to create custom connector for Microsoft Flow
Dragan Panjkov
 
Developing with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDeveloping with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premises
Dragan Panjkov
 
How to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft FlowHow to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft Flow
Dragan Panjkov
 
Building serverless applications with Microsoft Graph and Azure Functions - S...
Building serverless applications with Microsoft Graph and Azure Functions - S...Building serverless applications with Microsoft Graph and Azure Functions - S...
Building serverless applications with Microsoft Graph and Azure Functions - S...
Dragan Panjkov
 
How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18
Dragan Panjkov
 
Building Serverless Applications with Microsoft Graph - ECS 2018
Building Serverless Applications with Microsoft Graph - ECS 2018Building Serverless Applications with Microsoft Graph - ECS 2018
Building Serverless Applications with Microsoft Graph - ECS 2018
Dragan Panjkov
 
How to: Create a custom connector for Microsoft Flow
How to: Create a custom connector for Microsoft FlowHow to: Create a custom connector for Microsoft Flow
How to: Create a custom connector for Microsoft Flow
Dragan Panjkov
 
Microsoft Graph and Azure Functions - SharePoint User Group Frankfurt
Microsoft Graph and Azure Functions - SharePoint User Group FrankfurtMicrosoft Graph and Azure Functions - SharePoint User Group Frankfurt
Microsoft Graph and Azure Functions - SharePoint User Group Frankfurt
Dragan Panjkov
 
ATD 13 - Enhancing your applications using Microsoft Graph API
ATD 13 - Enhancing your applications using Microsoft Graph APIATD 13 - Enhancing your applications using Microsoft Graph API
ATD 13 - Enhancing your applications using Microsoft Graph API
Dragan Panjkov
 
SPS Vienna 2017 - Getting started with APIs for Groups and Planner
SPS Vienna 2017 - Getting started with APIs for Groups and PlannerSPS Vienna 2017 - Getting started with APIs for Groups and Planner
SPS Vienna 2017 - Getting started with APIs for Groups and Planner
Dragan Panjkov
 
SPS Lisbon 2017 - Enhancing your applications using Microsoft Graph API
SPS Lisbon 2017 - Enhancing your applications using Microsoft Graph APISPS Lisbon 2017 - Enhancing your applications using Microsoft Graph API
SPS Lisbon 2017 - Enhancing your applications using Microsoft Graph API
Dragan Panjkov
 
SPKonferenz 2017 - Introducing SDKs for Microsoft Graph
SPKonferenz 2017 - Introducing SDKs for Microsoft GraphSPKonferenz 2017 - Introducing SDKs for Microsoft Graph
SPKonferenz 2017 - Introducing SDKs for Microsoft Graph
Dragan Panjkov
 
SPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with PlannerSPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with Planner
Dragan Panjkov
 
MSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabs
MSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabsMSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabs
MSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabs
Dragan Panjkov
 
MSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAAS
MSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAASMSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAAS
MSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAAS
Dragan Panjkov
 
Leveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutionsLeveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutions
Dragan Panjkov
 
NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...
NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...
NetWork9-Pretvorite svoju poslovnu aplikaciju u Teams Tab u tri jednostavna k...
Dragan Panjkov
 
Developing with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDeveloping with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premises
Dragan Panjkov
 
Building serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsBuilding serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure Functions
Dragan Panjkov
 
Building serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure FunctionsBuilding serverless applications with Microsoft Graph and Azure Functions
Building serverless applications with Microsoft Graph and Azure Functions
Dragan Panjkov
 
How to create custom connector for Microsoft Flow
How to create custom connector for Microsoft FlowHow to create custom connector for Microsoft Flow
How to create custom connector for Microsoft Flow
Dragan Panjkov
 
Developing with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDeveloping with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premises
Dragan Panjkov
 
How to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft FlowHow to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft Flow
Dragan Panjkov
 
Building serverless applications with Microsoft Graph and Azure Functions - S...
Building serverless applications with Microsoft Graph and Azure Functions - S...Building serverless applications with Microsoft Graph and Azure Functions - S...
Building serverless applications with Microsoft Graph and Azure Functions - S...
Dragan Panjkov
 
How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18How to create custom connector for Microsoft Flow - SPSNL18
How to create custom connector for Microsoft Flow - SPSNL18
Dragan Panjkov
 
Building Serverless Applications with Microsoft Graph - ECS 2018
Building Serverless Applications with Microsoft Graph - ECS 2018Building Serverless Applications with Microsoft Graph - ECS 2018
Building Serverless Applications with Microsoft Graph - ECS 2018
Dragan Panjkov
 
How to: Create a custom connector for Microsoft Flow
How to: Create a custom connector for Microsoft FlowHow to: Create a custom connector for Microsoft Flow
How to: Create a custom connector for Microsoft Flow
Dragan Panjkov
 
Microsoft Graph and Azure Functions - SharePoint User Group Frankfurt
Microsoft Graph and Azure Functions - SharePoint User Group FrankfurtMicrosoft Graph and Azure Functions - SharePoint User Group Frankfurt
Microsoft Graph and Azure Functions - SharePoint User Group Frankfurt
Dragan Panjkov
 
ATD 13 - Enhancing your applications using Microsoft Graph API
ATD 13 - Enhancing your applications using Microsoft Graph APIATD 13 - Enhancing your applications using Microsoft Graph API
ATD 13 - Enhancing your applications using Microsoft Graph API
Dragan Panjkov
 
SPS Vienna 2017 - Getting started with APIs for Groups and Planner
SPS Vienna 2017 - Getting started with APIs for Groups and PlannerSPS Vienna 2017 - Getting started with APIs for Groups and Planner
SPS Vienna 2017 - Getting started with APIs for Groups and Planner
Dragan Panjkov
 
SPS Lisbon 2017 - Enhancing your applications using Microsoft Graph API
SPS Lisbon 2017 - Enhancing your applications using Microsoft Graph APISPS Lisbon 2017 - Enhancing your applications using Microsoft Graph API
SPS Lisbon 2017 - Enhancing your applications using Microsoft Graph API
Dragan Panjkov
 
SPKonferenz 2017 - Introducing SDKs for Microsoft Graph
SPKonferenz 2017 - Introducing SDKs for Microsoft GraphSPKonferenz 2017 - Introducing SDKs for Microsoft Graph
SPKonferenz 2017 - Introducing SDKs for Microsoft Graph
Dragan Panjkov
 
SPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with PlannerSPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with Planner
Dragan Panjkov
 
MSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabs
MSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabsMSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabs
MSNetWork 7 - Microsoft Teams Extensibility - bots, connectors, tabs
Dragan Panjkov
 
MSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAAS
MSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAASMSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAAS
MSNetWork 7 - Implementacija SharePoint 2016 farme na Azure IAAS
Dragan Panjkov
 
Ad

Recently uploaded (20)

tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 

(Almost) All About Apps for SharePoint 2013

  • 1. All About Apps DRAGAN PANJKOV, PLANB. TECHNET DAY SARAJEVO 18.12.2012
  • 2. about me • Dragan Panjkov • Working with SharePoint since 2007 • www.dragan-panjkov.com • www.twitter.com/panjkov • BAM Converter – available on Marketplace and CodePlex • PlanB. d.o.o. • www.planb.ba • SharePoint user group • www.1sug.com
  • 3. apps basics types, basic concepts, development distribution, upgrade, on-prem config
  • 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. why apps • Isolated (safe!) • Multi-tenant • Multiple development possibilities (even non-MS stack) • Easier to deploy (no SharePointisms by deployment) • Easier to maintain (lifecycle – versioning, upgrades) • Manageable (Office Store, Corporate Catalog) • Cloud ready!
  • 7. get app to site collection • All site content provides functionality to add apps • Both Office Store and corporate catalog visible from single place • Users can add Apps to be available • Apps can request permissions, depending on implementation
  • 9. app types, basic concepts, development
  • 10. what is an app? • Web application registered with SharePoint, configured using XML (app.manifest) <?xml version="1.0" encoding="utf-8" ?> <!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9--> <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest" Name="SharePointAppSPCADemo" ProductID="{9b33c5b6-bc7c-4905-8b02-e2e24f404fea}" Version="1.0.0.0" SharePointMinVersion="15.0.0.0" > <Properties> <Title>SharePointApp SPCA Demo</Title> <StartPage>~appWebUrl/Pages/Default.aspx?{StandardTokens}</StartPage> </Properties> <AppPrincipal> <Internal /> </AppPrincipal> <AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read" /> <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" /> </AppPermissionRequests> </App>
  • 11. sp app design - a choice of three approaches Developer-Hosted App SharePoint “Bring your own server hosting infrastructure” Your Hosted Site Cloud-based Apps Web Developers will need to isolate tenants Get remote events from SharePoint Use CSOM/REST + Azure Auto-Provisioned App OAuth to work with SP Azure Windows Azure + SQL Azure provisioned SharePoint Web (from WebDeploy, invisibly as apps are installed DacPac) 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 (from WSP) JavaScript for logic, UX animated
  • 12. when to use cloud-hosted apps? Cloud Hosted Apps SharePoint Hosted Apps Preferred hosting model for almost all Good for smaller apps & resource storage types of apps Full power of web – choose your SharePoint-based; no server-side code infrastructure & technology May require your own hosting Automatically hosted in SharePoint May require you own handling of Inherent multitenancy & isolation multitenancy & permission management
  • 13. technology comparison SharePoint Hosted Cloud Hosted App Scope SharePoint Site Site or Tenancy Architecture Web Site 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 Doc Libs Any Key Limitations No Server Code Hosting Expertise Required
  • 14. common app architecture APP CSOM CSOM REST
  • 15. use cases for autohosted apps • Team apps • Resource tracking • Team processes • Event receivers • Individual productivity • Document assembly, etc.
  • 16. user experience integration Full page Implement complete app experiences to satisfy business scenarios Parts Create app parts that can interact with the SharePoint experience UI Command extensions Add new commands to the ribbon and item menus
  • 19. 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
  • 20. app permissions • 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
  • 21. app scopes • SPSite – site collection • SPWeb – site • SPList • Tenancy • Other scopes (and rights) for performing search queries, accessing taxonomy data, user profiles, etc...
  • 23. azure access control service (ACS) • ACS is used as authorization server • required with oAuth implementation in SharePoint 2013 • How is the ACS server configured? • 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
  • 24. sharepoint 2013 remote api _api is new alias for _vti_bin/client.svc Server Client REST CSOM OData JSON JavaScript Silverlight .Net CLR Library Library Library Custom Client Code
  • 26. from developer to end user Office and SharePoint Dev center Integrated Office Store TRIAL/ submission PURCHASE Office Store End users TRIAL/ PURCHASE Developer Vendor/ SharePoint Direct IT projects App Catalog IT admin
  • 28. Infrastructure configuration for SP Apps 1) Wild card DNS entry for app domain 2) Apps service application and subscription service created in environment hosting SP apps 3) SharePoint application for routing the incoming requests to app DNS entry 4) App catalog created for SharePoint applications to enable end users to utilize apps SharePoint farm http://*.apps 192.168.x.x
  • 29. dns configuration on-premises • Define wildcard DNS entry for apps • *.apps.contoso.com or something similar • Configure app address in SP side using Central Admin or PowerShell • One address per farm
  • 30. app configuration for on-premises farm • Ensure that App service application and subscription service are created and running in farm • Subscription service is used to provide unique Site Collection ID for App Urls main SharePoint site app1 SharePoint site tenant- http://sp/sites/web http:// /sites/web/appguid apphash1.contosoapps.com http://apps-87e90ada14c175.contosoapps.com/sites/web/014c9c59-5d9c-4a59-a5ce-2116a4c90296 • Apps will be hosted on own domain, within their own frame • Leverages web browser same-origin policy for script isolation • URL naming – each app has unique URL – one app – one = URL • http://default-appUID.apps.contoso.com • appUID – combination of site collection ID and particular SPWeb where app is installed
  • 31. apps… • …are not executed in SharePoint App pool • …are in most of the cases not even running on SP Server • …can have full trust, with user’s approval (OAuth) • …can access SharePoint Data • …can access outer world non-SharePoint Data • …can use any external resources • …can be executed in it’s own chrome, as app parts, or as SharePoint extensions
  • 32. resources • dev.office.com • blogs.msdn.com/b/officeapps • blog.tedpattison.net • http://www.andrewconnell.com/blog/archive/2012/10/02/fully- scripted-solution-for-creating-and-registering-self-signed- certs.aspx • http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx? ID=267
  • 35. Provider Hosted – S2S • High trust applications used on-premise • Can assert any user’s identity • Requires configuration to establish trust between SharePoint farm and S2S app • Needs to be done for every S2S app
  • 36. Configure S2S • App Isolation is configured • Disable App Principal check • Generate Public/Private certificate pair • Generate Client Id • Set up Security Token Issuer • Register App Principal • Update Web.config and ensure user profiles exist • http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx? ID=267