Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 353140

Summary: [Help] Handle situation where documentation is not installed
Product: [Eclipse Project] Platform Reporter: Chris Goldthorpe <cgold>
Component: User AssistanceAssignee: Chris Goldthorpe <cgold>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.7   
Target Milestone: 3.8 M3   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
Patch for first part of this work
none
Patch version 2
none
Patch version 3 none

Description Chris Goldthorpe CLA 2011-07-26 13:11:14 EDT
There are plans to take the documentation out of the SDK download and make it a separate download. Other products will probably have similar requirements. This is a request to gracefully handle situations where  documentation is not installed. This would cover all of the ways in which help could be launched including Help/Help Contents, Help/Search, Open Intro link, open cheat sheet link, press the '?' button on a dialog.

Whatever mechanism is created it should be flexible enough to support any product or component which has missing documentation. Since the directions for how to get documentation will vary from one product to another the most general solution will present to the user a Web page defined by the product which describes how to install the missing documentation.
Comment 1 Chris Goldthorpe CLA 2011-07-26 19:07:15 EDT
Here is my current thinking on this:

There are various different kinds of UA content that this bug could apply to, these are help content, cheat sheets, intro content and context help. If Intro content is not installed I don't see a lot of value in asking the user to install it. Missing help and context help content both need to be handled in a way that gives the user an easy path to installing them. Cheat Sheets I'm not so sure about at this stage so I'll limit the discussion to Help and Context Help.

Any mechanism will involve an extension point which associates a book or topic in the documentation with either a page to show or and action to perform if the user tries to opens help and that book/topic is not installed. For example plug-in org.eclipse.pde.ui may use the extension point to define that if pde.doc.ui is not installed a page should be shown describing how to install using the update manager. The next paragraph discusses how the user will get feedback about the missing book/topics.

There are several entry points to the help system. These are Help/Help Contents, Help/Search, Help/Index ( if visible ), clicking on links from intro or a cheat sheet and context help. Here is what I think the user would like to see happen in each of these cases.

Help/Help Contents
If no help is installed the home page should indicate that there is help available and how to install it. If some but not all books are is installed we should still show the missing books but the missing books will only contain a single page which indicates how to install help.

Help/Search 
Before performing a search the user would like to know that there are missing books, what those books are and how to install them. Help/Index has similar considerations to Help/Search.

Open Help topic from intro, cheat sheet or from hyperlink.
A page should be presented describing the missing book and how to install it.

Context Help
If the user presses F1 and the help system is passed a context Id which cannot be found the help system displays a message based on the plug-in name part of the context describing how to install the help content.
Comment 2 Chris Goldthorpe CLA 2011-07-28 16:46:45 EDT
Created attachment 200556 [details]
Patch for first part of this work

I have completed part of this work. This patch adds an extension point which allows the user to specify an error page to be shown when a link in a specific book cannot be opened, this can be used to show information on how to install that book.

I still need to show a message when the search view, table of contents, index or context help is shown and there are missing help documents. I think that the same format could be used for each of these cases, maybe a hyperlink at the top of the view which says "More documentation is available." When clicked the link would take you to a page showing how to install that documentation.
Comment 3 Chris Goldthorpe CLA 2011-09-19 12:52:24 EDT
Created attachment 203616 [details]
Patch version 2

This patch contains the extension point to register a placeholder. It also includes the code to generate a missing content page in the webapp and a link to the missing content page in the help view. It has been integrated with the remote help unavailable code.

Chris A, can you install the patch and verify that handling of remote help unavailable is working at least as well as it was before.
Comment 4 Chris Goldthorpe CLA 2011-09-21 14:36:36 EDT
Created attachment 203799 [details]
Patch version 3
Comment 5 Chris Goldthorpe CLA 2011-09-21 14:37:55 EDT
Patch version 3 committed to master, Fixed.