Problem/Motivation
Back in #2657178: Warn about experimental modules on their help pages there was an issue to add warnings in three places once an experimental module is installed.
- During install
- On the modules page
- in the site status
However, this commit has introduced a serious flaw in the UX for experimental modules on a drupal site. In general...
- Warnings must be actionable
- The site should not question the decisions of a site builder once a decision should be made
- The site should inform the site builder the implications of installing an experimental module and provide documentation on where to find the status of the experimental module.
This has real consequences for 1st tier drupal shops, which run into issues when using otherwise best practices for drupal development. Not all experimental modules are equal, and the decision to use an experimental module, once installed, should not be questioned by the site. The lightning distribution is currently using layout discovery, which should be encouraged over the deprecated and unsupported layout plugin module.
Also note, there was no UX review of the previous issue, and it was hastily committed within 2 days. It should have not been committed without proper UX review and community feedback.
Proposed resolution
- Change the warning to 'info' on the status page, so that site admins are still informed that experimental modules are enabled
- Remove the warning from the modules page.
- Add a better install notification/confirmation when installing an experimental module via the UI. This has basic support, but a handbook link or link to the status of experimental modules would be helpful.
Encourage drush to add a confirmation before installing an experimental module, using the same url to reference users to the status of experimental modules.Filed https://github.com/drush-ops/drush/issues/2770
Remaining tasks
Create a patch to revert the warning from post install actions. Follow up with additional patch to make the confirmation page better when installing experimental modules.
User interface changes
Experimental modules should display a warning message only on the module confirmation install page.
API changes
N/A
Data model changes
N/A
Comment | File | Size | Author |
---|---|---|---|
#51 | 2880374-51.patch | 4.37 KB | smustgrave |
| |||
#51 | interdiff-48-51.txt | 668 bytes | smustgrave |
Comments
Comment #2
japerryThis removes the experimental warnings post install.
Comment #3
phenaproximaI am fully on board with this, and I +1 the reasoning @japerry laid out in the IS.
IMHO, once you install an experimental module, the damage is done. You've jumped off the cliff, so you need to be responsible for ensuring that your wings work beforehand. You have made the choice (or, in Lightning's case, the choice has been made for you), and Drupal should shut up about it. Continuously warning the administrators is pointless -- what do we expect them to do? If the answer to that is "not use experimental modules", I do not agree. Panels and its ecosystem are the prime example of a stable module that is depending on an experimental module which no longer has any business being experimental, but will not be stable until 8.4 for policy reasons, not technical ones.
I am going to advocate for us to bring the patch in #2 into Lightning while the requisite debate takes place in this issue. Incidentally, I also agree with what @japerry re: the warning not having received any UX review (at least, nothing documented) before going into core. It deserved a proper discussion, so let's have that now.
Comment #4
japerryI mentioned 1st tier companies, but this affects all levels of site builders. If I just went to a Drupalcon talk that discussed using migrate or layout discovery.. or read a blog post from a reputable person, why should my site be questioning the decision I made? If I'm a site owner, why should my site be implying to me that my contractor made a bad decision by installing an experimental module, when it a specific module might be a best practice?
Comment #6
japerryUpdated patch to remove the core test for the experimental module warning to appear. Curious, there doesn't seem to be a test when installing a module? I added 'needs tests' to maybe add a followup to add a test for that...
Comment #7
anavarreFiled the corresponding Drush issue.
Comment #8
DamienMcKenna+1 for this.
Comment #9
rlnorthcutt+1 on this.
Comment #10
David_Rothstein CreditAttribution: David_Rothstein as a volunteer commentedWrong issue. For example, the site status warning seems to have been added as a result of #2560597-5: Mark Migrate* modules as Experimental...
Agreed with the goal though. This patch keeps the message on the site status page but changes it from a warning to an informational message, which makes a lot of sense.
This is actually what was added in #2657178: Warn about experimental modules on their help pages. Instead of removing it, what about changing it from a warning to an informational message as well? (For example, prepending it to the normal help text or something like that.) I think the discussion in #2657178: Warn about experimental modules on their help pages explains why having some kind of message here is a good idea.
Comment #11
yoroy CreditAttribution: yoroy at Roy Scholten commented@David_Rothstein :
Did you mean to supply a patch with your comment? It's unclear where else "this patch" may be found if not :)
Comment #12
David_Rothstein CreditAttribution: David_Rothstein as a volunteer commentedI was referring to the patch in comment #6 above.
Comment #13
xjmFor me, this is a wontfix that takes us in the wrong direction. People are under-warned about the risks of experimental modules, not over-warned.
Comment #14
xjmPictures speak louder than words. This is what happens if you update from 8.2.x to 8.3.x with Content Moderation enabled. Your site is unrecoverably broken with no workaround and no upgrade path.
Comment #15
yoroy CreditAttribution: yoroy at Roy Scholten commentedThis is a hard problem. We should try and prevent unrecoverable things from happening, but people will do stupid things.
Consistent/persistent warnings are not necessarily the answer, that's mostly training people to ignore them.
Would it help if we designed a super-ultra warning specifically for the scenario where people want to update their site and have experimentals installed? I guess that's only for updates through the UI then. Drush and Composer could do something as well?
(Aside: why the 1st tier vs other companies distinction? it does not seem relevant to the issue at hand).
Comment #16
xjmComment #17
xjmComment #20
balsamaComment #21
jofitz CreditAttribution: jofitz at ComputerMinds commentedRe-rolled.
Comment #25
adinac CreditAttribution: adinac as a volunteer commentedRe-roll of the patch from comment #21 for 8.9.x-dev.
Comment #26
adinac CreditAttribution: adinac as a volunteer commentedForgot to attach the patch.
Comment #27
adinac CreditAttribution: adinac as a volunteer commentedWrong patch.
Comment #30
jofitz CreditAttribution: jofitz at jofitz commentedCorrect test failures.
Comment #32
ptmkenny CreditAttribution: ptmkenny commentedSadly the patch in #30 no longer applies.
Comment #33
ptmkenny CreditAttribution: ptmkenny commentedReroll for 9.1.x.
Comment #34
tanubansal CreditAttribution: tanubansal at Salsa Digital commentedAfter adding patch #33, experimental module warning disappeared from /admin/reports/status as well as admin/modules page
This can be moved to RTBC
Comment #35
samiullah CreditAttribution: samiullah at Salsa Digital commentedMoving to RTBC
Comment #36
samiullah CreditAttribution: samiullah at Salsa Digital commentedComment #37
catchSo in 2017, I agreed with @xjm in #2880374-13: Experimental modules and themes should not have warnings after being installed that this issue would have been won't fix.
However, we've significantly changed how experimental modules are added to core, so that they don't make it into a tagged release without a supported upgrade path. So it might be OK now. Tagging for release manager review so we get a chance to discuss it.
Comment #38
catchThis is useful information for site administrators, even if we don't show it as a warning. Moving back to needs review.
Comment #39
jcnventura CreditAttribution: jcnventura at 1xINTERNET commentedAddressing #38, it seems it would be best to provide a normal status message instead of a warning in the help system, then.
With the addition of claro, it is also important to not punish those users that chose to install it. I'm changing also the message type for themes to REQUIREMENT_INFO.
Comment #40
samiullah CreditAttribution: samiullah at Salsa Digital commented#39 looks good
Might need code review from FE/verbiage puprose
Comment #43
erin.rasmussen CreditAttribution: erin.rasmussen as a volunteer commentedWe were testing this against Drupal 9.3, 9.2, and 9.1 and found that the patch failed to apply.
Comment #44
ankithashettyRe-rolled the patch in #39 against 9.3.x-dev version.
Thanks!
Comment #47
smustgrave CreditAttribution: smustgrave at Mobomo commentedMoving back to needs work for the test cases
Comment #48
smustgrave CreditAttribution: smustgrave at Mobomo commentedWrote a test case
Comment #51
smustgrave CreditAttribution: smustgrave at Mobomo commentedComment #53
catchComment #54
catchDidn't mean to remove the tag, but I've pinged the other release managers and will remove in a few days if no objections.
Comment #55
smustgrave CreditAttribution: smustgrave at Mobomo commentedFollowing up on this one.
Comment #56
catchIt's been more than a few days, so I'm going to go ahead and remove the tag. We have warnings for deprecated modules, so if an experimental module ends up on its way out of core, people will be notified that way. The info level item is still a reminder you're running something that's not fully stable yet.
Comment #57
xjmLet's bring it up in the RM channel so that folks have a chance to discuss and agree.
Comment #58
catchCould use screenshots of the info-level message in the status report. The test coverage asserts that the warning doesn't appear, but should that change to a positive assertion that an info appears?
Comment #60
xjmVia @quietone:
This patch is going too far. The scope should be limited to runtime warnings being turned to info mesages. We should still be warning about them during installation/update.
I am also not sure the warning should be removed from the help pages.
Comment #61
xjmSorry, crosspost.