Closed (won't fix)
Project:
Drupal core
Version:
7.x-dev
Component:
install system
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
6 Jun 2009 at 17:38 UTC
Updated:
15 Oct 2013 at 13:53 UTC
Jump to comment: Most recent file
Comments
Comment #1
webchickI'd rather this didn't go in system.js since iirc that's loaded on basically every page. If it's specific to the installer, let's put it in install.
However, I'm not really enthusiastic about fixing this in one place and not everywhere. Inconsistency creates a bad user experience as well.
I'm also a little nervous about this general approach, since I've seen this type of thing be very flaky and lock yourself out of doing anything if something unexpected happens after you click the button. Let's analyze what other websites are doing and make sure this approach hasn't fallen out of favour since I haven't seen it in quite awhile.
The solution needs some discussion from some JS-knowledgeable folks.
Comment #2
webchickComment #3
Bojhan commentedRight, well I see your point in applying it at other places. But I feel that only in the installer, it can cause real major problems? Just for the sake of the kittens. Especially as its mostly caused by the fact that the action behind this button is a bit slow, on many servers - other buttons shouldn't cause this as much.
In any file is oke, I just put it there since I didn't saw a installer.js.
It isn't applied in many sites (most actions don't require this), I know Basecamp does it.
Comment #4
webchickWell, the normal way we would do this is put the facility to provide "disabled buttons" in core, and then selectively apply it where it makes sense. For example, the installer, node/comment submit forms, the module page, etc. There are lots of places where Drupal takes longer than the average request, so I'm not sure I'm keen on a one-off hack to install.php. But let's see what others have to say.
Comment #5
Bojhan commentedI have absolutely now idea how to do this, but yes.
Comment #6
seutje commentedI think it's better if we disabled submitting the form twice rather than clicking the button twice, as forms can be submitted by other means (pressing enter in a textfield for example)
so I suggest using something like this:
personally, I don't see why we don't just put this in form.js
Comment #7
Bojhan commentedI am upping this to critical, since it seemed to happen a lot during last usability testing round.
Comment #8
p.brouwers commentedseutje, disabling the form itself seems better. But the user should get some feedback, maybe change the value of the submit button to 'submitting...' or something.
Note: disabling a submit button could cause the form not to be submitted in IE when disabling it too quickly.
Comment #9
sun.core commentedThis should be fixed by now. The installer has been vastly sped up.
Comment #10
Bojhan commentedIt actually was an issue before, it got so slow .
Comment #11
Bojhan commentedso, no
Comment #12
yoroy commentedIt's not clear what that last 'No' means :)
Still needs work?
Comment #13
Bojhan commentedInstaller is pretty fast now, and the patch creates flaky behavior.
Comment #14
David_Rothstein commentedIt's still slow for many people; however, the best solution for that is to speed it up :)
And also to make it more robust to interruption.
There's an issue for that at #881494: Double-clicking the "Install Drupal" button completely breaks everything (similar to and almost a duplicate of this one). We could continue over there. But yeah, seems like we want to rule out the "disable the button" approach for the time being.
Comment #15
clemens.tolboomI reused the patch from #6 in a more general discussion in #1705618: Double click prevention on form submission as we have more issue regarding double clicks :-/