Dec 28, 2015
Understanding and maintaining SharePoint Apps for IT ProfessionalsSam HassaniPrincipal ConsultantBrightStarr
SPC366
Introductions…Who am I?Principal Consultant at BrightStarrMicrosoft Certified Master: SharePoint 2010Microsoft Certified Master: SharePointSharePoint 2013 Beta Engineer
Contact detailsTwitter: @samhassaEmail: [email protected]: www.brightstarr.comWeb: www.samhassani.comYammer: Operations and Management Group
AgendaOverview of Apps in SharePointConfiguring an on-premises farm for AppsApps lifecycle managementApps monitoring
Evolution of SharePoint customizations
Full trust solutions
Prone to stabilization issuesChallenging to upgradeUnfeasible on hosted platform
Sandboxed solutions
Too strict for developersHard to maintain and scaleConfusing for site owners
(Cloud) App model
Cloud/client code onlyHost/language independentFull life cycle and reuse ‘story’
So why the need for Apps in SharePoint?
Sites
Vie
ws
Columns
Libra
riesPages
List
sWeb Parts
WorkflowsM
ast
er
Pages
SolutionsFe
atu
res
Conte
nt Ty
pes
Docu
ments
So why the need for Apps in SharePoint?
Sites
Vie
ws
Columns
Apps
Libra
riesPages
List
sWeb Parts
WorkflowsM
ast
er
Pages
SolutionsFe
atu
res
Conte
nt Ty
pes
Docu
ments
App hosting optionsCloud
SharePoint-hosted
SharePoint
Autohosted
Windows Azure and SQL Azure
Provider-hosted
Dedicated server or hosting service
CSOM/REST + OAuth
Existing sitesand services
App web(optional)
Existing sitesand services
App web(optional)
Host web
App web
CSOM/REST + OAuth
Host webs and App webs
Host webApp1
App3
App2
Windows Azure
App web
List
App web
List
Host web 2App2
App web
Document Library
List1
List2
The isolated domain
http://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
Host web
http://intranet.contoso.com/sites/SPC
App webScheduler App
/Scheduler
App prefix (tenant)
App ID
App domain
Host web
App name
http://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
Infrastructure configuration
Determine App domain• h
ttps://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
Configure domain names in DNS• h
ttps://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
• *.contosoapps.com
Create a new wildcard SSL certificate
SharePoint farm configuration
• Subscription Settings• App Management
Service applications
• App URLs (App prefix and App domain)• App Catalog• Store Settings• App Domains for multiple zones
SharePoint App settings
App Domains for multiple zonesMarch 2013 Public Update for SharePoint 2013 enables you to associate app domains to different zonesSteps to do this:Enable the feature using PowerShell:$contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $contentService.SupportMultipleAppDomains = $true $contentService.Update()
Create new App Domain:
New-SPWebApplicationAppDomain -AppDomain <AppDomain> -WebApplication <WebApplicationID> -Zone <Zone> -Port <Port> -SecureSocketsLayer
Additional Considerations
Apps do not support Kerberos
Special requirements for SAML authentication
A routing Web application may be needed
Routing Web application
No host header
https://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
*.contosoapps.com= 192.168.1.2
https://intranet.contoso.com
https://my.contoso.com
App Management Service Application
NLB192.168.1.2
DNSFarm
Installing an AppTimer Job:• App Installation Service
Cmdlets:• Import-SPAppPackage• Install-SPApp• Uninstall-SPAppInstance
Tenant Scoped AppsHost web : app web mapping has an exceptionMultiple “instances” of an App can share an app webNot suitable for all scenariosLimitations:• Apps that contain a custom actions for the ribbon• Apps that contain an app part
Manage LicensingTimer Job:• License renewal
Powershell for DR:$appProxy = Get-SPServiceApplicationProxy “AppManagementProxyId”$appProxy.GetDeploymentID()
Set-SPAppManagementDeploymentID
Backup and RestoreSite exports do not include app assets:Export-SPWeb and Import-SPWeb
Site backup and restore:Backup-SPSite and Restore-SPSite
App exports:Export-SPAppPackage
Upgrading AppsSite administrators are responsible for upgrading AppsNotification state needs to be updated by SharePoint first
Timer Jobs:• App State Update• Internal App State Update
Cmdlets:• Get-SPAppStateUpdateInterval• Get-SPAppStateSyncLastRunTime• Set-SPAppStateUpdateInterval• Update-SPAppInstance
Monitoring and logging
•App usage/Error details•Timer Jobs
Monitoring in Central Admin
•App usage/Error details
Monitoring in Site
Collections
•App Management, App Monitoring, Azure Access Control, App Marketplace, Marketplace Web Service
Logging Categories
MySPCSponsored by
connect. reimagine. transform.
Evaluate sessionson MySPC using yourlaptop or mobile device:myspc.sharepointconference.com
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.