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

Bug 356221

Summary: Context sensitive help flashes topic not found, then finds topic
Product: [Eclipse Project] Platform Reporter: Ruth Stento <ruth>
Component: User AssistanceAssignee: platform-ua-inbox <platform-ua-inbox>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: cgold
Version: 3.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
screen shot of problem, this is the first screen that appears
none
Now the help appears, I didn't touch anything between screen shots none

Description Ruth Stento CLA 2011-08-30 11:50:37 EDT
Build Identifier:  I20100608-0911

Our product just upgraded to Eclipse Version: 3.6.0.v20100602-9gF78GpqFt6trOGhL60z0oEx3fz-JKNwxPY
Build id: I20100608-0911

The help system base is:
Version: 1.2.0.v20100427-7e7jEKFEx2XlnZinYPtgz03
Build id: I20100608-0911

The most annoying thing is happening with context-sensitive help that worked fine when we were using an earlier version of Eclipse. It only seems to be occurring with context IDs where we are supplying content to eclipse views and editors. For the main editor window, for example, this is how I supply help:

1) The plugin.xml file ties my ui_contexts.xml file to org.eclipse.ui, note line 3 in the contexts extension point: 
<extension point="org.eclipse.help.contexts">
    <contexts file="contexts.xml" plugin="com.progress.dataxtend.si.help" />
    <contexts file="ui_contexts.xml" plugin="org.eclipse.ui" />
    <contexts file="navigator_contexts.xml" plugin="org.eclipse.ui.navigator" />
    <contexts file="compare_contexts.xml" plugin="org.eclipse.compare" />
  </extension>

2) My ui_contexts.xml file contains the following two links that should be shown for F1 help:

<context id="workbench_window_context">
    <description>Exchange Model Editor</description>
    <topic label="Exchange Model Editor" href="/com.progress.dataxtend.si.help/GettingStarted/WorkbenchTour.09.05.html" />
    <topic label="Importing and exporting schemas and models" href="/com.progress.dataxtend.si.help/Using/importing.html" />
 </context>

3) The problem is that when you press F1, the links do show up, but when you follow a link, I get two buggy behaviors:

A) For the first link, the content flashes in the help window, then, the message about a topic not being found appears.

B) For the second link, the opposite happens, first a message flashes about the topic not being found, then the help displays correctly. 

I would like to attached screen shots that illustrate problem B, but I don't see a way to add an attachment, maybe after I submit?

Reproducible: Always

Steps to Reproduce:
1.I would have to provide my help plugin and it's quite large. Plus, I don't see a way to attach anything?
2.
3.
Comment 1 Ruth Stento CLA 2011-08-30 11:51:50 EDT
Created attachment 202431 [details]
screen shot of problem, this is the first screen that appears
Comment 2 Ruth Stento CLA 2011-08-30 11:52:41 EDT
Created attachment 202432 [details]
Now the help appears, I didn't touch anything between screen shots
Comment 3 Ruth Stento CLA 2011-08-31 14:03:29 EDT
I found the problem. Instead of creating separate contexts files, I just needed to add the following declarations to my own contexts file in plugin.xml:

<contexts file="contexts.xml" plugin="org.eclipse.ui" />
<contexts file="contexts.xml" plugin="org.eclipse.compare" />

Although my previous method worked pre-Eclipse 3.6, I have to do it this way now. It would be really nice if the documentation on user assistance explained this clearly and provided an example. It would have saved me 3 days of debugging.
Comment 4 Chris Goldthorpe CLA 2011-08-31 14:09:09 EDT
I was just looking at this bug report and was about to comment that I had no idea why this was happening. I'm glad that you have a solution. I've changed the resolution to INVALID, since FIXED implies a fix in the source code.