#29 — KSS vs Internet Explorer SP3
State | In progress |
---|---|
Release: | 1.2 (Zope 2.10) |
Area | Browser incompatibility |
Issue type | Bug |
Severity | Important |
Submitted by | (anonymous) |
Submitted on | 2008-08-07 |
Responsible | Balazs Ree |
Target release: |
—
|
Last modified on
2009-01-12
by
Balazs Ree
we tested it on and IE:
6.0.2900.5512.xpsp.080413-2111
SP3
It seems that KSS does not work with that IE configuation.
Any javascript error (apparently) occurs: no popups, no messages, anything.
6.0.2900.5512.xpsp.080413-2111
SP3
It seems that KSS does not work with that IE configuation.
Any javascript error (apparently) occurs: no popups, no messages, anything.
- Steps to reproduce:
- - create a plone site
- enter the front-page
- login using the admin user
- you don't see the selection when you pass the mouse over the title, the body etc.
- click on title (nothing appears)
- click on the << or >> buttons in the calendar (nothing changes)
Added by
Balazs Ree
on
2008-08-07 18:15
Which Plone version do you use exactly?
Added by
(anonymous)
on
2008-08-07 19:45
the problem seems to be in the "this.processResult" function in serveraction.js.
the dom is always null:
- dom = domDoc.responseXML; (line 167)
- var payload = domDoc.getResponseHeader('X-KSSCOMMANDS'); (line 179)
- var payload = domDoc.getResponseHeader('X-KSSCOMMANDS'); (line 198)
then he enters the 'else' at line 212
Actually I have no ideas how to fix it.
the dom is always null:
- dom = domDoc.responseXML; (line 167)
- var payload = domDoc.getResponseHeader('X-KSSCOMMANDS'); (line 179)
- var payload = domDoc.getResponseHeader('X-KSSCOMMANDS'); (line 198)
then he enters the 'else' at line 212
Actually I have no ideas how to fix it.
Added by
(anonymous)
on
2008-08-08 11:40
Plone Version Overview
* Plone 3.1.4
* CMF 2.1.1
* Zope (Zope 2.10.6-final, python 2.4.4, darwin)
* Python 2.4.4 (#1, Feb 21 2008, 21:15:12) [GCC 4.0.1 (Apple Computer, Inc. build 5250)]
* PIL 1.1.6
* Plone 3.1.4
* CMF 2.1.1
* Zope (Zope 2.10.6-final, python 2.4.4, darwin)
* Python 2.4.4 (#1, Feb 21 2008, 21:15:12) [GCC 4.0.1 (Apple Computer, Inc. build 5250)]
* PIL 1.1.6
Added by
Massimo Azzolini
on
2008-09-05 21:26
we fixed it. or better keul did the job!
we inserted a custom managing for IE6 sp3.
I'm not sure you like our implementation (and I also don't have an account for the svn :) so here you are just the diff.
please fix it.
thanks
168,186d177
<
<
< // *** fix for IE6 SP3 ***
< if (commandstags.length == 0) {
< dom = function(text) {
< var doc;
< if (window.ActiveXObject) {
< doc = new ActiveXObject("Microsoft.XMLDOM");
< doc.async = false;
< doc.loadXML(text);
< } else
< doc = (new DOMParser()).parseFromString(text, "application/xml");
< return doc;
< }(domDoc.responseText);
< commandstags = kukit.dom.getNsTags(dom, 'commands');
< }
< // *** end fix ***
we inserted a custom managing for IE6 sp3.
I'm not sure you like our implementation (and I also don't have an account for the svn :) so here you are just the diff.
please fix it.
thanks
168,186d177
<
<
< // *** fix for IE6 SP3 ***
< if (commandstags.length == 0) {
< dom = function(text) {
< var doc;
< if (window.ActiveXObject) {
< doc = new ActiveXObject("Microsoft.XMLDOM");
< doc.async = false;
< doc.loadXML(text);
< } else
< doc = (new DOMParser()).parseFromString(text, "application/xml");
< return doc;
< }(domDoc.responseText);
< commandstags = kukit.dom.getNsTags(dom, 'commands');
< }
< // *** end fix ***
Added by
Massimo Azzolini
on
2008-09-05 21:27
to be clear.. we changed the serveraction.js where we previously thought the problem was.
Added by
Balazs Ree
on
2008-09-06 10:20
Responsible manager:
(UNASSIGNED) → ree
Hi,
I cannot seem to find the exact same IE version you use, for testing. The closest I found was 6.0.2500.0000.xpcht-qfe.021108-2107, this is earlier version then you specified, and this does not show the error. I will continue to get access to the specified browser, but meanwhile, please help me with the following.
It is essential to see how the browser is running with a vanilla kss installation, so please do this test:
- point your browser to http://demo.kssproject.org.
- Click on "Selenium tests"
- On the selenium page, click on the first "play" button in the top right frame
- Wait till it runs through the tests, and report how many tests have failed
(red lines)!
I also would like to ask: which OS are you on? I suppose this is Windows XP? Can you please tell the exact version of the OS?
Thanks in advance for this information!
Best wishes,
Balazs Ree
I cannot seem to find the exact same IE version you use, for testing. The closest I found was 6.0.2500.0000.xpcht-qfe.021108-2107, this is earlier version then you specified, and this does not show the error. I will continue to get access to the specified browser, but meanwhile, please help me with the following.
It is essential to see how the browser is running with a vanilla kss installation, so please do this test:
- point your browser to http://demo.kssproject.org.
- Click on "Selenium tests"
- On the selenium page, click on the first "play" button in the top right frame
- Wait till it runs through the tests, and report how many tests have failed
(red lines)!
I also would like to ask: which OS are you on? I suppose this is Windows XP? Can you please tell the exact version of the OS?
Thanks in advance for this information!
Best wishes,
Balazs Ree
Added by
Cris Ewing
on
2008-11-25 03:40
Balazs,
I can confirm that this version of IE 6 does not work with KSS. Here's what I've found.
Plone Version: 3.1.7
KSS Core version: 1.4.3 Released 2008-08-18
KSS Demo version: 1.4.3 Released 2008-08-18
IE versions tested:
IE 6.0.2900.2180.xpsp_sp2_qfe.080814-1242 on Windows XP Professional (build 2600.xpsp_sp2_qfe.080814-1242 Service Pack 2)
IE 6.0.2900.5512.xpsp.080413-2111 on Windows XP Professional (build 2600.xpsp.080413-2111 Service Pack 3)
I got the second version of IE, which appears to match exactly the one from the original post, from the MS download center in a virtual hard disk image built for MS Virtual PC. Here's the link I followed:
http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&DisplayLang=en
In either of those versions I am getting exactly the same results as described. I see no errors, get no result from any KSS command, including the built-in commands like the calendar update command.
I have also spent some time in wireshark before finding this post, and can confirm that traffic between the server and client looks the same for a given kss command in both the above versions of IE (which do not work) and in IE 7, which does work in every instance I've tried so far.
I'm about to try the patch supplied above. I'll let you know if that works, but for now, you've got two reports confirming the problem.
Thanks
Cris
I can confirm that this version of IE 6 does not work with KSS. Here's what I've found.
Plone Version: 3.1.7
KSS Core version: 1.4.3 Released 2008-08-18
KSS Demo version: 1.4.3 Released 2008-08-18
IE versions tested:
IE 6.0.2900.2180.xpsp_sp2_qfe.080814-1242 on Windows XP Professional (build 2600.xpsp_sp2_qfe.080814-1242 Service Pack 2)
IE 6.0.2900.5512.xpsp.080413-2111 on Windows XP Professional (build 2600.xpsp.080413-2111 Service Pack 3)
I got the second version of IE, which appears to match exactly the one from the original post, from the MS download center in a virtual hard disk image built for MS Virtual PC. Here's the link I followed:
http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&DisplayLang=en
In either of those versions I am getting exactly the same results as described. I see no errors, get no result from any KSS command, including the built-in commands like the calendar update command.
I have also spent some time in wireshark before finding this post, and can confirm that traffic between the server and client looks the same for a given kss command in both the above versions of IE (which do not work) and in IE 7, which does work in every instance I've tried so far.
I'm about to try the patch supplied above. I'll let you know if that works, but for now, you've got two reports confirming the problem.
Thanks
Cris
Added by
Cris Ewing
on
2008-11-25 04:01
I've attempted to use the patch provided, and it works at least partially. I'm going to have to go home for the evening, but I'll try more tomorrow and see if I can figure out more.
Cris
Cris
Added by
Balazs Ree
on
2008-11-25 08:28
Hi!
Can you, please, take the exact browser you are testing with, point to http://demo.kssproject.org, and run the selenium tests, then report the results?
Why is this important? Because if demo.kssproject.org works, and your setup fails, then it is a problem with your setup. If demo.kssproject.org fails too, then it's a problem with kss. I am very surprised to see IE6 failing in this case, since IE6's operation is based on sarissa.js's cross browser compatibility layer, and afaik sarissa.js works on all IE versions.
I am willing to fix this issue asap you help me reproduce it. To move on, I really need to see the demo.kssproject.org results first.
p.s. demo.kssproject.org runs kss version 1.4.
Can you, please, take the exact browser you are testing with, point to http://demo.kssproject.org, and run the selenium tests, then report the results?
Why is this important? Because if demo.kssproject.org works, and your setup fails, then it is a problem with your setup. If demo.kssproject.org fails too, then it's a problem with kss. I am very surprised to see IE6 failing in this case, since IE6's operation is based on sarissa.js's cross browser compatibility layer, and afaik sarissa.js works on all IE versions.
I am willing to fix this issue asap you help me reproduce it. To move on, I really need to see the demo.kssproject.org results first.
p.s. demo.kssproject.org runs kss version 1.4.
Added by
Cris Ewing
on
2008-11-25 08:40
Balazs,
I will happily do this first thing in the morning. I apologize for not being able to do it before I made this first post. I did run the selenium tests this afternoon, and remember there being failures, but I did not record any of the results before moving on.
I provided the link to the microsoft download center so that you could set up and run a test on your own as well. I know that for me, it is much easier to debug a problem like this when I can see the failures myself. It turns out that if you have a windows machine available, you can download MS Virtual PC for free and load one of the pre-built images at the link I sent in the previous post (also free). It sets up a nifty little virtual machine that has a clean install of the exact version of IE mentioned in the original post in the exact version of MS Windows XP also mentioned.
However, as I say, I will run the selenium suite again tomorrow and let you know what comes of it.
Cris
I will happily do this first thing in the morning. I apologize for not being able to do it before I made this first post. I did run the selenium tests this afternoon, and remember there being failures, but I did not record any of the results before moving on.
I provided the link to the microsoft download center so that you could set up and run a test on your own as well. I know that for me, it is much easier to debug a problem like this when I can see the failures myself. It turns out that if you have a windows machine available, you can download MS Virtual PC for free and load one of the pre-built images at the link I sent in the previous post (also free). It sets up a nifty little virtual machine that has a clean install of the exact version of IE mentioned in the original post in the exact version of MS Windows XP also mentioned.
However, as I say, I will run the selenium suite again tomorrow and let you know what comes of it.
Cris
Added by
Cris Ewing
on
2008-11-25 22:15
Balazs,
I've run the tests as requested. Here are the results:
Tests Run: 60
Tests Failed: 40
Commands Passed: 179
Commands Failed: 72
Commands Incomplete: 33
List of Failed Tests:
Development Mode:
kss form submit multiprop
pf Forms
Actions
Autoupdate
Basic Commands
Ca Cancel
Ca Focus
Ca Kssattr
Error Handling
Form Submit
Html Inserts
Inline Edit
More Selectors
Protocol
Two Select Revisited
Two Selects
Typewriter
Kss Url Param Multiprop
Urlparam
Production Mode:
Kss Form Submit Multiprop
Pf Forms
Actions
Autopupdate
Basic Commands
Ca Cancel
Ca Focus
Ca Kssattr
Cancel Submit
Form Submit
Html Inserts
Inline Edit
More Selectors
Preventdefault
Protocol
Two Select Revisited
Two Selects
Typewriter
Kss Url Param Multiprop
Urlparam
These results are consistent across both of the browser versions I mentioned in my post above.
Cris
I've run the tests as requested. Here are the results:
Tests Run: 60
Tests Failed: 40
Commands Passed: 179
Commands Failed: 72
Commands Incomplete: 33
List of Failed Tests:
Development Mode:
kss form submit multiprop
pf Forms
Actions
Autoupdate
Basic Commands
Ca Cancel
Ca Focus
Ca Kssattr
Error Handling
Form Submit
Html Inserts
Inline Edit
More Selectors
Protocol
Two Select Revisited
Two Selects
Typewriter
Kss Url Param Multiprop
Urlparam
Production Mode:
Kss Form Submit Multiprop
Pf Forms
Actions
Autopupdate
Basic Commands
Ca Cancel
Ca Focus
Ca Kssattr
Cancel Submit
Form Submit
Html Inserts
Inline Edit
More Selectors
Preventdefault
Protocol
Two Select Revisited
Two Selects
Typewriter
Kss Url Param Multiprop
Urlparam
These results are consistent across both of the browser versions I mentioned in my post above.
Cris
Added by
Cris Ewing
on
2009-01-07 02:10
Not to pester or anything, but has there been any progress on this issue? I've done all I can to confirm it, and am waiting for some indication that it has been acted on.
Thanks
Cris
Thanks
Cris
Added by
Godefroid Chapelle
on
2009-01-07 13:58
Issue state:
unconfirmed → open
Cris, I first want to state that I feel a bit offended by the tone of your last comment.
I'd like to recall that people that work on that stuff are doing it or as a hobby or as an investment.
Iow,
1 - they can decide where they put action,
2 - you can hint them by, among others, proposing money.
In one of your posts you mentioned the following :
"I've attempted to use the patch provided, and it works at least partially."
Could you describe what that means ?
I'd like to recall that people that work on that stuff are doing it or as a hobby or as an investment.
Iow,
1 - they can decide where they put action,
2 - you can hint them by, among others, proposing money.
In one of your posts you mentioned the following :
"I've attempted to use the patch provided, and it works at least partially."
Could you describe what that means ?
Added by
Balazs Ree
on
2009-01-07 14:42
It's really my fault that I ignored to solve this issue so long.
The reason (besides Christmas time) why I did not deal with this is the following.
All versions of IE, including the reported one, do work with kss in the setups that I am able to create. Kss is also used in production websites and no users report any problem with IE on these sites.
The nature of the problem also indicates that this is not actually a kss issue. We don't handle this issue from kss at all, instead we reuse sarissa.js for doing the XMLHttpRequest on IE. Likely the problem is between the sarissa.js version loaded in the page and the browser.
Any patches I have seen so far to cure these problems, are trying to "fix" kss in a way that it circumvents sarissa.js completely and provide a private version of XMLHttpRequest that works on IE. The proper solution however would be to figure out why sarissa.js does not work (if this is the case), and fix it, preferably in sarissa if it's indeed sarissa's fault (which, telling the truth, is hard to believe but it's possible after all). There has been, however, no steps that indicate this direction, from the reporters of the bug. I myself can not do too much as none of the IE instances I tried so far showed the bug.
The only sensible solution I see for the problem: seeing that sarissa.js seems to cause the headache by failing with kss and IE in some configurations, we should decide that instead of fixing sarissa.js we get rid of it as a dependency. In this case the suggested fixes make sense but than there is more testing and work ahead (test not only IE6 and IE7 but all supported browsers, and test if all other functionality, previously provided by sarissa.js, also does work).
However while I am welcoming this direction, I also must say that if we take this direction than this change (getting rid of sarissa.js) should come to kss trunk / 1.5, but likely not get into 1.4. So for 1.4 the only good direction would be to find why sarissa.js fails, and if it really does fail solve the problem in sarissa. Solutions in the "implement XMLHttpRequest on IE to avoid using sarissa" category don't tell us why sarissa fails.
I will give some time to this issue soon, meanwhile if any of you gets additional information please post on this thread.
The reason (besides Christmas time) why I did not deal with this is the following.
All versions of IE, including the reported one, do work with kss in the setups that I am able to create. Kss is also used in production websites and no users report any problem with IE on these sites.
The nature of the problem also indicates that this is not actually a kss issue. We don't handle this issue from kss at all, instead we reuse sarissa.js for doing the XMLHttpRequest on IE. Likely the problem is between the sarissa.js version loaded in the page and the browser.
Any patches I have seen so far to cure these problems, are trying to "fix" kss in a way that it circumvents sarissa.js completely and provide a private version of XMLHttpRequest that works on IE. The proper solution however would be to figure out why sarissa.js does not work (if this is the case), and fix it, preferably in sarissa if it's indeed sarissa's fault (which, telling the truth, is hard to believe but it's possible after all). There has been, however, no steps that indicate this direction, from the reporters of the bug. I myself can not do too much as none of the IE instances I tried so far showed the bug.
The only sensible solution I see for the problem: seeing that sarissa.js seems to cause the headache by failing with kss and IE in some configurations, we should decide that instead of fixing sarissa.js we get rid of it as a dependency. In this case the suggested fixes make sense but than there is more testing and work ahead (test not only IE6 and IE7 but all supported browsers, and test if all other functionality, previously provided by sarissa.js, also does work).
However while I am welcoming this direction, I also must say that if we take this direction than this change (getting rid of sarissa.js) should come to kss trunk / 1.5, but likely not get into 1.4. So for 1.4 the only good direction would be to find why sarissa.js fails, and if it really does fail solve the problem in sarissa. Solutions in the "implement XMLHttpRequest on IE to avoid using sarissa" category don't tell us why sarissa fails.
I will give some time to this issue soon, meanwhile if any of you gets additional information please post on this thread.
Added by
Massimo Azzolini
on
2009-01-07 16:41
hi all,
generally, I'm completely agree with balazs: things should be done in the proper way. But right now we maybe just "let things work".
I know that the fix we proposed is faaaar away from The proper way to do it, but the actual kss release just dont work in that browser release.
So, imho, if the fix isn't so crappy (well, it's not so nice :) I'd put it in the current release and I'd fix it when I'll have time. I did't test it, but I think it will not bring lack of performance.
btw, actually just us and Cris had this problem so, maybe since it's a very uncommon situation, we can even fix it in our environments.
my 2 cent
thanks guys, hope to see you soon
massimo
generally, I'm completely agree with balazs: things should be done in the proper way. But right now we maybe just "let things work".
I know that the fix we proposed is faaaar away from The proper way to do it, but the actual kss release just dont work in that browser release.
So, imho, if the fix isn't so crappy (well, it's not so nice :) I'd put it in the current release and I'd fix it when I'll have time. I did't test it, but I think it will not bring lack of performance.
btw, actually just us and Cris had this problem so, maybe since it's a very uncommon situation, we can even fix it in our environments.
my 2 cent
thanks guys, hope to see you soon
massimo
Added by
Cris Ewing
on
2009-01-07 20:17
Godefroid, Balasz, et al
I apologize. I did not intend to offend. I was simply hoping to get some news as it had been a while since I'd managed to bump into Balasz on IRC. I do not mean to suggest that this should be any sort of priority. I do have it working for now. When I say that the solution is perhaps only partial, it simply means that I have not been able to prove that it doesn't break anything else in some other browser version that I can't test for.
Balasz, did you try out the virtual machine instance I pointed to? That is probably the most reliable way of seeing the issues. It just happens to coincide perfectly with a large suite of computers we have running that cannot be upgraded because of a contract with folks who make a software package for reading radiology tests installed on the same machines. For what it's worth, I've been unable to reproduce the problem outside that very specific test platform, but have gotten confirmation from several others that on that platform the bug does exist.
I agree that the problem really lies in Sarissa, since that is where the request object is created. If removing the dependancy on sarissa is the right thing to do, I'd be happy. Fewer moving parts is always easier.
However, the solution provided by Massimo does appear to be a good band-aid, and I'd like to see it patched in if that is at all possible. Perhaps it would be possible to create a branch with the patch in place so at least I could avoid overwriting the patch the next time I run buildout?
Again, I apologize for offending. I only intended to stir the pot to get some discussion moving, which appears to have worked. Thanks again for all the hard work you folks put into this terrific product.
Cris
I apologize. I did not intend to offend. I was simply hoping to get some news as it had been a while since I'd managed to bump into Balasz on IRC. I do not mean to suggest that this should be any sort of priority. I do have it working for now. When I say that the solution is perhaps only partial, it simply means that I have not been able to prove that it doesn't break anything else in some other browser version that I can't test for.
Balasz, did you try out the virtual machine instance I pointed to? That is probably the most reliable way of seeing the issues. It just happens to coincide perfectly with a large suite of computers we have running that cannot be upgraded because of a contract with folks who make a software package for reading radiology tests installed on the same machines. For what it's worth, I've been unable to reproduce the problem outside that very specific test platform, but have gotten confirmation from several others that on that platform the bug does exist.
I agree that the problem really lies in Sarissa, since that is where the request object is created. If removing the dependancy on sarissa is the right thing to do, I'd be happy. Fewer moving parts is always easier.
However, the solution provided by Massimo does appear to be a good band-aid, and I'd like to see it patched in if that is at all possible. Perhaps it would be possible to create a branch with the patch in place so at least I could avoid overwriting the patch the next time I run buildout?
Again, I apologize for offending. I only intended to stir the pot to get some discussion moving, which appears to have worked. Thanks again for all the hard work you folks put into this terrific product.
Cris
Added by
Balazs Ree
on
2009-01-12 15:22
Issue state:
open → in-progress
Severity:
Medium → Important