Problem/Motivation
#3496399: The installer should track which recipes it applies, in order to recover from timeouts and other interruptions added some fault-tolerance to the installer aimed at people who are trying to use Drupal CMS on underpowered, shared hosting platforms. The installer tracks which recipes it has successfully applied so that, if it should fail or time out in mid-stream, you can go back to the beginning and pick up where you left off.
Right now, any already-applied recipes are just silently skipped. But that can be a user experience problem if you don't remember which recipes you chose the first time around, and then you are met with unexpected things after the installer completes (these are things you opted into, of course - but if you don't remember choosing them, it might well be an unpleasant surprise).
Proposed resolution
If you are trying the install again after it failed partway through, the recipe selection form should give you some visual indicator that you already applied certain recipes. Maybe they are not presented as options at all, or maybe they are checked and cannot be unchecked (since they've already been applied anyway, you can't exactly undo them). I'm not sure what the best and least confusing thing would do. Let's figure out what user experience might be best, and implement that in the installer accordingly.
Issue fork drupal_cms-3497026
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3497026-disable-uncheck
changes, plain diff MR !361
- 3497026-hide-applied
changes, plain diff MR !362
Comments
Comment #5
darren ohI have created merge requests for both approaches. The advantage of hiding applied recipes is that the selection screen can be skipped if the user does not have any choices. The advantage of forcing applied recipes to be shown as checked is that it reminds the user what the installer will do. I think either solution would make sense to users.
Comment #6
thejimbirch commentedAssigning to phenaproxima to review.
Comment #7
phenaproximaMoving this to the Recipe Installer Kit project, which is where all of the runtime code for the installer (and therefore this logic) would live.