2. About the Speaker Technical Architect MCP since 2001, MCAD, MCSD, MCTS Egypt SharePoint User Group Lead SharePoint4Arabs Co-Founder A SharePoint Friend since 2004
3. Outline Technology Stack Developer Productivity Platform Improvements List Improvements Data Access Technologies UI Improvements Sandbox Solutions
5. Developer Platform Workstation : Windows 7 or Vista SP1 64 bit OS only Not supported on production SharePoint Foundation or SharePoint Server Single Server Install
6. Developer Tools Dev Life with SP 2007 VS is Limited Edit CAML files Understanding RootFiles directory of WSS Manual edits to manifest.xml file WSP packaging nightmare
7. Developer Tools Dev Life with SP 2010 End to End Development Story Visual Studio 2010 SharePoint Designer 2010 Developer Dashboard
8. Visual Studio 2010 Instant Debugging SharePoint Project Project Items Feature Designer Workflow Designer Server Explorer Package Designer Package Explorer Import WSP Import from SharePoint Designer 2010 Team Foundation Server Support
9. SharePoint Designer 2010 No code tool for SharePoint Free for creating and editing SharePoint artifacts New Tools BDC Entities List Schema Custom Actions Task / Approval Designer Improved Tools Workflow Designer Page Editor SharePoint Designer work can be imported in Visual Studio 2010
12. List Improvements Large List Support (50M items) Relationships with Cascade or Block Validation Rules Excel Like Formula Fields and Items List Query Throttling XSLT Views
13. XSLT Views for Lists Replaces CAML for Views Better Performance Easier edit in SPD Simpler Coding Experience XSLT-based views are now default SharePoint Lists External Lists
14. Events Improvements New Events ListAdding & ListAdded ListDeleting & ListDeleted Synchronous “after” events More User Interface Control Custom error pages
19. Client Object Model Major request to increase web services Client OM is Simple API an abstraction layer to return results as recognizable SharePoint objects Consistent developer experience across platforms .NET ECMAScript Silverlight
20. Using the Client Object Model ECMAScriptControlsand Logic Browser Server OM JSON Response ECMAScript OM Client.svc XML Request Proxy XML Request Proxy Contentdatabase JSON Response Managed OM Managed Client Managed Controls and Logic SharePoint Server
23. UI Enhancements CSS Split into multiple files, only download what’s necessary for the page Javascript Script On Demand allows delaying JavaScript download until it’s needed Debug versions of files show clear JavaScript before optimizing
24. UI Enhancements Pages Everywhere Edit Like in Word Well-Formed XHTML 1.0 Cross-Browser (IE, Firefox, better support for Safari) WCAG 2.0 AA CSS Split into multiple files, only download what’s necessary for the page Javascript Script On Demand allows delaying JavaScript download until it’s needed Debug versions of files show clear JavaScript before optimizing
25. Master Pages Page must derive from Microsoft.SharePoint.WebControls.LayoutsPageBase
26. Ribbon and Dialog Framework Client Site Custom Actions in Ribbon Context Sensitive Ribbon The Ribbon Status Bar Notification Area
27. Ribbon and Dialog Framework Replaceable SharePoint OOB forms Open as Web Page or as Dialog Client Site Custom Actions in Ribbon Context Sensitive Ribbon
30. Silverlight in SP2010 Office Web Applications Silverlight Web Part Simple way to upload Silverlight CLR compatible Client Object Model Call SharePoint API’s
31. Built on BDC from MOSS Brings LOB Data Into SharePoint SharePoint List with External Data Read / Write SharePoint Foundation Office Apps Client Runtime Offline Operations Cache Design Tools SharePoint Visual Studio 2010 Enterprise Search Development Platform Business Intelligence Enterprise content mgmt Collaboration social SharePoint Designer 2010 ECT Store Runtime Security Solution Packaging Out of the box UI Web 2.0 DB WCF Web Service .NET LOB Business Connectivity Services
32. Workflow Improvements Visual Studio 2010 Initiation and Association Forms New Workflow Design Surface in SPD Import SPD Workflows into Visual Studio Build SPD Actions in Visual Studio Visio 2010 Workflow Design Browser Based Visualization Control Where Service Runs Site Workflows List Workflow Event Receivers Pluggable Workflow Services Approval Designer
34. Sandbox Solutions SharePoint 2007 No proper hosting model defined Hard to control what is being done in custom code SP 2010 Allow a subset of ‘full’ solution features Code executes in sandbox Are deployed by a Site Collection administrator Stored in the Solution Gallery
35. Sandboxed Solution Elements Web Parts Lists List Templates Custom Actions Workflows Event Receivers Content Types Site Columns …
36. Sandboxed Solutions Process 2 1 5 6 7 4 3 Per-WFE AssemblyCache RootSPWeb of SPSite <siteguid>ompany.intranet.webpart.wspompany.intranet.dll Solution gallery Web Part gallery Sandboxed Code Serice WebParts.wsp
37. Sandbox Solution Monitoring Site collection quotas specify the warning and hard limits for number of resources that can be used per day Can be load balanced or executed on dedicated SharePoint Servers Restrict the solutions that are allowed to run Install with a farm level feature [GuidAttribute("34805697-1FC4-4b66-AF09-AB48AC0F9D97")] publicclassPublisherValidator:SPSolutionValidator{ [Persisted] List<string>_allowedPublishers; publicoverridevoidValidateSolution( SPSolutionValidationProperties properties){ } publicoverridevoidValidateAssembly( SPSolutionValidationPropertiesproperties, SPSolutionFileassembly){ } }
40. Upgrade Your Code SharePoint 2007 code that runs within IIS should work without recompilation Anything Recompile Binding Redirect Deprecated APIs Compiler Warnings No future investment Path issues (14 hive)
41. Keep Up with the Race IIS 7.0 Javascript jQuery AJAX XSLT Powershell LINQ WCF WF Silverlight
42. Learn More MSDN (http://MSSharePointDeveloper.com) TechNet (http://MSSharePointITPro.com) Twitter Search #SP2010
46. Coming Sessions December 5th sponsored by dotnetworkgroup Ain Shams University December 19th Stay tuned to EgySUG site
Notas do Editor
This diagram displays how the transport mechanism worksManage client OM = .NET / SilverlightAll communication goes through the client.svc WCF serviceMicrosoft implemented the client OM by decorating the core SharePoint OM with attributes if it was “client aware”[ClientCallableType(Name=“Web”,[…]),[…]]public class SPWeb {}Then a code gen tool generates the client OM assemblies and JavaScriptThis ensures that there’s fidelity between all the client OM’s and the server equiv
Now that pages are the topic of discussion, master pages and a little branding fits in too. SharePoint 2010 ships with a number of master pages. Important topics to discuss on this slide is how application pages can now also make use of branded master pages, and how there is a default.master that ships the (non-fluent) v3 UI for backwards compatibility.
Generally you can do most things you can with full solutions, at least those within the context of a site collection. You cannot deploy files on disc or assemblies to the GAC.
This chronicles the process of using a custom "bugs" Web Part and solution in a particular site.The SPSite adminuploads a new solution package (*.wsp) into the Solution Gallery of the SPSite. The SPSite admin"activates" the solution. This activates the features within the solution. Web Part files are copied into the Web Part gallery.As part of the activation, solution is validated using the validation framework. Custom validator can be added for example to check that only solutions signed with certain key can be activated. Customers and partners can develop their own validators based on their needs.Some time later, a user decides to add a Web Part to their home page. They go into Web Part edit mode, and click "Add a Web Part". They notice the additional Web Part options, and click Add. SharePoint now checks to see if the bugs.dll file, which backs this Web Part, is installed into the assembly cache. It is not. The assembly is faulted into the assembly cache; it is extracted and copied from the solution file to temporary folder in disk and loaded to memory (disk is cleaned immediately). Now the Web Part is about to be used. It is loaded into Sandbox Code service host.Processes deliver the Web Part to be executed to the service.
Resource monitors keep sandbox solutions from over taxing the server.The SUM of all resource measures is the number applied to the quota.The MAX of all resource measures is used to determine if the sandbox should be turned off for a given solution one day.