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

  1. Remove the warning from the status page.
  2. Remove the warning from the modules page.
  3. 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.
  4. 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

Members fund testing for the Drupal project. Drupal Association Learn more

Comments

japerry created an issue. See original summary.

japerry’s picture

Status: Active » Needs review
FileSize
2.11 KB

This removes the experimental warnings post install.

phenaproxima’s picture

I 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.

japerry’s picture

I 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?

Status: Needs review » Needs work

The last submitted patch, 2: 2880374-remove-experimental-warnings-2.patch, failed testing.

japerry’s picture

Status: Needs work » Needs review
Issue tags: +Needs tests
FileSize
3.95 KB

Updated 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...

anavarre’s picture

Issue summary: View changes

Filed the corresponding Drush issue.

DamienMcKenna’s picture

Issue tags: +Usability

+1 for this.

rlnorthcutt’s picture

+1 on this.

David_Rothstein’s picture

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

Wrong 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.

--- a/core/modules/help/src/Controller/HelpController.php
+++ b/core/modules/help/src/Controller/HelpController.php
@@ -117,11 +117,6 @@ public function helpPage($name) {
       $module_name = $this->moduleHandler()->getName($name);
       $build['#title'] = $module_name;
 
-      $info = system_get_info('module', $name);
-      if ($info['package'] === 'Core (Experimental)') {
-        drupal_set_message($this->t('This module is experimental. <a href=":url">Experimental modules</a> are provided for testing purposes only. Use at your own risk.', [':url' => 'https://www.drupal.org/core/experimental']), 'warning');
-      }
-

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.

yoroy’s picture

@David_Rothstein :

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.

Did you mean to supply a patch with your comment? It's unclear where else "this patch" may be found if not :)

David_Rothstein’s picture

I was referring to the patch in comment #6 above.

xjm’s picture

For 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.

xjm’s picture

Issue summary: View changes
FileSize
205.43 KB

Pictures 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.

yoroy’s picture

This 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).

xjm’s picture

xjm’s picture

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.