overview of visual studio 2005 tools for the microsoft office system svetlana loksh development lead...
TRANSCRIPT
Overview of Overview of Visual Studio 2005 Tools for Visual Studio 2005 Tools for the Microsoft Office Systemthe Microsoft Office System
Svetlana LokshSvetlana LokshDevelopment LeadDevelopment LeadVisual Studio Tools for Office TeamVisual Studio Tools for Office TeamMicrosoft CorporationMicrosoft Corporation
AgendaAgenda
What is a Smart Client?What is a Smart Client?
Introducing Visual StudioIntroducing Visual Studio®® 2005 Tools for the Microsoft 2005 Tools for the Microsoft®® Office System (VSTO)Office System (VSTO)
Creating a VSTO projectCreating a VSTO project
Adding an Actions Pane to a VSTO projectAdding an Actions Pane to a VSTO project
Data Binding in VSTOData Binding in VSTO
Integrating Office XML Using VSTOIntegrating Office XML Using VSTO
InfoPath 2003 Toolkit for Visual Studio 2005InfoPath 2003 Toolkit for Visual Studio 2005
Outlook Add-insOutlook Add-ins
Deployment and SecurityDeployment and Security
End-to-End Solution DemoEnd-to-End Solution Demo
SummarySummary
Web Services &Web Services &Offline/OnlineOffline/Online
support support
DeviceDeviceAdaptabilityAdaptability
Tough toTough toDeployDeploy
HeavyHeavyFootprintFootprint
DLL HellDLL Hell
NetworkNetworkDependencyDependency
Poor UserPoor UserExperienceExperience
Rich UIRich UIComplexComplex
To DevelopTo Develop
Rich UserRich UserExperienceExperience
DeveloperDeveloperProductivityProductivity
ResponsiveResponsive
BroadBroadReachReach
Easy ChangeEasy ChangeManagementManagement
Ease ofEase ofDeploymentDeployment
Characteristics of Smart ClientsCharacteristics of Smart Clients
Leverages Local ResourcesLeverages Local ResourcesTakes full advantage of the local software (e.g. Office) and Takes full advantage of the local software (e.g. Office) and hardware (e.g. disk, memory, CPU, etc).hardware (e.g. disk, memory, CPU, etc).
ConnectedConnectedProvides connectivity to the enterprise, enabling timely Provides connectivity to the enterprise, enabling timely access to live data and participation in business and access to live data and participation in business and collaborative processescollaborative processes
Offline CapableOffline CapableProvides useful functionality when offline or in low quality Provides useful functionality when offline or in low quality connectivity situationsconnectivity situations
ContinuedContinued……
Characteristics of Smart ClientsCharacteristics of Smart Clients
Intelligent Deployment And UpdateIntelligent Deployment And UpdateProvides easy application managementProvides easy application management
SecuritySecurityProvides high level of security with managed code Provides high level of security with managed code approachapproach
Device FlexibilityDevice FlexibilityApplications can be tuned or tailored to a specific client Applications can be tuned or tailored to a specific client device, making appropriate use of the screen real estate, device, making appropriate use of the screen real estate, user interface facilities and local hardware (e.g. pen, user interface facilities and local hardware (e.g. pen, speech, etc)speech, etc)
Not all of these characteristics need to be present, but the more complete and advanced, the higher the “Smart Client IQ”
Microsoft’s strategic tool for developing Microsoft’s strategic tool for developing Office solutions in Office solutions in
Microsoft Excel 2003*Microsoft Excel 2003*Microsoft Word 2003*Microsoft Word 2003*Microsoft InfoPath 2003Microsoft InfoPath 2003Microsoft Outlook 2003 (Add-in Support)Microsoft Outlook 2003 (Add-in Support)
Targeted at the professional developerTargeted at the professional developerIt provides all the productivity of Visual Studio It provides all the productivity of Visual Studio and all the power of the .NET Frameworkand all the power of the .NET FrameworkDevelop solutions in VB .NET and Visual C#Develop solutions in VB .NET and Visual C#
* Microsoft Office System Professional Edition * Microsoft Office System Professional Edition or Excel 2003 or Word 2003 standalone versionsor Excel 2003 or Word 2003 standalone versions
Major Focus on Developer ProductivityMajor Focus on Developer Productivity
Integrated design-time experienceIntegrated design-time experienceFull access to the .NET Framework, Web Full access to the .NET Framework, Web services, ADO .NET, integrated debuggingservices, ADO .NET, integrated debuggingSupport for managed controls – from both Support for managed controls – from both Microsoft and third-party vendorsMicrosoft and third-party vendorsSupport for VSTO “Host” controlsSupport for VSTO “Host” controlsSupport for managed Document Actions Support for managed Document Actions Pane & Smart TagsPane & Smart TagsSchema-based programming modelSchema-based programming modelCLR-based security model CLR-based security model New data caching capabilitiesNew data caching capabilities
Controls, Controls, ControlsControls, Controls, Controls
VSTO enables developers to use WinForm managed VSTO enables developers to use WinForm managed controls within their VSTO solutionscontrols within their VSTO solutions
All controls on the toolbox are available for useAll controls on the toolbox are available for use
They can be added directly to the document, to a They can be added directly to the document, to a WinForm, or the VSTO actions paneWinForm, or the VSTO actions pane
VSTO provides new “host” controls, which are .NET VSTO provides new “host” controls, which are .NET extensions to native Excel and Word objectsextensions to native Excel and Word objects
Richer event modelsRicher event models
Data binding capabilitiesData binding capabilities
Developers can add controls explicitly at design Developers can add controls explicitly at design time or dynamically at run time time or dynamically at run time
Creating a VSTO ProjectCreating a VSTO Project
Managed Document Actions PaneManaged Document Actions Pane
VSTO enables developers to utilize the Office Task VSTO enables developers to utilize the Office Task Pane via a managed Document Actions PanePane via a managed Document Actions Pane
It’s simply a user control that will appear within It’s simply a user control that will appear within the Office Task Panethe Office Task Pane
Developers create the UI for the Document Actions Developers create the UI for the Document Actions Pane in the Windows Forms DesignerPane in the Windows Forms Designer
They can then add the Actions Pane to the They can then add the Actions Pane to the document with a single line of code!document with a single line of code!
Dim MyAP As New ActionsPaneControl1Dim MyAP As New ActionsPaneControl1
Globals.ThisWorkbook.ActionsPane.Controls.Globals.ThisWorkbook.ActionsPane.Controls.Add(Add(MMyyAPAP))
Adding an Actions PaneAdding an Actions Paneto a VSTO Projectto a VSTO Project
Data Binding in VSTOData Binding in VSTO
Developers can bind data from a given data Developers can bind data from a given data source to managed controls and host controlssource to managed controls and host controls
The Data Sources Window enables developers to The Data Sources Window enables developers to create a connection to database, Web service, or create a connection to database, Web service, or business object business object
Developers do not have to write the code that Developers do not have to write the code that binds the data to the control – it’s all generated binds the data to the control – it’s all generated automaticallyautomatically
Developers can bind to a single item (simple Developers can bind to a single item (simple data binding) or to a complete table or stored data binding) or to a complete table or stored procedure (complex data binding)procedure (complex data binding)
Data Binding ControlsData Binding Controlsin a VSTO Projectin a VSTO Project
Integrating Office XML Integrating Office XML With Enterprise Data Using VSTOWith Enterprise Data Using VSTO
VSTO provides a schema-based VSTO provides a schema-based programming model for documents that have programming model for documents that have a custom XML schemaa custom XML schema
Not always necessary to explicitly manipulate Not always necessary to explicitly manipulate XML XML No need to navigate the Office OM node No need to navigate the Office OM node hierarchy hierarchy
VSTO is a first-class consumer of Web VSTO is a first-class consumer of Web servicesservices
Complete access to .NET Framework support Complete access to .NET Framework support for consuming Web servicesfor consuming Web services
VSTO solutions can manipulate XML via VSTO solutions can manipulate XML via System.XmlSystem.Xml
Programming AgainstProgramming AgainstAn XML NodeAn XML Node
XMLHTTPSOAPWSDLUDDI
BizTalk SQL
ERP SAP
XML
InfoPath 2003 Toolkit forInfoPath 2003 Toolkit forVisual Studio 2005Visual Studio 2005
Provides a more flexible and Provides a more flexible and accurate means of gathering accurate means of gathering informationinformation
Provides and easy and more Provides and easy and more effective way to connect people, effective way to connect people, info and processesinfo and processes
Provides developers with an Provides developers with an easier way to develop and easier way to develop and deploy information-gathering deploy information-gathering solutions solutions
InfoPath Business LogicInfoPath Business Logic
C#C#VB.NETVB.NET
Most Forms Do Not
Need Code
XML Schema
RulesFormulas
Data ValidationData Connections
Conditional Formatting
Scenarios for CodeScenarios for Code
Complex data validationComplex data validation
Offline submit and data cachingOffline submit and data caching
Dynamic help in the task paneDynamic help in the task pane
Custom Digital Signature handlingCustom Digital Signature handling
Encryption/decryptionEncryption/decryption
Writing Managed CodeWriting Managed CodeBehind InfoPathBehind InfoPath
Outlook Add-insOutlook Add-ins
The VSTO runtime supports Outlook add-insThe VSTO runtime supports Outlook add-insProvides VSTO runtime loaderProvides VSTO runtime loader
More reliable add-in/host interactionMore reliable add-in/host interaction Improved security and deployment model Improved security and deployment model
Design-time support in Visual StudioDesign-time support in Visual Studio
Outlook add-ins Project templateOutlook add-ins Project template
Visual Studio Setup project for Outlook add-insVisual Studio Setup project for Outlook add-ins
Improved debugging experience Improved debugging experience
Scenarios for CodeScenarios for Code
Line of Business ApplicationsLine of Business ApplicationsIntegration of Outlook Data into back end systemsIntegration of Outlook Data into back end systems
Calendar Integration SolutionsCalendar Integration SolutionsTime trackingTime tracking
Collaboration SolutionsCollaboration SolutionsRSS Aggregators, Integrated Sharepoint solutionsRSS Aggregators, Integrated Sharepoint solutions
Outlook Extension SolutionsOutlook Extension SolutionsSearch tools, personal organizational tools (thread Search tools, personal organizational tools (thread compressor, attachment management)compressor, attachment management)
Personal Productivity SolutionsPersonal Productivity Solutions
Conf room finder, travel booking tools, customer Conf room finder, travel booking tools, customer survey tools survey tools
Writing Managed CodeWriting Managed CodeBehind OutlookBehind Outlook
Deployment & SecurityDeployment & Security
VSTO Deployment BasicsVSTO Deployment Basics
Document and code (assembly) are separateDocument and code (assembly) are separate
VSTO has a manifest-based deployment modelVSTO has a manifest-based deployment model
Application ManifestApplication ManifestEmbedded in the document and describes the Embedded in the document and describes the solution (startup assembly, dependencies, solution (startup assembly, dependencies, deployment manifest)deployment manifest)
Deployment ManifestDeployment ManifestPoints to the Application Manifest and handles Points to the Application Manifest and handles Application Manifest version resolutionApplication Manifest version resolution
Solution can intelligently updateSolution can intelligently update
ContinuedContinued……
VSTO Deployment BasicsVSTO Deployment Basics
Three basic deployment modelsThree basic deployment models
Local/Local – both document and assembly Local/Local – both document and assembly reside on local machinereside on local machine
Local/Network – document resides on local Local/Network – document resides on local machine, assembly resides on networkmachine, assembly resides on network
Network/Network – both document and assembly Network/Network – both document and assembly reside on the networkreside on the network
This is especially useful for Template projectsThis is especially useful for Template projects
Note:Note: InfoPath deployment is slightly different InfoPath deployment is slightly differentAssemblies and manifest reside in an XSNAssemblies and manifest reside in an XSN
XML files point to XSNXML files point to XSN
VSTO Client RequirementsVSTO Client Requirements
Office 2003 Professional Edition SP1Office 2003 Professional Edition SP1
Or Excel/Word/Outlook standalone editionsOr Excel/Word/Outlook standalone editions
.NET Framework 2.0.NET Framework 2.0
VSTO 2005 RuntimeVSTO 2005 Runtime
Office Primary Interop Assemblies (PIAs)Office Primary Interop Assemblies (PIAs)
Appropriate security policiesAppropriate security policies
Security ModelSecurity Model
VSTO uses .NET Code Access Security VSTO uses .NET Code Access Security
EvidenceEvidence
Location based for documentsLocation based for documents
Any type of evidence for the assembliesAny type of evidence for the assemblies
PermissionsPermissions
Document location and code must be fully trusted Document location and code must be fully trusted
LevelsLevels
Enterprise, Machine, User, ApplicationEnterprise, Machine, User, Application
A given permission is granted only if A given permission is granted only if allall policy levels agree policy levels agree to grant itto grant it
Default CLR Security policy is not enoughDefault CLR Security policy is not enough
ContinuedContinued……
Security ModelSecurity Model
Note:Note: InfoPath security is slightly different InfoPath security is slightly different
InfoPath assemblies support partial trust for InfoPath assemblies support partial trust for Domain XSNsDomain XSNs
Doesn’t need to use .NET Code Access Security Doesn’t need to use .NET Code Access Security because assemblies can be fully trusted whenbecause assemblies can be fully trusted when
they are signedthey are signed
the XSN is installedthe XSN is installed
End-to-EndEnd-to-EndVSTO SolutionVSTO Solution
Session SummarySession Summary
VSTO is a strategic Microsoft tool for developing VSTO is a strategic Microsoft tool for developing document-centric Office solutions and Outlook document-centric Office solutions and Outlook Add-insAdd-ins
Enables development of document-centric Enables development of document-centric solutions with managed code in Excel, InfoPath solutions with managed code in Excel, InfoPath and Wordand Word
Enables development of managed add-ins in Enables development of managed add-ins in OutlookOutlook
VSTO 2005’s new features provide advantages VSTO 2005’s new features provide advantages and benefits for both developers and and benefits for both developers and information workers information workers
Next StepsNext Steps
Participate in our newsgroups and web forumParticipate in our newsgroups and web forummicrosoft.public.vsnet.vstools.officemicrosoft.public.vsnet.vstools.office
microsoft.public.officedevmicrosoft.public.officedev
microsoft.public.office.developermicrosoft.public.office.developer
http://forums.microsoft.com/msdn/ShowForum.aspx?http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=16ForumID=16
Participate in VSTO-related blogsParticipate in VSTO-related blogsTeam blog: Team blog: http://blogs.msdn.com/vsto2http://blogs.msdn.com/vsto2
VSTO MVP Chris Kunicki’s blog: VSTO MVP Chris Kunicki’s blog: http://www.officezealot.com/VSTO/http://www.officezealot.com/VSTO/
Attend a free chat or webcastAttend a free chat or webcasthttp://www.microsoft.com/communities/default.mspxhttp://www.microsoft.com/communities/default.mspx
For More InformationFor More Information
Visit the VSTO sections of these MSDNVisit the VSTO sections of these MSDN®® Developer CentersDeveloper Centers
Office Developer CenterOffice Developer Center http://msdn.microsoft.com/office/understanding/http://msdn.microsoft.com/office/understanding/vsto/default.aspxvsto/default.aspx
Smart Client Developer CenterSmart Client Developer Center http://msdn.microsoft.com/smartclient/understanhttp://msdn.microsoft.com/smartclient/understanding/vsto/default.aspxding/vsto/default.aspx
VSTO Help documentation on MSDNVSTO Help documentation on MSDN
http://msdn2.microsoft.com/library/d2tx7z6d(en-http://msdn2.microsoft.com/library/d2tx7z6d(en-us,vs.80).aspxus,vs.80).aspx
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.