24

Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Embed Size (px)

DESCRIPTION

RDG Index Project success validation metric Rounds of Disc Golf Success Curve Futility Curve Death March Minimum Success Threshold Minimum Failure Threshold Project Success

Citation preview

Page 1: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325
Page 2: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Building Custom Applications in Microsoft Office Outlook 2007

Ty Anderson, Damon ArmstrongCogent CompanySession Code: OFC325

Page 3: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

RDG IndexProject success validation metric

Rounds of Disc Golf Success Curve

Futility Curve

Death March

Minim

um Success Threshold

Minim

um Failure Threshold

Project Success

+

-- +

Page 4: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Session ObjectivesWhat you should walk away knowing

Learn the different methods available for customizing the Outlook UI

Form RegionsOffice Fluent UI (a.k.a. the ribbon)Task Panes

Learn about the VSTO Power ToysTask Panes with the UI Manager

Page 5: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Session Objectives (Continued)

What you should walk away knowing

Learn how to work with the Outlook Object Model using VSTO

Learn to integrate a process into Outlook that coordinates the different UI elements

Learn a bit about using WPF in a VSTO project

Page 6: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Today's Scenario Task Management in Outlook

Outlook supports task lists

out of the box

But we want to manage task hierarchically

(i.e. sub-tasks)

Page 7: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Today's Scenario Task Management in Outlook

ID 001

ParentID NULL

ID 002

ParentID 001

ID 003

ParentID 001

ID 004

ParentID 002

Page 8: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Customizing The Outlook UIThe Main Window (aka Explorer)

CommandBars

Form Region(adjoining)

Task Panes

Form Region(separate,

replacement, replace-all )

Page 9: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Customizing The Outlook UIThe Outlook Item (aka Inspector)

Task Panes

Form Region(adjoining)

The Ribbon

Form Region(separate, replacement, replace-all)

Page 10: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Demo System Requirements

Office 2007 (Required)

Preferably an installation that includes Outlook :)Visual Studio 2008 (Required)

Preferably with the VSTO option :)VSTO Power Tools v1.0.0.0 (Required)

http://www.microsoft.com/downloads/details.aspx?FamilyId=46B6BF86-E35D-4870-B214-4D7B72B02BF9&displaylang=en

A cold one (Recommended)

Page 11: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

WPF and OutlookDamon ArmstrongSenior ArchitectCogent Company

demo

Page 12: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Key Points About WPF

Wrap Outlook objects to enable binding notification support

INotifyPropertyIObservable

Page 13: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Building a Form Region that Displays Related Tasks

Ty AndersonPartnerCogent Company

demo

Page 14: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Key Points About Form Regions

Four typesSeparateAdjoiningReplacementReplace-all

Key class and objectsThis.OutlookItemThis.OutlookFormRegoinGlobals

Page 15: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Building and Managing Task Panes

Ty AndersonPartnerCogent Company

demo

Page 16: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Key Points About Task Panes

The VSTO Power Tools UI Manager is your friendManages task panes attached to explorers and inspectorsProvides access to ribbons and form regions as strongly-typed objects

Implementing the UI Manager is easy4 step process to implement it in your code

Task Panes are really just user controls

Page 17: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Customizing the Office Fluent UI and Re-Purposing Ribbon Button ActionsTy AndersonPartnerCogent Company

demo

Page 18: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Key Points About Custom RibbonsTwo methods for designing custom ribbons

Ribbon Visual DesignerRibbon XML

Use Ribbon Visual Designer template for:WinForm-esque design experience

Ribbon XML template enable advanced stuff:Adding built-in groups to a custom tabAdding built-in control to a custom groupCustomizing the quick access toolbarRe-purposing button action events

You can always export a visual ribbon to Ribbon XML

Page 19: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Avoid the Top 7 Outlook Dev Gotchas

Let go of your pride and steal code from Outlook’s VBA help fileBecome proficient with Explorers and InspectorsStart with adjoining form regionsLikewise, start with the Ribbon Visual DesignerUse the VSTO Power ToolsSave properly and release your COM Objects to avoid orphan InspectorsDo not attempt an “Extreme Makeover: Outlook Edition”

Page 20: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

question & answer

Page 21: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

This year the scale is 5 through 1

Please fill out an evaluation!!!

Evaluations for OFC-325

5 is the highest score and 1 is the lowest Our evaluations keep us coming back!!! If you are unsure about scoring -- this was 5 = ) if (Session.Score<5) { You.LeaveComment(Please) }

Page 22: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

www.microsoft.com/teched

Sessions On-Demand & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learningMicrosoft Certification and Training Resources

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources

Page 23: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

Complete an evaluation on CommNet and enter to win!

Page 24: Ty Anderson, Damon Armstrong Cogent Company Session Code: OFC325

© 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.