taking sharepoint 2010 offline - european best practices conference
DESCRIPTION
My slides from the European SharePoint Best Practices Conference 2011 - Taking SharePoint 2010 OfflineTRANSCRIPT
BEST PRACTICES CONFERENCE SHAREPOINT
Clarity. Direction. Confidence.
TAKING SHAREPOINT 2010 OFFLINE
BEST PRACTICES CONFERENCE SHAREPOINT
Agenda
The Business Problem
Out Of the Box SolutionsLocal Drafts
SharePoint Workspace 2010
Custom Solutions
Silverlight Client
Case Study & Demo
BEST PRACTICES CONFERENCE SHAREPOINT
Aonghus Fraser
CTO UniTech Ltd, Gold Partner based in Edinburgh, Scotland
Developing Enterprise SharePoint solutions since 2003
Various Microsoft MCSD, MCTS, MCPD certs
BEST PRACTICES CONFERENCE SHAREPOINT
HEINEKEN UK
BEST PRACTICES CONFERENCE SHAREPOINT
A Brand Ready Business –Doing Internal Business Better
Now doing offline business better
BEST PRACTICES CONFERENCE SHAREPOINT
THE BUSINESS PROBLEM
BEST PRACTICES CONFERENCE SHAREPOINT
Generalising before we start…
CodersConsultants, Developers, IT pros with Powershell
Ex-codersManagement? Sales?
Non-coders
BEST PRACTICES CONFERENCE SHAREPOINT
BEST PRACTICES CONFERENCE SHAREPOINT
BEST PRACTICES CONFERENCE SHAREPOINT
BEST PRACTICES CONFERENCE SHAREPOINT
BEST PRACTICES CONFERENCE SHAREPOINT
BEST PRACTICES CONFERENCE SHAREPOINT
OUT OF THE BOXLocal Drafts & SharePoint Workspace 2010
BEST PRACTICES CONFERENCE SHAREPOINT
Local Drafts
Local copy of documents only (not lists)
Versioning
Checking in/out documents
Office 2007+
BEST PRACTICES CONFERENCE SHAREPOINT
SharePoint Workspace 2010
Successor to Microsoft Office Groove 2007
Standalone client or Office Professional Plus 2010
“a client application that provides fast, any-time interactive access to document libraries and lists on Microsoft SharePoint Server 2010 and Microsoft SharePoint Foundation 2010”
BEST PRACTICES CONFERENCE SHAREPOINT
SharePoint Workspace Types
SharePoint workspacesSynchronise library & list content between a SharePoint site and a workspace
Groove workspacesMulti-user shared synchronised workspaces
Shared Folder workspacesWindows folder sharing
BEST PRACTICES CONFERENCE SHAREPOINT
Cannot Sync Everything
Calendar/Events lists
Wikis
Blog sites
Portal sites
Form libraries
Slide libraries
Surveys
Site directories
OneNote notebooks stored in document libraries
IRM-protected document libraries.
BEST PRACTICES CONFERENCE SHAREPOINT
DEMOSharePoint Workspace 2010
BEST PRACTICES CONFERENCE SHAREPOINT
CUSTOM SOLUTIONSGetting Data Out
BEST PRACTICES CONFERENCE SHAREPOINT
Getting Data Out
Client Object Model APIsECMAScript (JavaScript)
.NET CLR Managed Code (C#/VB.NET)
Silverlight
SharePoint Native API.NET Managed Code
SPMetalCommand-line tool
LINQ to SharePoint
WCF
BEST PRACTICES CONFERENCE SHAREPOINT
Client Object ModelWCF service under the hood (/_vti_bin/client.svc)
.Net CLR SilverlightJavaScri
pt
SharePoint Data
Client Application
BEST PRACTICES CONFERENCE SHAREPOINT
ECMAScript Client Object Model
Must be hosted within a SharePoint Page
Authentication performed by the page it is hosted within
No ConditionalScope
Limited use for a disconnected client
BEST PRACTICES CONFERENCE SHAREPOINT
Silverlight Client Object Model
Can be run from:Silverlight Web Part
Custom web page
External Application Provider (EAP) for cross-domainCrossDomain.xml or ClientAccessPolicy.xml won’t work
Can be used Out Of Browser – local cache required for offline
BEST PRACTICES CONFERENCE SHAREPOINT
.NET CLR Client Object Model
Managed API – references:Microsoft.SharePoint.Client.dll (~280kb)
Microsoft.SharePoint.Client.Runtime.dll (~145kb)
(Compared with Microsoft.SharePoint.dll > 15MB!)
Can be executed remotely e.g. WPF client
BEST PRACTICES CONFERENCE SHAREPOINT
SharePoint Native API
Executed on a SharePoint Server
Similar to WSS3/MOSS 2007
No limitations e.g. RunWithElevatedPrivileges
Typically combined with a custom (WCF) service
BEST PRACTICES CONFERENCE SHAREPOINT
SPMetal.exe
SharePoint Foundation+ (no need for Server)
Command-line tool to generate entity classes
Strongly-typed access to SharePoint data
Similar to LINQ to SharePoint
Visual Studio Integration (External Tools)
BEST PRACTICES CONFERENCE SHAREPOINT
SPMetal Parameters
Customise Entity Classes
Include/exclude Content Types
Include/exclude Columns
BEST PRACTICES CONFERENCE SHAREPOINT
SharePoint & Custom WCF
Dynamic Endpoints
Supports SOAP, REST, and WCF Data Services
Service Host Factory implementationsNo web.config bindings!
BEST PRACTICES CONFERENCE SHAREPOINT
CKS:DEV
http://cksdev.codeplex.com/
WCF service SPI
If you are a developer CKS:DEV will make your life easier!
Foundation and Server versions
BEST PRACTICES CONFERENCE SHAREPOINT
DEMOSPMetal, WCF, LINQ
BEST PRACTICES CONFERENCE SHAREPOINT
SILVERLIGHT CLIENTConsuming SharePoint Data
BEST PRACTICES CONFERENCE SHAREPOINT
Silverlight Client – Why?
Low impact for IT
Access to file system (limited to special folders)
Isolated Storage
Out Of Browser capabilities
Model-View-ViewModel
Windows Phone 7
BEST PRACTICES CONFERENCE SHAREPOINT
Silverlight 4 OOB
Same small runtime (~5MB)
Installed Program (desktop/start menu link)
WebBrowser control (WebBrowserBrush)
File System Access (limited)
Increased Isolated Storage (25MB)
BEST PRACTICES CONFERENCE SHAREPOINT
Sterling Isolated Storage Database
Isolated Storage – 25MB OOB (1MB online)
http://sterling.codeplex.com/
Compact binary serialization
Silverlight 4 & Windows Phone 7
LINQ to Object queries
Thanks to Jeremy Likness @jeremylikness
BEST PRACTICES CONFERENCE SHAREPOINT
MVVM Framework - Caliburn.Micro
Lean & Mean MVVM framework
Easy to configure, great documentation
Elegant & Testable
Easy to understand Conventions
http://caliburnmicro.codeplex.com
Thanks to Rob Eisenberg @EisenbergEffect
Honourable mentions:Jounce
MVVM Light
BEST PRACTICES CONFERENCE SHAREPOINT
CASE STUDY
BEST PRACTICES CONFERENCE SHAREPOINT
Heineken UK Sales Tool
1,500 On Trade Sales People distributed nationally
20+ brands
Replaces expensive & out-of-date booklet released quarterly
Requirements summary:“Website in a box”
Easy to manage data
Updates automatically
Works offline
BEST PRACTICES CONFERENCE SHAREPOINT
DEMOHeineken UK Sales Tool
BEST PRACTICES CONFERENCE SHAREPOINT
Lessons learned (some painful!)
SPMetal Lookup fieldsCircular reference risk
CrossDomain.xml & ClientAccessPolicy.xmlHttpHandler
SLLauncher.exeProxy Authentication (ISA/TMG)
Inet / Browser Cache
MVVM architecture evaluationJounce, MVVM Light, Caliburn.Micro
Silverlight Async Exception HandlingCustom Message Inspectors
BEST PRACTICES CONFERENCE SHAREPOINT
Further Info
Twitter: @gusfraser
Email: [email protected]
Occasional Blog: http://techblurt.com
BEST PRACTICES CONFERENCE SHAREPOINT
Clarity. Direction. Confidence.
THANK YOU