+ All Categories
Home > Technology > Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

Date post: 18-Dec-2014
Category:
Upload: corey-roth
View: 4,247 times
Download: 3 times
Share this document with a friend
Description:
Slides from my into to SharePoint Online development talk at Dev/IT Connections 2013
37
Corey Roth Principal Architect Infusion Intro to SharePoint Online Development
Transcript
Page 1: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

Corey RothPrincipal Architect

Infusion

Intro to SharePoint

Online Development

Page 2: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

COREY ROTH

Principal Architect at Infusion Development

SP2 Apps for SharePoint 2013 Three-time Microsoft SharePoint MVP Specializing in ECM, Search, and apps

2

Page 3: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

3

CONTACT INFO

E-mail: [email protected] Twitter: @coreyroth Blog: www.dotnetmafia.com Apps: www.sp2apps.com

Page 4: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

4

WHO IS USING OFFICE 365?

Page 5: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

5

THINKING OUTSIDE THE BOX

Page 6: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

6

TYPES OF CUSTOMIZATION

Browser-based SharePoint Designer 2013 Sandboxed Solutions App Model

Page 7: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

7

CUSTOMIZATION LIMITATIONS

No farm level features No site definitions Cannot modify

built-in SharePoint files

web.config

security policies

No changes to web server or .NET framework

Page 8: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

8

WHAT DO YOU NEED?

Office 365 Account Visual Studio 2012 Office Developer Tools No virtual machine required Developer Site Collection

Page 9: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

9

CUSTOMIZATIONS WITH VISUAL STUDIO

Sandbox Solutions (deprecated) Apps

Page 10: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

10

SANDBOXED SOLUTIONS

Deprecated Some managed code can be deployed Still useful for deploying master pages

Page 11: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

11

SHAREPOINT 2013 APP MODEL

Page 12: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

12

WHY APPS?

Recommended option for customizations

Allows for different customizations over sandboxed solutions

Code isn’t deployed to the server Works on both SharePoint Online and

on-premises

Page 13: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

13

WHAT CAN I DEPLOY WITH APPS?

Lists Workflows Pages Client Web Parts (App Parts) Content Types and Site Columns Ribbon Custom Actions

Page 14: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

14

COMPONENTS OF AN APP

Client-side Code Deployable SharePoint Components Features Solution files AppManifest.xml

Page 15: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

15

APPMANFIEST.XML

Title, Version, and Icon of app Permissions Prerequisites Supported Locales Remote Endpoints

Page 16: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

16

APPS – HOSTING MODELS

SharePoint Hosted Provider Hosted Auto-hosted

Page 17: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

17

SHAREPOINT HOSTED APPS

SharePoint hosts the app Client side code using JavaScript No server side code

Page 18: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

18

DEMOSharePoint Hosted Apps

Page 19: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

19

PROVIDER HOSTED

Host server side code remotely You provide the server(s) Must account for multiple tenants

Page 20: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

20

AUTO-HOSTED APPS

Remotely hosted server side code Web application automatically

provisioned with Azure Available only with SharePoint Online Can deploy custom databases

Page 21: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

21

SHAREPOINT 2013 APIS

Page 22: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

22

API

Client Side APIs required New functionality in REST and CSOM

Page 23: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

23

API CHOICES

JavaScript Object Model (JSOM) JavaScript + REST Managed Client Object Model Managed + REST

Page 24: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

24

JAVASCRIPT OBJECT MODEL

Similar to 2010 but more functionality User Profile, Taxonomy, Search, etc

Suitable for all app models Managed Metadata only available

through JSOM

Page 25: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

25

DEMOJavaScript Object Model

Page 26: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

26

REST

Page 27: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

27

REST URL STRUCTURE

Page 28: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

28

REST QUERY OPTIONS

Page 29: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

29

REST URL EXAMPLES

http://server/site/_api/web/lists

http://server/site/_api/web/lists/getbytitle('listname')

http://server/site/_api/web/lists/getbytitle('listname')/items(2)

http://server/_api/search/query?querytext=’SharePoint’

http://server/_api/social.feed/my/news

http://server/_api/SP.UserProfiles.PeopleManager/GetMyProperties

Page 30: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

30

REST IN SHAREPOINT

Lists Sites User Profile Social Search Publishing

Page 31: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

31

JAVASCRIPT + REST

REST support greatly expanded Old REST services (listdata.svc) deprecated Must specify odata=verbose Build REST URL and use $.ajax()

Include Headers: { “Accept”: “application/json; odata=verbose” }

Page 32: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

32

DEMOJavaScript + REST

Page 33: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

33

MANAGED CLIENT OBJECT MODEL

Useful for provider hosted apps Similar to JavaScript model With SPO, not required to configure

secrets for authentication

Page 34: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

34

MANAGED CLIENT OBJECT MODEL IN APPS

TokenHelper.cs provides code to get a context token

Use TokenHelper to get an access token

Store access token locally for subsequent requests

Use access token to get ClientContext on subsequent requests

Page 35: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

35

DEMOProvider Hosted App with Managed Code

Page 36: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

36

TEST ENVIRONMENT

Buy another Office 365 Tenant Separate private site collection

Page 37: Office 365 - Introduction to SharePoint Online Development - SharePoint Connections 2013

www.devconnections.com

SESSION TITLE

RESOURCES

37


Recommended