| Summary: | [Webapp] Eclipse infocenter not using or saving a search scope | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Tim Raff <timbugs99> | ||||||||||||||
| Component: | User Assistance | Assignee: | Chris Goldthorpe <cgold> | ||||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||||
| Severity: | normal | ||||||||||||||||
| Priority: | P2 | CC: | cgold | ||||||||||||||
| Version: | 4.1 | ||||||||||||||||
| Target Milestone: | 3.7 M7 | ||||||||||||||||
| Hardware: | All | ||||||||||||||||
| OS: | All | ||||||||||||||||
| Whiteboard: | |||||||||||||||||
| Attachments: |
|
||||||||||||||||
|
Description
Tim Raff
I can reproduce the problem although I don't yet know why it is happening. Seems to work fine when the infocenter is on a local machine. I think I know what is happening. The search scope is saved in a cookie which is written from the server. In Eclipse 3.6 ( Helios ) we started setting the path on the cookie so it could be read from the content servlet. It seems that the proxy is leaving the path on the cookie unchanged, so that a cookie is created with a path of /help but the context for help.eclipse.org is /helios, meaning that the client will not send the cookie back to the server. I'm guessing that the problem only occurs when the context paths on server and proxy are different. I guessing, but looking at the cookies I have, those that deal with the search scope are called:- /help/wset_contents1 and /help/wset_criteria1 both of which in the failing case (with one scope called scope1) have the following contents:- 6<scope1 In the successful (local) case the contents are:- wset_criteria1:- /help/13<scope1|scope1 wset-contents1:- /help/69<scope1|scope1&%2fcom.example.Enterprise%5f3%5f4%5f0.doc%2ftoc.xml (In reply to comment #3) > I guessing, but looking at the cookies I have, those that deal with the search > scope are called:- > /help/wset_contents1 and /help/wset_criteria1 > both of which in the failing case (with one scope called scope1) have the > following contents:- > 6<scope1 > > In the successful (local) case the contents are:- > wset_criteria1:- /help/13<scope1|scope1 > wset-contents1:- > /help/69<scope1|scope1&%2fcom.example.Enterprise%5f3%5f4%5f0.doc%2ftoc.xml Sorry, slightly messed up the contents in the successful case, should be :- In the successful (local) case the contents are:- /help/wset_criteria1:- 13<scope1|scope1 /help/wset-contents1:- 69<scope1|scope1&%2fcom.example.Enterprise%5f3%5f4%5f0.doc%2ftoc.xml Created attachment 191155 [details]
Patch version 1
Are you in a position to test out a patch? If so can you try this, it avoids the need to set the cookie path in most cases. If this works I will fix up the patch so that it always sets cookies without using a path.
Created attachment 191157 [details]
Patch version 2
I had attached an old version of the patch, this is the version that should fix the problem.
I afraid we're not in a position to test out a potential fix. The only infocenter we run in the failing environment is the production server for our customer documentation, which I don't think we can apply source patches to. Created attachment 191465 [details]
Patch version 3
I was able to test Patch version 3, I ended up using the class org.mortbay.servlet.ProxyServlet to create a servlet which acted as a proxy and separately started an infocenter using the context "/hlp" instead of "/help". Without the patch the scope is not saved because teh cookie path is incorrect, with the patch the scope is saved and everything works as expected. Created attachment 191530 [details]
Patch to Jetty Help Server to enable testing of this fix
Created attachment 191531 [details]
Test plug-in
Test project which creates a proxy server to read help.
Instructions for use:
1. Start an infocenter on port 8081
2. Launch A runtime workbench containing this plugin
3. Window/Show view/Help Proxy View
Help is opened through a proxy.
Patch version 3 and Patch to Jetty Help Server to enable testing of this fix have been committed to HEAD. Fixed Created attachment 191537 [details]
Patch to UA tests
This patch to the UA tests has also been committed to HEAD
Excellent work Chris, thanks for the prompt fix. Presumably now that it's in HEAD, the fix will be available in the next maintenance release of eclipse? (In reply to comment #13) > Created attachment 191537 [details] > Patch to UA tests > > This patch to the UA tests has also been committed to HEAD The fix will first show up in Eclipse 3.7. There are no more maintenance releases planned for Eclipse 3.6 |