A Deep-Dive into Real-World SharePoint App Development

32
Real World Add-In Development ERIC SHUPPS MVP

Transcript of A Deep-Dive into Real-World SharePoint App Development

Page 1: A Deep-Dive into Real-World SharePoint App Development

Real World Add-In Development

ERIC SHUPPSMVP

Page 2: A Deep-Dive into Real-World SharePoint App Development

SPONSORS

Page 3: A Deep-Dive into Real-World SharePoint App Development

About Me

@eshupps sharepointcowboywww.sharepointcowboy.com

slideshare.net/eshupps linkedin.com/in/eshupps

Eric ShuppsOffice Server MVP

Page 4: A Deep-Dive into Real-World SharePoint App Development

Agenda

• Build to Suit

• Make the Network Workf for You

• The Database is King

• Keep Traffic Moving

• Cache In

• Look Good but Perform Better

Page 5: A Deep-Dive into Real-World SharePoint App Development

Agenda

•Models

•API’s

•Security

•Customizations

•Deployment

Page 6: A Deep-Dive into Real-World SharePoint App Development
Page 7: A Deep-Dive into Real-World SharePoint App Development

MODELS

Page 8: A Deep-Dive into Real-World SharePoint App Development

SharePoint Hosted

What Works What Doesn’t

Page 9: A Deep-Dive into Real-World SharePoint App Development

Provider Hosted

What Doesn’tWhat Works

Page 10: A Deep-Dive into Real-World SharePoint App Development

Azure

What Works What Doesn’t

Page 11: A Deep-Dive into Real-World SharePoint App Development

SharePoint Framework

???

Page 12: A Deep-Dive into Real-World SharePoint App Development

API’S

Page 13: A Deep-Dive into Real-World SharePoint App Development

CSOM

Page 14: A Deep-Dive into Real-World SharePoint App Development

JSOM

Page 15: A Deep-Dive into Real-World SharePoint App Development

REST

Page 16: A Deep-Dive into Real-World SharePoint App Development

DEMO

Throttling Management

Page 17: A Deep-Dive into Real-World SharePoint App Development

SECURITY

Page 18: A Deep-Dive into Real-World SharePoint App Development

PermissionsAuthorizationAuthentication

On-Premise

Page 19: A Deep-Dive into Real-World SharePoint App Development

PermissionsAuthorizationAuthentication

Office 365

Page 20: A Deep-Dive into Real-World SharePoint App Development

PermissionsAuthorizationAuthentication

Azure

Page 21: A Deep-Dive into Real-World SharePoint App Development

DEMO

Assigning App Permissions in Azure

Page 22: A Deep-Dive into Real-World SharePoint App Development

CUSTOMIZATIONS

Page 23: A Deep-Dive into Real-World SharePoint App Development

App Web

• Not primary user context

• Declarative artifacts or code

• Iterative deployments destroy content

• Only provisioned via SPHA or PHA with declarative artifacts

Host Web

• Code only – no declarative artifacts

• Requires Cross Domain calls

• Injection remnants difficult to remove

Scopes

Page 24: A Deep-Dive into Real-World SharePoint App Development

• On-Premise

• Modify and manipulate – do not replaceMaster Pages

•PHA: External (CDN)

•SPHA: External or App WebDependencies

• On-Premise: Declarative or Programmatic

• Online: ProgrammaticAssets

•Do not rely upon remote event receivers•Beware the dangers of injection

Retraction

Branding

Page 25: A Deep-Dive into Real-World SharePoint App Development

DEMO

JavaScript Injection Issues

Page 26: A Deep-Dive into Real-World SharePoint App Development

Data Sources

• Lists

• Managed Metadata

• Search

• BCS

• External

Components

• Master Pages

• Client Web Parts

• Scripts

Navigation

Page 27: A Deep-Dive into Real-World SharePoint App Development

Sites

What Works What Doesn’t

Page 28: A Deep-Dive into Real-World SharePoint App Development

DEPLOYMENT

Page 29: A Deep-Dive into Real-World SharePoint App Development

On-Premise

• Apps

• SSL

• DNS

• [PHA] Server to Server (S2S) High Trust or Hybrid Low Trust

Configuration

• [SHA] None

• [PHA] Servers, Networking, Authentication, Admin Access

Resources

•Corporate Catalog

•Developer Site

•Store

Distribution

Page 30: A Deep-Dive into Real-World SharePoint App Development

Office 365

• Apps

Configuration

• [SHA] None

• [PHA] Servers, Networking, Authentication, Admin Access

Resources

• Corporate Catalog

• Developer Site

• Store

Distribution

Page 31: A Deep-Dive into Real-World SharePoint App Development

Azure

• AD Apps

• SSL

• DNS

• SSO

• Permissions

Configuration

•Servers, Networking, Authentication, Admin Access

•Azure AD Premium*

Resources

• Admin assignment

Distribution

Page 32: A Deep-Dive into Real-World SharePoint App Development

thank you

questions?

live ratings

BLOG URLTWITTER HANDLE

spca.biz/YOURSESS

Change this QR code with the

one that points to your session:

http://spca.biz/YOURSESS

Your 4

be found in the agenda

Create QR code e.g. here:http://www.qr

Change this to include

your session code,

spca.biz/YOURSESS

It has to be the same link as in

QR code.

PLEASE TEST THE LINK