1 programming windows help shane mcroberts group program manager microsoft corporation...

33
1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation [email protected] Session Code: CLI309

Upload: gabriel-hood

Post on 24-Dec-2015

237 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

1

Programming Windows Help

Shane McRoberts Group Program ManagerMicrosoft [email protected]

Session Code: CLI309

Page 2: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

2

Tools

Client Application Model

Avalon Windows Forms

Web & Service Application Model

ASP.NET / Indigo Win FSCompact

FrameworkYukon Mobile PC Optimized

System.HelpSystem.Help

System.DrawingSystem.Drawing

System.NaturalLanguageServicesSystem.NaturalLanguageServices

Data Systems Application Model

Presentation Data

Mobile PC & Devices Application Model

Communication

Command Line

NT Service

DataSetDataSet

MappingMapping

ObjectSpacesObjectSpaces

ObjectSpaceObjectSpace

QueryQuery

SchemaSchema

ItemItem

RelationshipRelationship

MediaMedia

AudioAudio

VideoVideo

ImagesImages

System.MessagingSystem.Messaging System.DiscoverySystem.Discovery

System.DirectoryServicesSystem.DirectoryServices

System.RemotingSystem.Remoting

System.Runtime.RemotingSystem.Runtime.Remoting

ActiveDirectoryActiveDirectory

UddiUddi

System.Web.ServicesSystem.Web.Services

Web.ServiceWeb.Service

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

System.MessageBusSystem.MessageBus

TransportTransport

PortPort

ChannelChannel

ServiceService

QueueQueue

PubSubPubSub

RouterRouter

System.TimersSystem.Timers

System.GlobalizationSystem.Globalization

System.SerializationSystem.Serialization

System.ThreadingSystem.Threading

System.TextSystem.Text

System.DesignSystem.Design

Base & Application Services

Fundamentals

System.ComponentModelSystem.ComponentModel

System.CodeDomSystem.CodeDom

System.ReflectionSystem.Reflection

System.EnterpriseServicesSystem.EnterpriseServices

System.TransactionsSystem.Transactions

Security

System.Windows.TrustManagementSystem.Windows.TrustManagement

System.Web.SecuritySystem.Web.Security

System.MessageBus.SecuritySystem.MessageBus.Security

AuthorizationAuthorization

AccessControlAccessControl

CredentialsCredentials

CryptographyCryptography

System.Web.ConfigurationSystem.Web.Configuration

System.MessageBus.ConfigurationSystem.MessageBus.Configuration

System.ConfigurationSystem.Configuration

System.ResourcesSystem.ResourcesSystem.ManagementSystem.Management

System.DeploymentSystem.Deployment

System.DiagnosticsSystem.Diagnostics

Configuration Deployment/Management

System.WindowsSystem.Windows System.WindowsSystem.WindowsSystem.Windows.FormsSystem.Windows.Forms

System.ConsoleSystem.Console

System.ServiceProcessSystem.ServiceProcess

System.Windows.FormsSystem.Windows.Forms System.WebSystem.Web System.StorageSystem.Storage System.Data.SqlServ

erSystem.Data.SqlServer

AnimationAnimation

ControlsControls

ControlControl

DesignDesign

PanelPanel

ControlsControls

DialogsDialogs

SideBarSideBar

NotificationNotification

System.WindowsSystem.Windows

DocumentsDocuments

Text ElementText Element

ShapesShapes

ShapeShape

InkInk

UI ElementUI Element ExplorerExplorer MediaMedia

System.Windows.FormsSystem.Windows.Forms

FormsForms

ControlControl

Print DialogPrint Dialog

DesignDesign

System.Web.UISystem.Web.UI

PagePage

ControlControl

HtmlControlsHtmlControls

MobileControlsMobileControls

WebControlsWebControls

AdaptorsAdaptors

DesignDesign

PortsPorts

InteropServicesInteropServices

System.RuntimeSystem.Runtime

System.IOSystem.IO

System.CollectionsSystem.Collections

GenericGeneric

System.SearchSystem.Search

AnnotationsAnnotations

MonitoringMonitoring

LoggingLogging

RelevanceRelevance

System.DataSystem.Data

SqlClientSqlClient

SqlTypesSqlTypes

SqlXMLSqlXML

OdbcClientOdbcClient

OleDbClientOleDbClient

OracleClientOracleClient

CoreCore

ContactContact

LocationLocation

MessageMessage

DocumentDocument

EventEvent

System.StorageSystem.Storage

System.WebSystem.Web

PersonalizationPersonalization

CachingCaching

SessionStateSessionState

System.XmlSystem.Xml

SchemaSchema

SerializationSerialization

XpathXpath

QueryQuery

PermissionsPermissions

PolicyPolicy

PrincipalPrincipal

TokenToken

System.SecuritySystem.Security

System.CollaborationSystem.Collaboration

RealTimeEndpointRealTimeEndpoint

TransientDataSessionTransientDataSession

SignalingSessionSignalingSession

MediaMedia

ActivitiesActivities

HttpWebRequestHttpWebRequest

FtpWebListenerFtpWebListener

SslClientStreamSslClientStream

WebClientWebClient

System.NetSystem.Net

NetworkInformationNetworkInformation

SocketsSockets

CacheCache

System.WebSystem.Web

AdministrationAdministration

ManagementManagement

NavigationNavigation

Peer GroupPeer Group

PolicyPolicy

SerializationSerialization

CompilerServicesCompilerServices

RecognitionRecognition

System.SpeechSystem.Speech

SynthesisSynthesis

Page 3: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

3

Tools

Client Application Model

Avalon Windows Forms

Web & Service Application Model

ASP.NET / Indigo Win FSCompact

FrameworkYukon Mobile PC Optimized

Data Systems Application Model

Data

Mobile PC & Devices Application Model

Communication

Command Line

NT Service

DataSetDataSet

MappingMapping

ObjectSpacesObjectSpaces

ObjectSpaceObjectSpace

QueryQuery

SchemaSchema

ItemItem

RelationshipRelationship

MediaMedia

AudioAudio

VideoVideo

ImagesImages

System.MessagingSystem.Messaging System.DiscoverySystem.Discovery

System.DirectoryServicesSystem.DirectoryServices

System.RemotingSystem.Remoting

System.Runtime.RemotingSystem.Runtime.Remoting

ActiveDirectoryActiveDirectory

UddiUddi

System.Web.ServicesSystem.Web.Services

Web.ServiceWeb.Service

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

System.MessageBusSystem.MessageBus

TransportTransport

PortPort

ChannelChannel

ServiceService

QueueQueue

PubSubPubSub

RouterRouter

System.TimersSystem.Timers

System.GlobalizationSystem.Globalization

System.SerializationSystem.Serialization

System.ThreadingSystem.Threading

System.TextSystem.Text

System.DesignSystem.Design

Base & Application Services

Fundamentals

System.ComponentModelSystem.ComponentModel

System.CodeDomSystem.CodeDom

System.ReflectionSystem.Reflection

System.EnterpriseServicesSystem.EnterpriseServices

System.TransactionsSystem.Transactions

Security

System.Windows.TrustManagementSystem.Windows.TrustManagement

System.Web.SecuritySystem.Web.Security

System.MessageBus.SecuritySystem.MessageBus.Security

AuthorizationAuthorization

AccessControlAccessControl

CredentialsCredentials

CryptographyCryptography

System.Web.ConfigurationSystem.Web.Configuration

System.MessageBus.ConfigurationSystem.MessageBus.Configuration

System.ConfigurationSystem.Configuration

System.ResourcesSystem.ResourcesSystem.ManagementSystem.Management

System.DeploymentSystem.Deployment

System.DiagnosticsSystem.Diagnostics

Configuration Deployment/Management

System.WindowsSystem.Windows System.WindowsSystem.WindowsSystem.Windows.FormsSystem.Windows.Forms

System.ConsoleSystem.Console

System.ServiceProcessSystem.ServiceProcess

System.Windows.FormsSystem.Windows.Forms System.WebSystem.Web System.StorageSystem.Storage System.Data.SqlServ

erSystem.Data.SqlServer

PortsPorts

InteropServicesInteropServices

System.RuntimeSystem.Runtime

System.IOSystem.IO

System.CollectionsSystem.Collections

GenericGeneric

System.SearchSystem.Search

AnnotationsAnnotations

MonitoringMonitoring

LoggingLogging

RelevanceRelevance

System.DataSystem.Data

SqlClientSqlClient

SqlTypesSqlTypes

SqlXMLSqlXML

OdbcClientOdbcClient

OleDbClientOleDbClient

OracleClientOracleClient

CoreCore

ContactContact

LocationLocation

MessageMessage

DocumentDocument

EventEvent

System.StorageSystem.Storage

System.WebSystem.Web

PersonalizationPersonalization

CachingCaching

SessionStateSessionState

System.XmlSystem.Xml

SchemaSchema

SerializationSerialization

XpathXpath

QueryQuery

PermissionsPermissions

PolicyPolicy

PrincipalPrincipal

TokenToken

System.SecuritySystem.Security

System.CollaborationSystem.Collaboration

RealTimeEndpointRealTimeEndpoint

TransientDataSessionTransientDataSession

SignalingSessionSignalingSession

MediaMedia

ActivitiesActivities

HttpWebRequestHttpWebRequest

FtpWebListenerFtpWebListener

SslClientStreamSslClientStream

WebClientWebClient

System.NetSystem.Net

NetworkInformationNetworkInformation

SocketsSockets

CacheCache

System.WebSystem.Web

AdministrationAdministration

ManagementManagement

Peer GroupPeer Group

PolicyPolicy

SerializationSerialization

CompilerServicesCompilerServices

System.HelpSystem.Help

System.DrawingSystem.Drawing

System.NaturalLanguageServicesSystem.NaturalLanguageServices

Presentation

AnimationAnimation

ControlsControls

ControlControl

DesignDesign

PanelPanel

ControlsControls

DialogsDialogs

SideBarSideBar

NotificationNotification

System.WindowsSystem.Windows

DocumentsDocuments

Text ElementText Element

ShapesShapes

ShapeShape

InkInk

UI ElementUI Element ExplorerExplorer MediaMedia

System.Windows.FormsSystem.Windows.Forms

FormsForms

ControlControl

Print DialogPrint Dialog

DesignDesign

System.Web.UISystem.Web.UI

PagePage

ControlControl

HtmlControlsHtmlControls

MobileControlsMobileControls

WebControlsWebControls

AdaptorsAdaptors

DesignDesign

NavigationNavigation

RecognitionRecognition

System.SpeechSystem.Speech

SynthesisSynthesis

Page 4: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

4

Tools

Client Application Model

Avalon Windows Forms

Web & Service Application Model

ASP.NET / Indigo Win FSCompact

FrameworkYukon Mobile PC Optimized

System.HelpSystem.Help

System.DrawingSystem.Drawing

System.NaturalLanguageServicesSystem.NaturalLanguageServices

Data Systems Application Model

Presentation Data

Mobile PC & Devices Application Model

Communication

Command Line

NT Service

DataSetDataSet

MappingMapping

ObjectSpacesObjectSpaces

ObjectSpaceObjectSpace

QueryQuery

SchemaSchema

ItemItem

RelationshipRelationship

MediaMedia

AudioAudio

VideoVideo

ImagesImages

System.MessagingSystem.Messaging System.DiscoverySystem.Discovery

System.DirectoryServicesSystem.DirectoryServices

System.RemotingSystem.Remoting

System.Runtime.RemotingSystem.Runtime.Remoting

ActiveDirectoryActiveDirectory

UddiUddi

System.Web.ServicesSystem.Web.Services

Web.ServiceWeb.Service

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

System.MessageBusSystem.MessageBus

TransportTransport

PortPort

ChannelChannel

ServiceService

QueueQueue

PubSubPubSub

RouterRouter

System.TimersSystem.Timers

System.GlobalizationSystem.Globalization

System.SerializationSystem.Serialization

System.ThreadingSystem.Threading

System.TextSystem.Text

System.DesignSystem.Design

Base & Application Services

Fundamentals

System.ComponentModelSystem.ComponentModel

System.CodeDomSystem.CodeDom

System.ReflectionSystem.Reflection

System.EnterpriseServicesSystem.EnterpriseServices

System.TransactionsSystem.Transactions

Security

System.Windows.TrustManagementSystem.Windows.TrustManagement

System.Web.SecuritySystem.Web.Security

System.MessageBus.SecuritySystem.MessageBus.Security

AuthorizationAuthorization

AccessControlAccessControl

CredentialsCredentials

CryptographyCryptography

System.Web.ConfigurationSystem.Web.Configuration

System.MessageBus.ConfigurationSystem.MessageBus.Configuration

System.ConfigurationSystem.Configuration

System.ResourcesSystem.ResourcesSystem.ManagementSystem.Management

System.DeploymentSystem.Deployment

System.DiagnosticsSystem.Diagnostics

Configuration Deployment/Management

System.WindowsSystem.Windows System.WindowsSystem.WindowsSystem.Windows.FormsSystem.Windows.Forms

System.ConsoleSystem.Console

System.ServiceProcessSystem.ServiceProcess

System.Windows.FormsSystem.Windows.Forms System.WebSystem.Web System.StorageSystem.Storage System.Data.SqlServ

erSystem.Data.SqlServer

AnimationAnimation

ControlsControls

ControlControl

DesignDesign

PanelPanel

ControlsControls

DialogsDialogs

SideBarSideBar

NotificationNotification

System.WindowsSystem.Windows

DocumentsDocuments

Text ElementText Element

ShapesShapes

ShapeShape

InkInk

UI ElementUI Element ExplorerExplorer MediaMedia

System.Windows.FormsSystem.Windows.Forms

FormsForms

ControlControl

Print DialogPrint Dialog

DesignDesign

System.Web.UISystem.Web.UI

PagePage

ControlControl

HtmlControlsHtmlControls

MobileControlsMobileControls

WebControlsWebControls

AdaptorsAdaptors

DesignDesign

PortsPorts

InteropServicesInteropServices

System.RuntimeSystem.Runtime

System.IOSystem.IO

System.CollectionsSystem.Collections

GenericGeneric

System.SearchSystem.Search

AnnotationsAnnotations

MonitoringMonitoring

LoggingLogging

RelevanceRelevance

System.DataSystem.Data

SqlClientSqlClient

SqlTypesSqlTypes

SqlXMLSqlXML

OdbcClientOdbcClient

OleDbClientOleDbClient

OracleClientOracleClient

CoreCore

ContactContact

LocationLocation

MessageMessage

DocumentDocument

EventEvent

System.StorageSystem.Storage

System.WebSystem.Web

PersonalizationPersonalization

CachingCaching

SessionStateSessionState

System.XmlSystem.Xml

SchemaSchema

SerializationSerialization

XpathXpath

QueryQuery

PermissionsPermissions

PolicyPolicy

PrincipalPrincipal

TokenToken

System.SecuritySystem.Security

System.CollaborationSystem.Collaboration

RealTimeEndpointRealTimeEndpoint

TransientDataSessionTransientDataSession

SignalingSessionSignalingSession

MediaMedia

ActivitiesActivities

HttpWebRequestHttpWebRequest

FtpWebListenerFtpWebListener

SslClientStreamSslClientStream

WebClientWebClient

System.NetSystem.Net

NetworkInformationNetworkInformation

SocketsSockets

CacheCache

System.WebSystem.Web

AdministrationAdministration

ManagementManagement

NavigationNavigation

Peer GroupPeer Group

PolicyPolicy

SerializationSerialization

CompilerServicesCompilerServices

RecognitionRecognition

System.SpeechSystem.Speech

SynthesisSynthesis

System.HelpSystem.Help

Presentation

System.DrawingSystem.Drawing

System.NaturalLanguageServicesSystem.NaturalLanguageServices

AnimationAnimation

ControlsControls

ControlControl

DesignDesign

PanelPanel

ControlsControls

DialogsDialogs

SideBarSideBar

NotificationNotification

System.WindowsSystem.Windows

DocumentsDocuments

Text ElementText Element

ShapesShapes

ShapeShape

InkInk

UI ElementUI Element ExplorerExplorer MediaMedia

System.Windows.FormsSystem.Windows.Forms

FormsForms

ControlControl

Print DialogPrint Dialog

DesignDesign

System.Web.UISystem.Web.UI

PagePage

ControlControl

HtmlControlsHtmlControls

MobileControlsMobileControls

WebControlsWebControls

AdaptorsAdaptors

DesignDesign

NavigationNavigation

RecognitionRecognition

System.SpeechSystem.Speech

SynthesisSynthesis

Page 5: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

5

Assistance Escalation PathAssistance Escalation Path

Well-Well-designed designed

app UIapp UI

Your Your product product support support centercenter

User User communitcommunit

yy

Help Pane Help Pane and and Help Help

CenterCenter

Assistance Assistance directly in directly in

app UIapp UI

Page 6: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

6

“Longhorn” Assistance Model “Longhorn” Assistance Model

No context: “Safety net”

Directly in application

UX

In application context

Page 7: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

7

“Longhorn” Assistance Model “Longhorn” Assistance Model

Page 8: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

8

“Longhorn” Assistance Model “Longhorn” Assistance Model

Page 9: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

9

“Longhorn” Assistance Model “Longhorn” Assistance Model

Page 10: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

10

Windows “Longhorn” Help Experience

Shane McRobertsGroup Program ManagerMicrosoft Help

Page 11: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

11

New: Active ContentNew: Active Content

Focus on user tasks rather than documenting featuresTasks can launch UI (via ShellExecute)Content adapts to user/machine state

User is on a domainUser is an administratorA printer is connected

Focus on user tasks rather than documenting featuresTasks can launch UI (via ShellExecute)Content adapts to user/machine state

User is on a domainUser is an administratorA printer is connected

Page 12: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

12

XP: User Must DecideXP: User Must Decide

Page 13: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

13

“Longhorn” Help Knows State“Longhorn” Help Knows State

Page 14: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

14

Assistance in ApplicationsAssistance in Applications

Identify user goals and tasksConsider adding assistance to UIDocument/implement tasksUse System.Help.Pane API to invoke tasksSurface search in your user interfaceDistribute Help with your application

Identify user goals and tasksConsider adding assistance to UIDocument/implement tasksUse System.Help.Pane API to invoke tasksSurface search in your user interfaceDistribute Help with your application

Page 15: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

15

Programming The Help PaneProgramming The Help Pane

Instantiate System.Help.PaneInitialize session with session file

Content collection scopingBranding information (icon, title, etc.)

Display Navigate to topicShow TOCNavigate to taskEtc.

Instantiate System.Help.PaneInitialize session with session file

Content collection scopingBranding information (icon, title, etc.)

Display Navigate to topicShow TOCNavigate to taskEtc.

Page 16: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

16

Pane, Canvas, TilePane, Canvas, Tile

Help PaneTitle/control bar

Header tile area Help Canvas area

Body tile area

Footer tile area

Page 17: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

17

Help Pane ProxiesHelp Pane Proxies

Proxy

Proxy

SessionSession

Page 18: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

18

Programming The Help Pane

Shane McRobertsGroup Program ManagerMicrosoft Help

Page 19: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

19

Programming The Help PaneProgramming The Help Pane// Create a Help Pane Proxy Object // (session filename is currently ignored)System.Help.Pane pane = new

System.Help.Pane(“session”); …// Display a Help topicpane.DisplayTopicFromUri(myTopicUri); …// Display the table of contents for this collection pane.DisplayContents(); …// Display search results for a query pane.DisplaySearchResults(“install printer”);

// Create a Help Pane Proxy Object // (session filename is currently ignored)System.Help.Pane pane = new

System.Help.Pane(“session”); …// Display a Help topicpane.DisplayTopicFromUri(myTopicUri); …// Display the table of contents for this collection pane.DisplayContents(); …// Display search results for a query pane.DisplaySearchResults(“install printer”);

Page 20: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

20

Help Authoring TodayHelp Authoring Today

Authors define content and presentationPresentation biased to particular viewerInteractivity biased to particular viewerSecurity, accessibility, extensibility require custom work for each viewerPresentation decided at/before build timeHard to take advantage of new capabilities

Authors define content and presentationPresentation biased to particular viewerInteractivity biased to particular viewerSecurity, accessibility, extensibility require custom work for each viewerPresentation decided at/before build timeHard to take advantage of new capabilities

Page 21: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

21

Focus On SemanticsFocus On Semantics

Authors focus on solving user problemsAuthors define content and its attributesContent is presentation-independentContent is transformed before viewing

Presentation decided at transform timeInteractivity based on viewer capabilitiesSecurity, accessibility, extensibility improved

Easier to leverage new capabilities

Authors focus on solving user problemsAuthors define content and its attributesContent is presentation-independentContent is transformed before viewing

Presentation decided at transform timeInteractivity based on viewer capabilitiesSecurity, accessibility, extensibility improved

Easier to leverage new capabilities

Page 22: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

22

Structured AuthoringStructured Authoring

XML schema for assistance: MAMLMicrosoft Assistance Markup LanguageExample: No <b> elementExample: No <popup> element

Some common transformationsMAML -> HTML is “lossy”HTML -> MAML is difficultXML -> MAML is relatively easy

New tools planned by Help Authoring Tool vendors

XML schema for assistance: MAMLMicrosoft Assistance Markup LanguageExample: No <b> elementExample: No <popup> element

Some common transformationsMAML -> HTML is “lossy”HTML -> MAML is difficultXML -> MAML is relatively easy

New tools planned by Help Authoring Tool vendors

Page 23: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

23

Topics And Tasks Topics And Tasks

PDCTopics are Help content files (MAML files)Task definitions declare tasksTask implementations associate tasks/topics

Later versionsSimplified task modelTasks are Help content files (MAML files)Taskdata file declares task metadata and associates task MAML files

PDCTopics are Help content files (MAML files)Task definitions declare tasksTask implementations associate tasks/topics

Later versionsSimplified task modelTasks are Help content files (MAML files)Taskdata file declares task metadata and associates task MAML files

Page 24: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

24

Help Source Files – PDCHelp Source Files – PDC

Packing list: .PackingList fileList of topics (.xml), taskdata, and resources

Help file, topic metadata: HelpMD fileDefines product, bundleSpecifies topic titles

Task/topic-specific metadata: TaskDef fileTask ID, title, index keywords

Task/topic implementation: TaskImp fileMaps Task ID to Topic URL

Topics: .xml file (in MAML format)

Packing list: .PackingList fileList of topics (.xml), taskdata, and resources

Help file, topic metadata: HelpMD fileDefines product, bundleSpecifies topic titles

Task/topic-specific metadata: TaskDef fileTask ID, title, index keywords

Task/topic implementation: TaskImp fileMaps Task ID to Topic URL

Topics: .xml file (in MAML format)

Page 25: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

25

Help Source Files – LaterHelp Source Files – Later

Packing list: .PackingList fileList of topics (.xml), taskdata, and resources

Task metadata - .taskdata fileList of tasks, with titles and collection infoTask attributes such as keywordsTask categories (TOC data)ContentSet (collection) data

Topic/task implementation: .xml fileIn MAML format

Packing list: .PackingList fileList of topics (.xml), taskdata, and resources

Task metadata - .taskdata fileList of tasks, with titles and collection infoTask attributes such as keywordsTask categories (TOC data)ContentSet (collection) data

Topic/task implementation: .xml fileIn MAML format

Page 26: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

26

Building A Help File

Shane McRobertsGroup Program ManagerMicrosoft Help

Page 27: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

27

Kicking The TiresKicking The Tires

See documentation in “Longhorn” SDK

From Welcome page, click “’Longhorn’ Help System’” (under Technology Roadmap)

http://msdn.microsoft.com/longhornhttp://go.microsoft.com/fwlink/?LinkId=20559

See documentation in “Longhorn” SDK

From Welcome page, click “’Longhorn’ Help System’” (under Technology Roadmap)

http://msdn.microsoft.com/longhornhttp://go.microsoft.com/fwlink/?LinkId=20559

Page 28: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

28

Continuous PublishingContinuous Publishing

Authoring follows newsroom modelAuthoring is driven by user dataUpdates are easy to distributeSize of update is proportional to changePublishing to Web is simplifiedWeb/client integration is enabled

Authoring follows newsroom modelAuthoring is driven by user dataUpdates are easy to distributeSize of update is proportional to changePublishing to Web is simplifiedWeb/client integration is enabled

Page 29: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

29

Vendor SupportVendor SupportAnnouncing support today from...Announcing support today from...

Page 30: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

30

SummarySummary

Assistance is integrated into “Longhorn” and “Longhorn” applicationsIt’s easy to add Help to “Longhorn” smart connected applicationsIncreased supportabilityreduced costs“Longhorn” Help is designed for all appsSystem.Help.Pane is the current API

Assistance is integrated into “Longhorn” and “Longhorn” applicationsIt’s easy to add Help to “Longhorn” smart connected applicationsIncreased supportabilityreduced costs“Longhorn” Help is designed for all appsSystem.Help.Pane is the current API

Page 31: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

31

Community ResourcesGet your questions answered!Community ResourcesGet your questions answered!

Newsgroupmicrosoft.public.windows.developer.winfx.general

Longhorn DevCenter:http://msdn.microsoft.com/longhorn

Client Lounge: middle of the Exhibit Hallconnect with Microsoft client product teams, and PDC 2003 Speakers (including me)

Ask The ExpertsTuesday 7 pm – 9 pm in Hall G,H

Ask the Help [email protected]

Newsgroupmicrosoft.public.windows.developer.winfx.general

Longhorn DevCenter:http://msdn.microsoft.com/longhorn

Client Lounge: middle of the Exhibit Hallconnect with Microsoft client product teams, and PDC 2003 Speakers (including me)

Ask The ExpertsTuesday 7 pm – 9 pm in Hall G,H

Ask the Help [email protected]

Page 32: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft

32© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 33: 1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation shanemc@microsoft.com Shane McRoberts Group Program Manager Microsoft