Microsoft SharePoint® Online: Extensibility and Customization Howard Crow | Principal Group Program Manager | Microsoft Corporation Rob Howard | Program Manager II | Microsoft Corporation
Thanks for Your Support! Leader in Gartner® Magic Quadrants, Forrester Wave™ 17,000 Customers 100 Million Licenses $1 Billion Revenue > 4,000 Partners 2,000+ .Com Sites
The Future Of Productivity The cloud on your terms Best productivity experience across PC, phone, and browser On-premises Online Business Intelligence Enterprise Content Management Collaboration Enterprise Search Unified Communications
SharePoint Online 2010 Developer Investments Modern APIs oData LINQ WS-Security Ajax Silverlight Web Clients Sandbox Solutions Distributed Solutions Development Code Access Isolation Process Isolation Web Parts, Event Handlers, Workflow Activities, Etc… Developer Experience Visual Studio ‘F5’ Develop on Win 7 Team Server
Agenda Overview of Microsoft® SharePoint® Online development The power user and/or designer In-browser customizations SharePoint Designer 2010: no-code solutions The developer Sandboxed solutions Client object model Microsoft Silverlight® Summary/resources DEMOs throughout – this is a ‘show me’ session 5 | Microsoft Confidential
SharePoint Online Development Extensibility Configuration (Out-of-the-Box) Design Development Web Parts SharePoint Designer 2010 Visual Studio 2010 Workflows No-code workflows Sandboxed Solutions Site templates Master pages Silverlight In SharePoint Online (Office 365), it is possible to customize the look and feel of a SharePoint Online sites by using the standard out-of-box capabilities (use of OOTB web parts, templates, lists, libraries, page icons, etc.) that can be configured via the browser. It is important to note that SharePoint Online supports use of SharePoint Designer 2010. The capability does not include all SPD’10 capabilities, but rather the focus is building no-code workflows, theming and branding, and configuring page layouts/mash-ups for no-code approach to building out new site experiences. It is possible to further extend the SharePoint Online experience, beyond look and feel, by implementing custom solutions. Companies can leverage Visual Studio 2010 to build Sandboxed Solutions such as custom Web Parts. And by leveraging Silverlight (deployed as .XAP files) can enable portions of the solution to run in the client browser, i.e. to make calls out to Internet-facing web services, and then make use of the client-object model to push incoming data down into the SharePoint Online database (per tenancy). The data is then accessible to Sandboxed Solutions and the SharePoint Online sites, lists and libraries. SharePoint Online does not support ‘Farm Solutions.’ Lists, libraries Site templates Client-Object Model Web Services For more information, please go to: The SharePoint Online Developer Guide (coming soon) The MSDN SharePoint Online Resource Center 6 | Microsoft Confidential
On Day One … The Power User Build out master pages Edit page layouts Add and customize OOTB web parts Add lightweight Silverlight (.XAP) widgets Embed jQuery code within Content Editor web parts Easily switch among OOTB themes, or import new using Microsoft Office PowerPoint® to design More… 7 | Microsoft Confidential
Demo: Simple customization in the browser 8 | Microsoft Confidential
SharePoint Designer: No-code Workflows, Master Pages & Branding/Theming 9 | Microsoft Confidential
SharePoint Designer 2010 & SharePoint Online RAD for No-code Solutions 3/16/09 SharePoint Developer Workshop: MS Confidential SharePoint Designer 2010 & SharePoint Online RAD for No-code Solutions Create and connect to data internal to SharePoint Create templates, data views, forms, dashboards, and mashups Design custom workflows to manage business processes New features in SharePoint Designer 2010 Full-screen workflow designer, reusable workflows, Task Designer (for human workflow) Powerful data views with new XSLT List View web part Save lists, workflows, and sites as solution files (WSP) Seamlessly integrate with other tools Use with in-browser customizations Hand off templates to Microsoft Visual Studio® 2010 Integrate with Microsoft InfoPath® forms and Visio-authored workflows Easily manage SharePoint Designer in your organization Restrict who can detach pages from the site definition Restrict who can edit master page and page layouts Restrict who can edit files in URL site hierarchy Prevent SharePoint Designer 2010 from editing sites It's FREE! Can be downloaded for free and used with any SharePoint 2010 site Positioning for SPD 2010: “The tool for building complete, rich, reusable, process-centric applications on the SharePoint platform that integrate with external data.” Target audience: Power Information Workers, Business Unit IT/Developers 10 | Microsoft Confidential
“No Server Code” Site Solutions Improvements in SharePoint Online (Office 365) XSLT-based list views Reusable declarative workflows Silverlight web part Client object model REST list APIs Custom actions in the database 11 | Microsoft Confidential
Demo: “No Server Code” Solutions 4/14/2017 8:33 PM Demo: “No Server Code” Solutions 1. Use SPD to extend the master page from previous demo 12 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Sandboxed Solutions 13 | Microsoft Confidential
The Sandbox Essential agility, essential stability What goes into a SharePoint Online customer’s Sandbox? Custom code running at the site collection level, providing developers the flexibility to deploy safe and rapid solutions. Agility for developers and individual business units Easy deployment Iterative development Access to Shared Servers Management stability Safe Limited API Access Monitored Resources A safe, isolated process where the solution runs Access to a subset of Microsoft.SharePoint namespaces Site Collection Solution Gallery for deployment Managed by individual site collection owners The Sandbox provides… Main MSDN site for Sandboxed Solutions: http://msdn.microsoft.com/en-us/library/ee536577(office.14).aspx Link to the online SharePoint 2010 SDK: http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx Namespaces and Types in Sandboxed Solutions: http://msdn.microsoft.com/en-us/library/ee537860(office.14).aspx Common code components that could be built for the SharePoint Online Sandbox: Event & Feature receivers Navigation Web parts InfoPath forms logic SharePoint Designer Workflow activities Declarative components that could be built: Declarative workflows Content types, site columns Lists and list definitions Non-visual Web Parts Custom actions, ribbon extensions Client-side technologies Web templates, Site pages, page layouts, and master pages What’s not supported from the Sandbox No access to Internet to make Web service calls No access to a hard drive to read/write files; you can read/write to lists/libraries No Web Application-scoped features, no Farm- scoped Features Cannot add assemblies to the GAC Cannot run security-related functionality (RunWithElevatedPriviledges, SPSecurity methods, etc..) 14 | Microsoft Confidential
Microsoft Visual Studio® 2010 Development for SharePoint Online Develop, test, and deploy Web part, workflow designers Package and deploy SharePoint projects as WSPs Broad SharePoint support Web Part Designer Support for SharePoint sandboxed solutions; sandbox is the default project type. Import WSP from SharePoint Designer, including workflow Build workflow steps for SharePoint Designer Extensibility for development of additional SharePoint artifacts Build out Silverlight projects (.XAP) for use with Silverlight web part Project Types 15 | Microsoft Confidential
Sandbox Architecture Host Service (SPUCHostService.exe) Worker Process 4/14/2017 8:33 PM Sandbox Architecture FRONT END BACK END Host Service (SPUCHostService.exe) Execution Wrapper (Inside Application Pool) Worker Process (SPUCWorkerProcess.exe) IIS (W3WP.EXE) Untrusted Code Subset Object Model Proxy Process (SPUCWorkerProcessProxy.exe) Full Object Model 16 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
12/02/08 SharePoint Developer Workshop: MS Confidential The Solution Gallery Solution Administration at site collection level SharePoint Online Administrator delegates site collection ownership Located Site Actions Site Settings (at site collection level) Solutions Upload, activate, deactivate Resource quotas set by Microsoft Resource monitoring: activation, deactivation, deletion 17 | Microsoft Confidential
Microsoft SharePoint Conference 2009 4/14/2017 Link to the online SharePoint 2010 SDK: http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx Namespaces and Types in Sandboxed Solutions: http://msdn.microsoft.com/en-us/library/ee537860(office.14).aspx Solution Examples Code components: Event & Feature receivers Navigation Web parts InfoPath forms logic SharePoint Designer workflow activities Declarative components: Declarative workflows Content types, site columns Lists and list definitions Non-visual web parts Custom actions, ribbon extensions Client-side technologies Web templates, site pages, page layouts, and master pages What’s not supported from the Sandbox: No access to Internet to make web service calls No access to a hard drive to read/write files; you can read/write to lists/libraries No web application-scoped features, no farm-scoped features Cannot add assemblies to the GAC Cannot run security-related functionality (RunWithElevatedPriviledges, SPSecurity methods, etc.) One common thing asked is why not “Visual Web Parts”? The reason for this is that the Visual Studio 2010 Visual Web Part contains an .ascx file which provides the visual design surface. This user control (.ascx) must be deployed to the SharePoint front end web server, and this is not allowed in Sandboxed solutions. 18 | Microsoft Confidential © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Demo: Sandboxed Solutions Online 4/14/2017 8:33 PM Demo: Sandboxed Solutions Online Build and add a new web part to main master page (Hello World) Create a custom button and add to the ribbon 19 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Client Object Model 20 | Microsoft Confidential
The Client Object Model MS Confidential : SharePoint 2010 Developer Workshop (Beta1) The Client Object Model What does the client object model enable? Provide powerful ways to interact with SharePoint Online data remotely from script that executes in the browser – providing access to objects at the site-collection level and lower within the SharePoint hierarchy. Abstraction layer Results returned as recognizable SharePoint objects Client Object Model provides complete API Throughout each SharePoint release, Microsoft receives more and more requests for new Web Services Instead of continuously building new Web services (and replacing existing ASMX services with WCF services), they now provide a client object model The client object model provides an abstraction layer so process off the SharePoint server can interact with SharePoint using a consistent API that is very closely matched to the familiar server API And to read about Silverlight and the Client Object Model here: http://msdn.microsoft.com/en- us/library/ee538971%28office.14%29.aspx .NET ECMAScript Silverlight Consistent developer experience across platforms 21 | Microsoft Confidential
Using the Client Object Model MS Confidential : SharePoint 2010 Developer Workshop (Beta1) Using the Client Object Model ECMAScriptControls and Logic Browser Client.svc Server OM JSON Response ECMAScript OM XML Request Proxy XML Request Proxy Content database This diagram displays how the transport mechanism works Manage client OM = .NET / Silverlight All communication goes through the client.svc WCF service Microsoft 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 JavaScript This ensures that there’s fidelity between all the client OM’s and the server equivalent JSON Response Managed OM Managed Client Managed Controls and Logic SharePoint Server in SPOnline 22 | Microsoft Confidential
MS Confidential : SharePoint 2010 Developer Workshop (Beta1) Supported Areas Site collections and sites Lists, list items, views, and list schemas Files and folders Web, list, and list item property bags Web parts Security Content types Site templates and site collection operations The Client Object Model contains a lot of overlap coverage with the full SharePoint API 23 | Microsoft Confidential
Demo: Client Object Model 4/14/2017 8:33 PM Demo: Client Object Model 24 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
XAP, Bang, Boom! Silverlight and the Client Object Model 25 | Microsoft Confidential
Silverlight in SharePoint Online is … What does Silverlight enable in SharePoint Online? Silverlight provides the opportunity for developers to create the next generation of Rich Internet Applications (RIAs). SharePoint Online integrates closely with Microsoft Silverlight to enable you to build compelling user interfaces that interact with SharePoint Online data. A Web Part can be a host for Silverlight SharePoint ships with Silverlight Web part Need only build a Silverlight control or app The web part can contain custom properties that are sent to Silverlight via the InitParameters property The XAP file can be deployed to a SharePoint Online document library The Silverlight application can then make use of the Client OM to access SPOnline data Programs running on the client can add and remove lists, add, update, and delete list items, modify documents in document libraries, create sites, manage permissions of items, add and remove web parts from a page, and much more Silverlight in SharePoint Online is … Main MSDN site for Sandboxed Solutions: http://msdn.microsoft.com/en-us/library/ee536577(office.14).aspx Link to the online SharePoint 2010 SDK: http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx Namespaces and Types in Sandboxed Solutions: http://msdn.microsoft.com/en-us/library/ee537860(office.14).aspx Common code components that could be built for the SharePoint Online Sandbox: Event & Feature receivers Navigation Web parts InfoPath forms logic SharePoint Designer Workflow activities Declarative components that could be built: Declarative workflows Content types, site columns Lists and list definitions Non-visual Web Parts Custom actions, ribbon extensions Client-side technologies Web templates, Site pages, page layouts, and master pages What’s not supported from the Sandbox No access to Internet to make Web service calls No access to a hard drive to read/write files; you can read/write to lists/libraries No Web Application-scoped features, no Farm- scoped Features Cannot add assemblies to the GAC Cannot run security-related functionality (RunWithElevatedPriviledges, SPSecurity methods, etc..) 26 | Microsoft Confidential
Demo: Silverlight Online 4/14/2017 8:33 PM Demo: Silverlight Online Build web part that collects data from Azure/Dallas Push data down in SPO database using client OM Deploy as WSP. 27 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
SharePoint 2010 (on-premises) SharePoint Online (multi-tenant) Extensibility Overview SharePoint Online – Office 365 – standard compared to SharePoint 2010 on-premises Area SharePoint 2010 (on-premises) SharePoint Online (multi-tenant) Sandboxed Solutions (Partial-trust code) Farm-level Solutions (Full-trust code) No Silverlight Web Part (.XAP files) BCS (backend LOB integration) SharePoint Designer 2010 Client Object Model Web Services OOB Browser Configuration (Web Parts, Theming) Visual Studio 2010 (SharePoint Tools) (Farm and Sandbox) (Sandbox only) InfoPath Forms (Admin and Sandbox) Workflows (Custom and Declarative) (Custom Activities in Sandbox and Declarative) 28 | Microsoft Confidential
Microsoft SharePoint Conference 2009 4/14/2017 Summary No-server-code solutions are simple and powerful Developers/ISVs can write custom server code for hosted environments with Sandboxed Solutions Client object model allows remote solutions to interact with SharePoint objects Greater than the sum of their parts: Sandbox + Silverlight + ClientOM 29 | Microsoft Confidential © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Question & Answer 4/14/2017 8:33 PM 30 | Microsoft Confidential © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Resources Main SharePoint Online marketing site: http://sharepoint.microsoft.com/en-us/SharePoint- Online/Pages/default.aspx Primary Office 365 marketing site: http://www.office365.com Trials, 100-200 level customer-facing info Contains info about BPOS suite and SPO 30-Day trial SharePoint Online developer resource center (MSDN): http://go.microsoft.com/fwlink/?LinkId=203983 SharePoint Online Administration resource center (TechNet): http://technet.microsoft.com/sharepoint/gg144571.aspx ‘Help and How-to’ for SharePoint Online (Office.com): http://office.microsoft.com/redir/FX102052854.aspx 31 | Microsoft Confidential
Appendix: Depth Slides on How Sandboxed Solutions Run 4/14/2017 8:33 PM Appendix: Depth Slides on How Sandboxed Solutions Run 32 | Microsoft Confidential © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Sandbox Architecture Host Service (SPUCHostService.exe) Worker Process 4/14/2017 8:33 PM Sandbox Architecture FRONT END BACK END Host Service (SPUCHostService.exe) Execution Wrapper (Inside Application Pool) Worker Process (SPUCWorkerProcess.exe) IIS (W3WP.EXE) Untrusted Code Subset Object Model Subset-Model Request Proxy Process (SPUCWorkerProcessProxy.exe) Full Object Model 33 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Sandbox Architecture Host Service (SPUCHostService.exe) Worker Process 4/14/2017 8:33 PM Sandbox Architecture FRONT END BACK END Host Service (SPUCHostService.exe) Execution Wrapper (Inside Application Pool) Worker Process (SPUCWorkerProcess.exe) IIS (W3WP.EXE) Untrusted Code Subset Object Model Full-Model Request Proxy Process (SPUCWorkerProcessProxy.exe) Full Object Model 34 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Sandbox Architecture Host Service (SPUCHostService.exe) Worker Process 4/14/2017 8:33 PM Sandbox Architecture FRONT END BACK END Host Service (SPUCHostService.exe) Execution Wrapper (Inside Application Pool) Worker Process (SPUCWorkerProcess.exe) Proxy Process (SPUCWorkerProcessProxy.exe) Full Object Model Subset Object Model Untrusted Code IIS (W3WP.EXE) Run for 30sec Resource Wasting Call 35 | Microsoft Confidential © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Microsoft SharePoint Conference 2009 4/14/2017 Full-Trust Proxy Worker Process (SPUCWorkerProcess.exe) Proxy Process (SPUCWorkerProcessProxy.exe) Untrusted Code Fully Trusted Code SPProxyOperationsArgs SPProxyOperationsArgs SPUtility SPProxyOperation Secured Resource 36 | Microsoft Confidential © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2010 Microsoft Corporation. All rights reserved © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.