Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Follow-up to #2247291: Reorder tabs in configuration UI. This was originally addressed in that issue but there is ongoing discussion about the other changes in that issue. The confirmation dialog part of the issue is being separated here so that it isn't held back whilst the correct solution for the other changes is sought.
Problem/Motivation
There is no confirmation form and the operation is certainly destructive
Proposed resolution
Add a confirm dialog before performing a full import
Remaining tasks
#2642420: Selectively remove files from full import
User interface changes
As listed in Proposed Resolution
API changes
None.
Beta phase evaluation
Issue category | Task because current UI works but is not as usable as it could be |
---|---|
Issue priority | Major because having a usable UI is important for D8 |
Prioritized changes | The main goal of this issue is usability. |
Disruption | None. |
Comment | File | Size | Author |
---|---|---|---|
#18 | add_confirm_dialog-2572503-18.patch | 31.51 KB | Eli-T |
#2 | add_confirm_dialog-2572503-2.patch | 30.27 KB | Eli-T |
#5 | add_confirm_dialog-2572503-5.patch | 32.35 KB | Eli-T |
#6 | interdiff-2247291-2572503.txt | 3.03 KB | Eli-T |
#15 | sync-confirm.png | 20.11 KB | swentel |
Comments
Comment #2
Eli-TComment #5
Eli-TComment #6
Eli-TAdding interdiff to configuration-2247291-98.patch, the most recent patch on the parent issue from which this was split and has previously been RTBC.
Comment #7
Eli-TComment #8
jhodgdonHm... I have a few questions/concerns about this patch:
a) Why is the confirm form being generated from a form state redirect? That is not the normal way to get to a confirm form. Normally, when you have a destructive operation, the trigger for getting to the confirm form is an ordinary link, while here for some reason it is a form submit with redirect set, which doesn't make sense to me and might not always work (sometimes the form system doesn't redirect the way you think it should, like for instance if some URL query parameters are set).
I guess I don't understand why the original page is still a form at all, since the submit just redirects. Couldn't it be an ordinary page with a link that would be used to import the shown config?
b) The new confirm form class has no documentation header. It definitely must have one.
c) For future reviews, a screen shot would be helpful. It's not so easy to set up a site to test this.
Comment #9
Eli-TJust to manage expectations, I'm away for the next two weeks so will address points above on my return.
Comment #10
tkoleary CreditAttribution: tkoleary at Acquia commentedComment #11
Eli-TIs that a remaining task, or a related issue?
Comment #12
tkoleary CreditAttribution: tkoleary at Acquia commentedAdded to config management usability meta #2642404: [meta] Usability improvements to configuration management post 8.0
Comment #13
xjmComment #14
cilefen CreditAttribution: cilefen commentedFrom the issue summary:
The argument can be made that this is a critical bug.
Comment #15
swentel CreditAttribution: swentel commentedReroll + diff + screenshot
Comment #17
claudiu.cristeaNot in use. Remove.
Well, I guess no contrib tried to extend this because this is a BC break. In a conservative approach I would suggest to keep the signature and create a protected getter for the key-values store. Also we add a @todo to inject the service in 9.0.x. But normally there should be no use-case ti extend this form. Opinions?
Look as not-related?
$this->t()
s/array()/[]
$this->t()
Why line break? The 2nd phrase should continue on the 1st line.
s/array()/[]
Comment #18
Eli-TReroll against latest 8.1.x before addressing points in #2572503-17: Add confirm dialog before full configuration import
Comment #19
Eli-Thttps://www.drupal.org/files/issues/add_confirm_dialog-2572503-18.patch is bad as it applies cleanly but doesn't take the changed code that made it failed to apply into account when it moves it elsewhere. I will fix later.