getting started with sharepoint 2013 online development
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 2013TRANSCRIPT
Getting started with SharePoint 2013 Online development
Jeremy ThakeChief Architect, AvePoint Inc.
Speaker
Jeremy Thake
Author
AvePoint Labs
Chief Architect
@jthake www.made4the.net [email protected]
Agenda
• Application Development Platform• Getting Started • Sandboxed Solution vs App Model• Migrating Apps
APPLICATION DEVELOPMENT PLATFORM
Building Blocks
• Authentication & Authorization• Customization & Personalization• Branding• Disaster recovery• Availability• Site collections & Sub sites
No more…
• installing SQL• configuring IIS• deploying components to server• writing service level agreements• writing disaster recovery plans
List Building Blocks
• Attachments• Metadata• Versioning• Views• Full API: Web services, REST, RSS…• Security• Event Receivers• Workflow• Publishing
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
GETTING STARTED
Approaches
Web UI
• Web parts on pages• Site / List Settings
SharePoint Designer
• Branding• Business Connectivity Services
Visual
Studio
2012
• “ANYTHING”
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
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
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
SANDBOXED SOLUTIONS
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
*smile*
• Office 365 customizations• Faster deploys– Doesn’t require IISRESET as assemblies not in GAC
• No Farm access required
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
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
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
APP MODEL
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
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.
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
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
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
Comparison to solution model
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
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
JavaScript resources
• Mark Rackley (@mrackley) http://sharepointhillbilly.com/
• Marc Anderson (@sympmarc) http://sympmarc.com/
MIGRATING APPS
Web UI
• Side by side windows– Site Settings– List Settings– Page content
• Windows Explorer– Document Content
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)
Sandboxed Solutions
• Will work in SharePoint 2010 Online just like Standard or Enterprise
Full-Trust Solutions
• APIs used• Switch to “Sandboxed” and just try it• Run FxCop against it• Change assembly target for Visual Studio 2010
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
3rd Party Tools
• Graphical User Interface to move Site Collection artifacts and content
• Lots of players– AvePoint– Axceler– MetaVis– MetaLogix
Q&AJeremy Thakewww.NothingButSharePoint.comwww.jeremythake.com
[email protected]/[email protected]/in/jeremythake
Microsoft
• SharePoint Resources for Developers• SharePoint Online for Developers• MSDN SharePoint for developers• MSDN forums for SharePoint• ECMAScript/JavaScript CSOM reference