getting started with office 365 sharepoint 2010 online development
DESCRIPTION
Getting started with SharePoint 2010 Online developmentJeremy Thake, SharePoint MVP, will introduce SharePoint 2010 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 2010 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 2010 as an Application Development PlatformGetting Started with SharePoint Online 2010 developmentApplication Lifecycle Management with SharePoint Online 2010 in Office 365Migrating SharePoint 2010 Apps to SharePoint Online 2010TRANSCRIPT
![Page 1: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/1.jpg)
Getting started with SharePoint 2010 Online development
Jeremy ThakeChief Architect, AvePoint Inc.
![Page 2: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/2.jpg)
© 2012 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.
SpeakerAuthor
AvePoint Labs
Chief ArchitectText/Icon/Pic
Jeremy Thake
![Page 3: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/3.jpg)
Agenda
• Application Development Platform• Getting Started • Sandboxed Solutions• Application Lifecycle Management • Migrating Apps
![Page 4: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/4.jpg)
APPLICATION DEVELOPMENT PLATFORM
![Page 5: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/5.jpg)
Building Blocks
• Authentication & Authorization• Customization & Personalization• Branding• Disaster recovery• Availability• Site collections & Sub sites
![Page 6: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/6.jpg)
No more…
• installing SQL• configuring IIS• deploying components to server• writing service level agreements• writing disaster recovery plans
![Page 7: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/7.jpg)
List Building Blocks
• Attachments• Metadata• Versioning• Views• Full API: Web services, REST, RSS…• Security• Event Receivers• Workflow• Publishing
![Page 8: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/8.jpg)
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 Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/9.jpg)
GETTING STARTED
![Page 10: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/10.jpg)
Approaches
Web UI•Web parts on pages•Site / List Settings
SharePoint Designer•Branding•Business Connectivity Services
Visual Studio 2010 •“ANYTHING”
![Page 11: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/11.jpg)
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 Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/12.jpg)
Development Environment
• Must have Visual Studio where SharePoint installed for server side development
• Use a “development” site collection in your Office 365 SharePoint 2010 Online environment– Client Object Model
• Install SharePoint 2010 locally on Windows 7
![Page 13: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/13.jpg)
Use a virtual machine
• VMWare Workstation/Sun VirtualBox on Windows 7
• HyperV on dual boot Windows Server 2008 R2/Windows 7
• HyperV on Windows 8 RC• Steal some of IT private cloud to run one ;-)• Azure, CloudShare, fpWeb, Rackspace
![Page 14: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/14.jpg)
TIPS
• Use Sandbox Solutions (default) as can’t use Full-Trust Solutions in SharePoint 2010 Online
• Won’t get compile time warnings on incorrect API usage, only on upload to SharePoint– Use the FxCop rules http
://o365fxcoprules.codeplex.com/
![Page 15: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/15.jpg)
SANDBOXED SOLUTIONS
![Page 16: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/16.jpg)
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 17: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/17.jpg)
*smile*
• Office 365 customizations• Faster deploys
– Doesn’t require IISRESET as assemblies not in GAC• No Farm access required
![Page 18: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/18.jpg)
WARNING
• 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 19: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/19.jpg)
Visual Studio 2012 RC
• 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 Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/20.jpg)
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 21: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/21.jpg)
Resource QuotaResource Units Resources
per Point Limit
AbnormalProcessTerminationCount count 1 1
CPUExecutionTime seconds 3,600 60
CriticalExceptionCount Events 10 3
InvocationCount Events <TBD> <TBD>
PercentProcessorTime % 85 100
ProcessCPUCycles cycles 1 x10^11 1 x10^11
ProcessHandleCount items 10,000 1,000
![Page 22: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/22.jpg)
Resource QuotaResource Units Resources
per Point Limit
ProcessIOBytes items 0 1 x10^8
ProcessThreadCount Thread instances 10,000 200
ProcessVirtualBytes Bytes 0 1.0x10^9
SharePointDatabaseQueryCount Query instances 20 100
SharePointDatabaseQueryTime seconds 120 60
UnhandledExceptionCount Unhandled exception instances 50 3
UnresponsiveProcessCount Unresponsive process instances 2
![Page 23: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/23.jpg)
APPLICATION LIFECYCLE MANAGEMENT
![Page 24: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/24.jpg)
Application Lifecycle Management (ALM) is a continuous process of managing the life of an application through governance, development and maintenance.
WikiPedia
![Page 25: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/25.jpg)
ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.
WikiPedia
![Page 26: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/26.jpg)
Three aspects of ALM
David Chappell (2008)
![Page 27: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/27.jpg)
Governance
David Chappell (2008)
![Page 28: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/28.jpg)
Development
David Chappell (2008)
![Page 29: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/29.jpg)
Operations
David Chappell (2008)
![Page 30: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/30.jpg)
Today’s poll question
• I am developing Visual Studio SharePoint projects
• I am packaging all custom code as a WSP• I am using source control• I am using a build server• I am using SPDisposeCheck• I am doing unit testing
![Page 31: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/31.jpg)
SharePoint Designer
• Promotion between environments• Should certain artifacts be packaged as a
WSP?• Manual copying and pasting files• Restricting use by policy• Using third party tools to manage
deployments
![Page 32: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/32.jpg)
One farm, many feature versions active
SPDevWikiV1.0.0.0
SPDevWikiV2.0.0.0
SITE A SITE B SITE C
SPDevWikiV3.0.0.0
SPDevWikiV3.0.0.0
SPDevWikiV1.0.0.0
SPDevWikiV2.0.0.0
SPDevWikiV3.0.0.0
SPDevWikiV3.0.0.0
![Page 33: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/33.jpg)
Build Process
![Page 34: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/34.jpg)
Build Process
![Page 35: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/35.jpg)
Where are you?
No Source Control
Source control
Automated Builds
Automated Testing
Automated Deployment
![Page 36: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/36.jpg)
MIGRATING APPS
![Page 37: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/37.jpg)
Web UI
• Side by side windows– Site Settings– List Settings– Page content
• Windows Explorer– Document Content
![Page 38: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/38.jpg)
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 39: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/39.jpg)
Sandboxed Solutions
• Will work in SharePoint 2010 Online just like Standard or Enterprise
![Page 40: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/40.jpg)
Full-Trust Solutions
• APIs used• Switch to “Sandboxed” and just try it• Run FxCop against it• Change assembly target for Visual Studio 2010
![Page 41: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/41.jpg)
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 42: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/42.jpg)
3rd Party Tools
• Graphical User Interface to move Site Collection artifacts and content
• Lots of players– AvePoint– Axceler– MetaVis– MetaLogix
![Page 44: Getting started with Office 365 SharePoint 2010 online development](https://reader037.vdocuments.net/reader037/viewer/2022110120/5577f438d8b42a24198b4cb8/html5/thumbnails/44.jpg)
References
• Sandboxed Solutions• Office 365 Developer Hub• NothingButSharePoint.com