michal neuwirth

87
Michal Neuwirth

Upload: pello

Post on 24-Jan-2016

90 views

Category:

Documents


0 download

DESCRIPTION

Michal Neuwirth. Agenda. VSTO 2008 Word Content Controls Add-ins RibbonX Podokn a úloh (Task p ane & Action pane) Outlook Architektura. VSTO 3.0. Designery pro tvorbu UI Podpora pro Workflow & Microsoft SharePoint Task Pane na úrovni dokumentů. VSTO 2005 SE. - PowerPoint PPT Presentation

TRANSCRIPT

Michal Neuwirth

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úloh (Task pane & Action pane)OutlookArchitektura

VSTO 2005Vlastní ActionsPane - na úrovni dokumentůHost ControlsCached Data v dokumentechZpracování na straně serveruAdd-in pro Outlook 2003Nasazení a aktualizace založené na manifestech

Add-ins na úrovni aplikacíPodpora pro vlastní podokno úloh, ribbon prvkyPodokno úloh na úrovni aplikací

VSTO 2005 SE

VSTO 2003Code-behind na úrovni dokumentůPropojení Office a managed světůStriktní bezpečnostní model

Designery pro tvorbu UIPodpora pro Workflow & Microsoft SharePointTask Pane na úrovni dokumentů

VSTO 3.0

VSTO 2005 SEVSTO 2005 SEVSTO 2005 SEVSTO 2005 SEVSTO 2005 SE

VSTO 2005VSTO 2005

VSTO 2005 SEVSTO 2005 SE

Office 2003

Podpora Add-ins na úrovni aplikace pro

Microsoft Office Excel 2003Outlook 2003PowerPoint 2003Visio 2003Word 2003

Office 2007

Add-in na úrovni aplikace

VlastníPodokno úloh

ÚpravyRibbonX

Excel 2007

Word 2007

Outlook 2007

PowerPoint 2007InfoPath 2007

Visio 2007

VSTO 2008

Vyžaduje .NET Framework 3.5Document-based řešení

Word, Excel, InfoPathManaged controls na ploše dokumentůActions Pane

Další novinkyDesigner pro RibbonX a Outlok regionyVBA => VSTO interoperabilitaPodpora pro Workflow a Microsoft SharePoint

Databinding

Postaveno nad ADO .NETPráce s daty, která jsou zobrazena poté ve Wordu a Excelu

Bez znalosti OM Office

Datové zdroje:Web ServiceDatabázeDataSetVlastní objekty

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úlohOutlookArchitektura

Word Content Controls

Tvorba XML schématu v prostředí vytvářením struktury dokumentuPrvky nemají vliv na layout dokumentuPrvky lze vkládat do skupin a s těmi poté pracovatPrvky lze namapovat na XML dataPrvky se vkládají z ToolBoxu na Developer záložceMnožství nastavení pro jednotlivé prvkyPro prázdné prvky lze nastavit řetězcové placeholdery

Word Content Controls

Přímý přístup z .NETuObjektový model, event handlers, ....

ADO.NET databinding

Word Content Controls

ToolboxControls

Výhody WCC

V porovnání s BookmarkyObsahují 8 ovládacích prvkůPodporují zamykání obsahu a prvku

V porovnání s XML nodes Nevyžadují XML Schema

V porovnání s Windows Forms ControlsPodpora i pro tisk

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úlohOutlookArchitektura

VSTO Add-Ins

Managed Add-ins pro:2007 - Excel, PowerPoint, Visio, InfoPath, Outlook, Project, Word2003 – Excel, PowerPoint, Visio, Outlook, Project, Word

Shared Add-ins pro všechny aplikace

Shared Add-ins

COM add-inPokud chceme vytvořit Add-in pro více aplikací najednouPokud neexistuje Managed Add-in

Funguje taktoNahrávají se do DefaultDomain

Sdílení security kontextuJeden může „sundat“ další

Využívá rozhraní Extensibility.IDTExtensibility2Lze vytvořit vlastní proxy třídu („shim“)

Visual Studio COM Shim Wizard

Shared Add-in

demo

Managed Add-in Framework

Zajišťuje tvorbu managed add-ins pro většinu aplikací

Public Class ThisAddIn

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup End Sub

Private Sub ThisAddIn_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown

End Sub

End Class

Managed Add-in

demo

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úlohOutlookArchitektura

Současná řešení

XLMWordBasicCommandBars (‘96)WLL, XLLXLA, PPA, Word global templatesAttached Toolbars ve Wordu a Excelu….

Stále funkční!!!

Současná řešení

Vlastní MenuVlastní tlačítka

ve Formatting Toolbaru

Vlastní Toolbar

Word 2003

Možnost připojit toolbary k dokumentůmOtevřené dokumenty zobrazují pouze své připojené toolbaryToolbary vytvořené kódem jsou přístupné všem dokumentům

Excel 2003

Připojené toolbary k dokumentůmVšechny změny v prostředí se „kumulují“ v Excel toolbaru

Excel po otevření několika desítek dokumentů s připojenými toolbary…..

Prvek Ribbon

Nové uživatelské rozhraní v Office 2007Úpravy pomocí XML modeluVSTO 2008 podporuje úpravy pro

Excel 2007, Outlook 2007, PowerPoint 2007, Word 2007

ZáložkaSkupina

Ribbon

Ovládací prvek

Stávající řešení

Kód přidává Zobrazeno ve skupině

Prvek do standardního menu Menu Commands

Prvek do standarního toolbaru Toolbar Commands

Vlastní toolbar Custom Toolbars

Vše v rámci záložky Add-Ins

Možnosti přizpůsobení

Přidat vlastní záložkyVložení vlastní skupiny do existujících záložekPřidání položky do File MenuPřidání položky do stávajících kontextových záložek

Objekty mimo RibbonX

Mini ToolbarRight-click (kontextová) menuStatus Bar

Ovládací prvky

TabsGroups ButtonsLabelsToggleButtons MenusSplitButtons CheckBoxes

Ovládací prvky

EditBoxesDialogBoxLaunchers DropDownsComboBoxesGalleries

MS Office 2003:msoControlButton, msoControlEdit, msoControlPopup, msoControlComboBox, msoControlDropdown

Prodokument

Pro aplikaci

RibbonX projekty

Instalace na úrovni

aplikace

Je pořád vidět

Vytvoření VSTO řešení

pro celou aplikaci

Word Global Template

Excel Add-in (.xlam)

PPT Add-in (.ppam)

Instalace na úrovni celé

aplikace

Zobrazuje se dle

zobrazených dokumentů

Vytvoření VSTO řešení

pro dokumenty

Word, Excel, PowerPointdokumenty

Accessdatabáze

COM VBA VSTO

Tvorba RibbonX

RibbonX XML (nativní pro Office)RibbonX Designer

Property Grid

Ribbon Control Toolbox

Plocha Ribbonu

Ribbon Designer

Ribbon designer

demo

XML Formát

<tab id=“myTab” label=“My Tab”><group id=“myGroup” label=“My 1st Group”>

<button id=“myButton” label=“Hello World!” onAction=“myHelloFunc” />

</group></tab>

<tab idMso=“TabInsert”><group id=“myGroup” label=“My 1st Group”

insertAfterMso=“GroupIllustrations”><button id=“myButton” label=“Hello World!”

size=“large” imageMso=“FormatPainter” />

</group></tab>

XML Schéma

Ribbon, tab, group, boxKontejneryModel „najdi nebo vytvoř“

id, idMsoDefinice vlastního id či odkaz na standardní objekt

insertAfterMso, insertBeforeMso Způsob vkládání mezi standardní objekty

image, imageMsoDefinice vlastního obrázku či odkaz na standardní obrázek

getImage, onAction, getEnabled, getVisible

Nejdůležitější CallBack funkce

startFromScratch

<ribbon startFromScratch=“true”>Schová všechny Ribbon záložkyModifikace Office menu

Zůstane pouze položka New, Open, Save, Options a Exit

<command idMso=“Save” onAction=“runMyCode” />

Zachytíme stisk tlačítka Save

<button id=“x” imageMso=“Save” label=“Imposter!” />

Vytvoříme vlastní tlačítko Save

Ribbon XML

demo

XML vs Designer

VlastnostVisual

Designer XML

Tvorba vlastních záložek Úprava stávajících záložek Skrytí záložek Skrytí skupin a prvků Start from Scratch Položky v Office Menu Úpravy Quick Access Toolbar Úpravy Built-in Commands

Doporučené postupy

UI Obsahuje….

File Menu Externí příkazy nesouvisející s dokumentem

Záložky Příkazy pro modifikaci obsahu dokumentu

Kontextuální záložky

Specifické příkazy pro jednotlivé objekty v dokumentech

Vlastní podokna úloh

Informace relevantní aktuálnímu dokumentu

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úlohOutlookArchitektura

Podokna úloh

Actions PaneAsociován se specifickým dokumentemAlternativa ke „SmartDocuments“

Task PaneStejné jako Actions Pane ale určen pro celou aplikaci

Podokno úloh aplikace

Podokno úloh nezávislé na dokumentuDvě komponenty

Ovládací prvek pro zobrazení vlastních informací

InfoPath, WinFormsNativní či managed

Add-in pro vytvoření a zobrazení podokna úloh

MDI a SDI

Single Document Interface Multiple Document Interface

Aplikace Excel, PowerPoint InfoPath, Outlook, WordChování Jedno rozhraní pro celou

aplikaci.Okna dokumentů jsou v tomto prostředí vnořena.

Každý dokument má vlastní okno.

Podokno úloh

Jedno podokno úloh asociováno s aplikací.

Každé okno má vlastní podokno úloh.

SDI podokno úloh

1. Vytvoření standardního ovládacího VS 2008 prvku

2. V metodě ThisAddIn_Startup() zadat:CustomTaskPanes.Add(myUserControl, “My Taskpane”)

SDI podokno úloh

demo

MDI podokno úloh

1. Vytvoření „wrapperu“ pro dokumentové okno, který zpracovává události a zajišťuje obnovení podokna úloh

2. Vytvoření instance wrapperu v události vytváření okna – NewDocument, DocumentOpen atd.

3. Asociovat podokno úloh v okně během inicializace wrapperu

4. Držet si v Add-inu seznam všech instancí wrapperu

5. Odebrání podokna úloh při zavření okna a zrušení instance odpovídajícího wrapperu

MDI podokno úloh

demo

Podokno úloh dokumentu

Propojení mezi podoknem úloh a dokumentemOvládací prvky

WCC na straně dokumentuWindows FormsVlastní ovládací prvky

Podpora pro vytváření podokna úloh v módu návrhuJiž žádné ISmartDocument interface

Dim MyUserControl As New UserControl1

Private Sub ThisDocument_Initialize( _ ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Initialize

Me.ActionsPane.Controls.Add(MyUserControl)End Sub

Actions Pane

demo

Ribbon & Task Pane Support

Document- level Actions Pane

Ribbon UI Customization

App-level Custom Task Pane

Excel 2007

Word 2007

Outlook 2007

PowerPoint 2007

InfoPath 2007

Persistence datActions Pane

Document open: task pane vytvořenDocument closed: task pane zrušen

Custom Task PaneVytvořen při otevření oknaZničen při zavření okna

MDI vs SDI

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úlohOutlookArchitektura

Objektový model

Rozšíření existujícího modelu, nevzniká nový modelStávající řešení fungují beze změnSpojení existujících APIs (CDO, ECEs) do jednoho Outlook OMPlná podpora CDO, ExMAPI, ECEs z managed kódu „Trusted Add-in“ zůstává primární technologie pro úpravy outlook prostředí a formulářové regiony

Outlook API

Extended MAPI

Extended MAPI

Outlook OMOutlook OM

CDOCDO

ECEECE

MAPI Providers

MAPI Providers

Outlook 2000/2002/2003 Outlook 2007Outlook 2000/2002/2003 Outlook 2007

ExMAPIExMAPI

Outlook OM

Outlook OM

CDOCDO

ECEECE

MAPIProvidersMAPI

Providers

RozšířenýOutlook “12” OM

RozšířenýOutlook “12” OM

Nový OOM

Umožňuje vytvářet řešení proti jedné sadě API funkcí (Outlook Object Model)

ECE část: Rozšířený model pro zpracování událostí pro vytváření položek, zobrazování v panelu náhledu, v inspector panelech či editaceCDO část: Ekvivalentní objekty a metody pro AddressBook, DeliverNow, Stores, Fields, HiddenMessages

Odstraňuje separátní bezpečnostní model pro CDO 1.21

Outlook Form Regions

Visual designer pro tvorbu RegionůWinforms + WPF

Run & Debug přímo z VSNení potřeba ruční vytváření XML manifestů, OFS soubůr, úprava registrů, atd.Možnost importu OFS souborů

Form Region Support

Typ Standard Outlook Form(IPM.Contact)

Custom Outlook Form (IPM.Contact.Foo)

Supported in Reading Pane

Adjoining Ö Ö ÖSeparate Ö Ö XReplace X Ö ÖReplace-all X Ö Ö

Adjoining in Reading Pane

Adjoining in Inspector

Separate

Replacement & Replace-All

Outlook

demo

Agenda

VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úlohOutlookArchitektura

VSTO Design-time Stack

Visual Studio

Project Templates

OfficeIDE

Hosting

Item Wizards

WorkflowDocument Solutions

Add-ins RibbonRibbon

XMLForm

Regions

SharePoint

Excel, Word Excel, InfoPath, Outlook,

PowerPoint, Visio, Word,

(Access, Project)

Excel, Outlook,

PowerPoint, Word,

(Access)

Excel, Outlook,

PowerPoint, Word,

(Access)Outlook

VSTO Runtime

VSTO Runtime Stack

Office Client Host Managed/Unmanaged Host

Doc Task Pane

Host Item

Control

Windows Forms

Controls

Doc-Level Solution App-Level Add-in

Custom Ribbon

Custom Task Pane

Custom Form

Region

Common VSTO Runtime

.NET CLRManaged Add-in

Framework (MAF)

AppDomain Management

Deployment and Updating

Security Enforcement

ClickOnce

VSTO Runtime

Host Item ControlsMicrosoft.Office.Tools.Excel.ListObject

Microsoft.Office.Tools.Word.Bookmark

....

Windows Forms ControlsMicrosoft.Office.Tools.Excel.Controls.Button

Microsoft.Office.Tools.Word.Controls.ComboBox

.....

Specielní ovládací prvkyDocument Task Pane

App-level Custom Task Pane

Custom form region

Office Task Pane

Window

VSTO Control Hosting

VSTO Invisible ActiveX Control

Custom Windows

Forms UserControl

VSTO Functional Wrapper

PIA Representation

Exposed COM Object Model

Doc-Level Host Item Controls

Excel.ListObject

Microsoft.Office.Interop.Excel.

ListObjectMicrosoft.Office.

Tools.Excel.ListObject

Excel Internal Behavior

VSTO Add-ins

PIA Representation

Exposed COM Object

Model

Excel.Application

Microsoft.Office.Interop.Excel.

Application

Excel Internal Behavior

Microsoft.Office.

Tools.AddIn

AppDomain #2

VSTO Runtime

DefaultDomain

VSTO Runtime Components

Office Host Unmanaged Runtime Loaders Managed Runtime• Check security

• Fetch updates• Create

appdomain• Connect Office

host• Host item controls• Managed controls

Usercode Add-in/

Doc customization

AppDomain #3

Usercode Add-in/

Doc customization

Office InterfacesNové interfaces

Interface Office hosts that support this interface

ICustomTaskPaneConsumer Access, Excel, InfoPath, Outlook, PowerPoint, Word

IRibbonExtensibility Access, Excel, Outlook, PowerPoint, Word

FormRegionStartup Outlook

IBlogExtensibility Word

IBlogPictureExtensibility Word

EncryptionProvider Excel, PowerPoint, Word

SignatureProvider Excel, PowerPoint, Word

ClickOnce

Stejná podpora jako u WinForms aplikací

BlogyJohn R. Durant

http://blogs.msdn.com/johnrdurant

Eric Carterhttp://blogs.msdn.com/eric_carter/

Peter Torr http://weblogs.asp.net/ptorr/

Eric Lipperthttp://blogs.msdn.com/EricLippert

Paul Stubbs http://weblogs.asp.net/pstubbs

VSTO Team Bloghttp://weblogs.asp.net/vsto2

Odkaz na Office UI Licence

Jak získat zdarma licence na Intelektuální vlastnictví společnosti Microsoft opravňující vytvářet aplikace se vzhledem a funkčností Office 2007 aplikací.http://msdn2.microsoft.com/en-us/office/aa973809.aspx

Závěr

Vývoj vlastních RibbonX prvkůVývoj sdílených Add-inůPodokna úlohDesigner pro Outlook Regions