SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 LibrariesEric Shupps
 
Winter15 Release Webinar Deck
Winter15 Release Webinar DeckWinter15 Release Webinar Deck
Winter15 Release Webinar Deckbrightgenss
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaJohn 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 ToolsSPC 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 FieldJason 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 SharePointYaroslav 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 AppsMike Henthorn
 
#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimizationMike 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 SearchSPC Adriatics
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project OnlineSPC 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 studentsMelick 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
 

Was ist angesagt? (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 ...
 
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
 
Winter15 Release Webinar Deck
Winter15 Release Webinar DeckWinter15 Release Webinar Deck
Winter15 Release Webinar Deck
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
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
 
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...
 
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...
 
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
 
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
 
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...
 
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
 
#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization#SPSPhilly search topology & optimization
#SPSPhilly search topology & optimization
 
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
 
Spsatx 1
Spsatx 1Spsatx 1
Spsatx 1
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
 
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...
 
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...
 
Share point developement Introduction for students
Share point developement Introduction for studentsShare point developement Introduction for students
Share point developement Introduction for students
 
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...
 
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...
 

Ähnlich wie (Almost) All About Apps for SharePoint 2013

The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App ModelSPC 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 ModelNoorez 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-appsAlexander 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 modelJeremy 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 appJoris Poelmans
 
Sp2013 overview
Sp2013 overviewSp2013 overview
Sp2013 overviewBIWUG
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
Sp2013 overview biwugBIWUG
 
SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012SharePoint Development with Visual Studio 2012
SharePoint Development with Visual Studio 2012Thuan 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 2013Adis 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 APISharePointRadi
 
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 AppKenneth 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 developmentJeremy 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 Modelbgerman
 
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 StoreJuan 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 2013Adis Jugo
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja Madsen
 

Ähnlich wie (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
 
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?
 
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
 
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
 
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
 
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
 
Sp2013 overview
Sp2013 overviewSp2013 overview
Sp2013 overview
 
Sp2013 overview biwug
Sp2013 overview biwugSp2013 overview biwug
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
 
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
 
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
 
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
 
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
 
Sharepoint 2013 App
Sharepoint 2013 AppSharepoint 2013 App
Sharepoint 2013 App
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013
 
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
 
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 ...
 
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
 
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
 
Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013Sonja madsen speaker slides espc 2013
Sonja madsen speaker slides espc 2013
 

Mehr von Dragan Panjkov

Leveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutionsLeveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutionsDragan 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-premisesDragan 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 FunctionsDragan 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 FunctionsDragan 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 FlowDragan 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-premisesDragan 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 FlowDragan 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 - SPSNL18Dragan 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 2018Dragan 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 FlowDragan 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 FrankfurtDragan 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 APIDragan 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 PlannerDragan 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 APIDragan 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 GraphDragan Panjkov
 
SPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with PlannerSPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with PlannerDragan 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, tabsDragan 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 IAASDragan Panjkov
 

Mehr von 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
 
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...
 
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
 
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
 
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
 
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
 
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
 
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
 
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...
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
SPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with PlannerSPKonferenz 2017 - Planning with Planner
SPKonferenz 2017 - Planning with Planner
 
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
 
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
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

(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