2. Agenda The Business Problem Out Of the Box Solutions Local Drafts SharePoint Workspace 2010 Custom Solutions Silverlight Client Case Study & Demo
3. Aonghus Fraser CTO UniTech Ltd, Gold Partner based in Edinburgh, Scotland Developing Enterprise SharePoint solutions since 2003 Various Microsoft MCSD, MCTS, MCPD certs
7. Generalising before we start… Coders Consultants, Developers, IT pros with Powershell Ex-coders Management? Sales? Non-coders
8.
9.
10.
11.
12.
13. Out of the box Local Drafts & SharePoint Workspace 2010
14. Local Drafts Local copy of documents only (not lists) Versioning Checking in/out documents Office 2007+
15. SharePoint Workspace 2010 Successor to Microsoft Office Groove 2007 Standalone client or Office Professional Plus2010 “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”
16. SharePoint Workspace Types SharePoint workspaces Synchronise library & list content between a SharePoint site and a workspace Groove workspaces Multi-user shared synchronised workspaces Shared Folder workspaces Windows folder sharing
17. 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.
20. Getting Data Out Client Object Model APIs ECMAScript (JavaScript) .NET CLR Managed Code (C#/VB.NET) Silverlight SharePoint Native API .NET Managed Code SPMetal Command-line tool LINQ to SharePoint WCF
21. Client Object Model WCF service under the hood (/_vti_bin/client.svc) SharePoint Data ClientApplication .Net CLR Silverlight JavaScript
22. 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
23. Silverlight Client Object Model Can be run from: Silverlight Web Part Custom web page External Application Provider (EAP) for cross-domain CrossDomain.xml or ClientAccessPolicy.xml won’t work Can be used Out Of Browser – local cache required for offline
24. .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
25. 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
26. 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)
32. 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
33. Silverlight 4 OOB Same small runtime (~5MB) Installed Program (desktop/start menu link) WebBrowsercontrol (WebBrowserBrush) File System Access (limited) Increased Isolated Storage (25MB)
34. 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
35. 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
37. 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