getting started with sharepoint 2013 online development

38
Getting started with SharePoint 2013 Online development Jeremy Thake Chief Architect, AvePoint Inc.

Upload: jeremy-thake

Post on 01-Jun-2015

13.372 views

Category:

Technology


2 download

DESCRIPTION

Getting started with SharePoint 2010 Online development Jeremy Thake, SharePoint MVP, will introduce SharePoint 2013 Online as an application development platform inside Office 365. The session will explain how to get started with the different approaches from web UI configurations, to SharePoint Designer 2013 customizations to full blown Visual Studio development with Sandbox Solutions. Jeremy will introduce the concepts of how Application Lifecycle Management can be introduced to this along with migrating existing applications across from on-premise.   From this session you should walk away with: Using SharePoint Online 2013 as an Application Development Platform Getting Started with SharePoint Online 2013 development Application Lifecycle Management with SharePoint Online 2013 in Office 365 Migrating SharePoint 2013 Apps to SharePoint Online 2013  

TRANSCRIPT

Page 1: Getting started with SharePoint 2013 online development

Getting started with SharePoint 2013 Online development

Jeremy ThakeChief Architect, AvePoint Inc.

Page 2: Getting started with SharePoint 2013 online development

Speaker

Jeremy Thake

Author

AvePoint Labs

Chief Architect

@jthake www.made4the.net [email protected]

Page 3: Getting started with SharePoint 2013 online development

Agenda

• Application Development Platform• Getting Started • Sandboxed Solution vs App Model• Migrating Apps

Page 4: Getting started with SharePoint 2013 online development

APPLICATION DEVELOPMENT PLATFORM

Page 5: Getting started with SharePoint 2013 online development

Building Blocks

• Authentication & Authorization• Customization & Personalization• Branding• Disaster recovery• Availability• Site collections & Sub sites

Page 6: Getting started with SharePoint 2013 online development

No more…

• installing SQL• configuring IIS• deploying components to server• writing service level agreements• writing disaster recovery plans

Page 7: Getting started with SharePoint 2013 online development

List Building Blocks

• Attachments• Metadata• Versioning• Views• Full API: Web services, REST, RSS…• Security• Event Receivers• Workflow• Publishing

Page 8: Getting started with SharePoint 2013 online development

What to worry about

• UI pattern consistency• Don’t bend it the wrong way– If you question whether its right, it probably isn’t

• Performance considerations• Monitoring– Resource Usage– No ULS logs, Event Viewer

Page 9: Getting started with SharePoint 2013 online development

GETTING STARTED

Page 10: Getting started with SharePoint 2013 online development

Approaches

Web UI

• Web parts on pages• Site / List Settings

SharePoint Designer

• Branding• Business Connectivity Services

Visual

Studio

2012

• “ANYTHING”

Page 11: Getting started with SharePoint 2013 online development

Don’t work directly on Production

• Develop in Development environments!!!• Great for version 1.0, not so great for 1.1

whilst live users in environment– 24 hour SLA on recovering a site collection

• SharePoint Designer encourages this

Page 12: Getting started with SharePoint 2013 online development

Development Environment

• Use Virtual machine– Must have Visual Studio where SharePoint

installed for sandboxed server side development• Use a “development” site collection in your

Office 365 SharePoint 2013 Online environment

• Use a development tenancy• NAPA

Page 13: Getting started with SharePoint 2013 online development

Use a virtual machine

• VMWare Workstation/Sun VirtualBox on Windows 7

• Hyper-V on dual boot Windows Server 2008 R2/Windows 7

• Hyper-V on Windows 8 • Steal some of IT private cloud to run one ;-)• Azure, CloudShare, fpWeb, Rackspace

Page 14: Getting started with SharePoint 2013 online development

SANDBOXED SOLUTIONS

Page 15: Getting started with SharePoint 2013 online development

Sandboxed Solutions

• Restricted API due to multi-tenant environment

• No LOB: Web Services, ATOM, ODBC• No file access• Current site collection scope only• No Page object (JavaScript reg)• Deployed via Site Collection Site Settings

http://msdn.microsoft.com/en-us/library/gg615454.aspx

Page 16: Getting started with SharePoint 2013 online development

*smile*

• Office 365 customizations• Faster deploys– Doesn’t require IISRESET as assemblies not in GAC

• No Farm access required

Page 17: Getting started with SharePoint 2013 online development

WARNING

• Deprecated in SharePoint 2013 Online• No “Full trust proxies” in Office 365• Only Site Collection Admins can activate if

managed code in packages• Site Collection Admins can deploy these!• Can use Silverlight to overcome some

restrictions

Page 18: Getting started with SharePoint 2013 online development

Web Part example

• displayed data from a list• perform a SharePoint database query• 20 database queries = 1 resource point• displayed 20 times• site collection would have used 1 resource point of

300 points available• could be displayed 6,000 times in a 24 hour period

the sandbox is turned off until

daily reset

Page 19: Getting started with SharePoint 2013 online development

Visual Studio 2012

• Create Silverlight Web Parts• Publish SharePoint Solutions to Remote

SharePoint Servers• Test SharePoint Performance by Using

Profiling Tools• Create Sandboxed Visual Web Parts• Support for JavaScript Debugging and

IntelliSense for JavaScript

http://msdn.microsoft.com/en-us/library/ee290856(VS.110).aspx

Page 20: Getting started with SharePoint 2013 online development

APP MODEL

Page 21: Getting started with SharePoint 2013 online development

Architecture of Apps

© 2011 AvePoint, Inc. All rights reserved. No part of this may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written consent of AvePoint, Inc.

SharePoint Azure

Web application

Provider hostedIIS / Apache

Site CollectionRoot Site

App 1SP

Hosted

App 2Auto

Hosted

App 3Provider Hosted

App 2Web Sites

App 3Windows Service

Sub Site

App 3Provider Hosted

App 2SQL

App 3Web

App 3SQL

Page 22: Getting started with SharePoint 2013 online development

App Scopes

• SPSite—site collection• SPWeb—website• SPList—list• Tenancy—the tenancy scope is at

http://<sharepointserver>/<content>/<tenant>/• performing search queries, accessing taxonomy data,

user profiles, etc.

Page 23: Getting started with SharePoint 2013 online development

App Rights

• Rights:– Read-Only– Write– Manage– Full Control

• Not customizable!• If an app is granted permission to a scope

– the permission applies to all children of the scope

Page 24: Getting started with SharePoint 2013 online development

Setting App Rights

• App rights are set when:– An app is installed by an SPWeb administrator– An app is explicitly granted permission by a tenant administrator or SPWeb

administrator– An end user gives consent– An app is removed

• Once provisioned, the rights for an app cannot change – they can only be revoked in whole– This ensures the app will not have to account for missing rights, i.e. become broken after

installation

Page 25: Getting started with SharePoint 2013 online development

API Support (_api)

• Remote APIs are now a first-class citizen– Search, MMS, User Profile, BCS, et al– User-centric capabilities (no Central Admin-like support)

• Client-side object model (CSOM)• REST-based (OData)• OAuth

Page 26: Getting started with SharePoint 2013 online development

Comparison to solution model

Page 27: Getting started with SharePoint 2013 online development

SharePoint2007

SharePoint2010

SharePoint 2013

Services (IIS, Apache, Other, …)

Services (Azure, IIS, Apache, Other…) Services

(Azure, IIS, Apache,Other, etc…)

SP2007 SP2010 SP2013

Declar. App & Workflow Events

Custom Code

Custom Code

CSOM

_vti_bin_vti_bin

_api

_api

Evolution of customizations in SharePoint

Page 28: Getting started with SharePoint 2013 online development

Online vs. On-premises

Sandbox• Limited Server-Side OM

• C#/VB.NET• Client-side OM• No marketplace• On-premises and

Online• No OAuth• UI integration• 2010 & 2013• Resource monitoring• 2013 deprecated

SP Apps• SP-Hosted

• Client-side OM only• JavaScript

(ECMAScript)• Cloud hosted

• ANYTHING!!!!• Marketplace• On-premises and

Online• Oauth (online only)• Restricted UI

integration• 2013 only

Page 29: Getting started with SharePoint 2013 online development

JavaScript resources

• Mark Rackley (@mrackley) http://sharepointhillbilly.com/

• Marc Anderson (@sympmarc) http://sympmarc.com/

Page 30: Getting started with SharePoint 2013 online development

MIGRATING APPS

Page 31: Getting started with SharePoint 2013 online development

Web UI

• Side by side windows– Site Settings– List Settings– Page content

• Windows Explorer– Document Content

Page 32: Getting started with SharePoint 2013 online development

SharePoint Designer

• Side by side across windows– Business Connectivity Services– Web Parts– Content Types

• Copy & Paste across windows– Master Pages– Page Layouts– Workflows (no custom activities)

Page 33: Getting started with SharePoint 2013 online development

Sandboxed Solutions

• Will work in SharePoint 2010 Online just like Standard or Enterprise

Page 34: Getting started with SharePoint 2013 online development

Full-Trust Solutions

• APIs used• Switch to “Sandboxed” and just try it• Run FxCop against it• Change assembly target for Visual Studio 2010

Page 35: Getting started with SharePoint 2013 online development

Custom crap!

• Remember, no access to servers AT ALL• So everything must be in Solution Package• No manual deployment of files to file server• We’ve been teaching you this since ‘06

Page 36: Getting started with SharePoint 2013 online development

3rd Party Tools

• Graphical User Interface to move Site Collection artifacts and content

• Lots of players– AvePoint– Axceler– MetaVis– MetaLogix

Page 37: Getting started with SharePoint 2013 online development

Q&AJeremy Thakewww.NothingButSharePoint.comwww.jeremythake.com

[email protected]/[email protected]/in/jeremythake