the 2007 microsoft office system: developer model for the new user interface andy cheung isv...
TRANSCRIPT
The 2007 Microsoft The 2007 Microsoft Office System: Office System: Developer Model for Developer Model for the New User Interfacethe New User Interface
Andy CheungAndy Cheung
ISV Developer EvangelistISV Developer Evangelist
Microsoft Hong KongMicrosoft Hong Kong
AgendaAgenda
RibbonX RibbonX
Managed Preview HandlerManaged Preview Handler
Custom SmartArt GraphicsCustom SmartArt Graphics
Ribbon Extensibility - “RibbonX”Ribbon Extensibility - “RibbonX”
Developers can modify the RibbonDevelopers can modify the Ribbon
For example: remove tabs, add a tab, add For example: remove tabs, add a tab, add a groupa group
Custom GroupCustom Group
Custom TabCustom Tab
Existing SolutionsExisting Solutions
Custom MenuCustom MenuCustom ButtonsCustom Buttons
on Formatting Toolbaron Formatting Toolbar
Custom ToolbarsCustom Toolbars
Mapping Existing SolutionsMapping Existing Solutions
If your code added a…If your code added a… it appears in…it appears in…
Control to a built-in menuControl to a built-in menu the 'Menu Commands' groupthe 'Menu Commands' group
Control to a built-in toolbarControl to a built-in toolbar the 'Toolbar Commands' the 'Toolbar Commands' groupgroup
Custom toolbarCustom toolbar the ‘Custom Toolbars’ groupthe ‘Custom Toolbars’ group
… … on the Add-Ins Tabon the Add-Ins Tab
Before the 2007 Office SystemBefore the 2007 Office System
Hard to build well-behaved add-insHard to build well-behaved add-ins
Hard to reference built-in controls, imagesHard to reference built-in controls, images
Hard to localizeHard to localize
Nearly impossible to make add-in Nearly impossible to make add-in customizable by end userscustomizable by end users
Easy to have add-in conflictsEasy to have add-in conflicts
Result:Result: UI deteriorates over time UI deteriorates over time
RibbonX…RibbonX…
Is a consistent, XML-based developer Is a consistent, XML-based developer model model for Microsoft Office UIfor Microsoft Office UI
Produces well-behaved solutions by defaultProduces well-behaved solutions by default
Exposes new control typesExposes new control types
Targets specific developer scenariosTargets specific developer scenarios
RibbonX ControlsRibbonX Controls
EditBoxesEditBoxes
DialogBoxLaunchersDialogBoxLaunchers
DropDownsDropDowns
ComboBoxesComboBoxes
GalleriesGalleries
Only five controls in Only five controls in Microsoft Office 2003:Microsoft Office 2003:
msoControlButton, msoControlButton, msoControlEdit, msoControlEdit, msoControlPopup, msoControlPopup, msoControlComboBox, msoControlComboBox, msoControlDropdownmsoControlDropdown
RibbonX MarkupRibbonX Markup
Declarative XMLDeclarative XML
Easy to understand, localize, generateEasy to understand, localize, generate
Separates UI from your business logicSeparates UI from your business logic
Gets applied to UI at add-in or document Gets applied to UI at add-in or document loadload<tab idMso=“TabHome”><tab idMso=“TabHome”>
<group id=“myGroup” label=“My Group”><group id=“myGroup” label=“My Group”><button id=“hw” label=“Hello World!” <button id=“hw” label=“Hello World!”
onAction=“myHelloFunc” />onAction=“myHelloFunc” /></group></group>
</tab></tab>
Doc.Doc.LevelLevel
App.App.LevelLevel
RibbonX Solution SpaceRibbonX Solution Space
Installed at app-level,
UIalways visible
Write a VSTO app-
level solution
Word Global Template
Excel Add-in (.xlam)
PPT Add-in (.ppam)
Installed at app-level, displays UI based on
doc properties
Write a VSTO v3
doc-based solution
Word, Excel, PowerPointdocument
AccessDatabase
COMCOM VBAVBA VSTOVSTO
Features Targeting DevelopersFeatures Targeting Developers
StartFromScratchStartFromScratch
Global repurposingGlobal repurposing
Referencing built-in controls and imagesReferencing built-in controls and images
<ribbon startFromScratch=“true”><ribbon startFromScratch=“true”><!– hides the main tabs --><!– hides the main tabs -->
<command idMso=“Save” onAction=“runMyCode” /><command idMso=“Save” onAction=“runMyCode” /><!- takes over the built-in save action --><!- takes over the built-in save action -->
<button id=“x” imageMso=“Save” label=“Imposter!” /><button id=“x” imageMso=“Save” label=“Imposter!” /><!- “steals” the image of the Save button --> <!- “steals” the image of the Save button -->
Design GuidelinesDesign Guidelines
UI RegionUI Region Contains…Contains…
File MenuFile Menu Commands external to documentCommands external to document
Main TabsMain Tabs Commands that modify document contentCommands that modify document content
Contextual Contextual TabsTabs Commands specific to built-in objectsCommands specific to built-in objects
Programmable Programmable
Task PanesTask Panes
Typically display data relevant to current Typically display data relevant to current documentdocument
ResourcesResources
Create Custom SmartArt Graphics For Use Create Custom SmartArt Graphics For Use In The 2007 Office SystemIn The 2007 Office Systemhttp://msdn.microsoft.com/msdnmag/issues/07/02/SmartArt/ http://msdn.microsoft.com/msdnmag/issues/07/02/SmartArt/
Extend The 2007 Office System With Your Extend The 2007 Office System With Your Own Ribbon Tabs And ControlsOwn Ribbon Tabs And Controlshttp://msdn.microsoft.com/msdnmag/issues/07/02/ribbonx/ http://msdn.microsoft.com/msdnmag/issues/07/02/ribbonx/
View Data Your Way With Our Managed View Data Your Way With Our Managed Preview Handler FrameworkPreview Handler Frameworkhttp://msdn.microsoft.com/msdnmag/issues/07/01/http://msdn.microsoft.com/msdnmag/issues/07/01/PreviewHandlers/ PreviewHandlers/
FREEFREE Hong Kong Technical Support Hong Kong Technical Support NewsgroupNewsgroup
Supported by experienced Microsoft senior Supported by experienced Microsoft senior engineersengineers
Read posts, search for specific topics and Read posts, search for specific topics and post your questions!post your questions!
Get an answer within 2 business days (Mon Get an answer within 2 business days (Mon – Fri)– Fri)
http://www.microsoft.com/hk/community/http://www.microsoft.com/hk/community/newsgroup.mspx newsgroup.mspx
© 2006 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.