Follow-up to #2562849: [meta] Confirmation page

Rather than list the modules being upgraded at the top, put the exceptions (those not being upgraded at the top). Also, collapse the list of modules being upgraded to help focus attention on the exceptions.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mikeryan created an issue. See original summary.

mikeryan’s picture

Title: [meta] Confirmation page should de-emphasize the normal » Confirmation page should de-emphasize the normal
mikeryan’s picture

Title: Confirmation page should de-emphasize the normal » Layout of the pre-upgrade report page

The current thinking of the layout for this page comes from https://www.drupal.org/node/2281691#comment-10338513:

mikeryan’s picture

Issue tags: +Barcelona2015

Tagged for Barcelona sprinting.

yoroy’s picture

FileSize
26.59 KB

Some initial thoughts about the top and bottom of this page.

Top: Have a quick summary of how many upgrade paths found, how many missing. Lets you quickly asses the situation.
Bottom: Might be nice to put the 'you can try multiple times' message below the submit button to put you a bit more at ease.

quietone’s picture

Decided to learn a bit about forms so starting tinkering on this, using the image in #5 and the workflow in https://www.drupal.org/node/2281691#comment-10338345. It works, but it certainly isn't pretty.

There's a few things I hope to learn before submitting a patch. Like adding the bullet points, the link, and making a collapsible table. After I research that, and clean up the code, I'll post a a patch. Should be able to that in the next two days.

quietone’s picture

Status: Active » Needs review
FileSize
6.54 KB

OK, here it is. At least it is a start.

mikeryan’s picture

Status: Needs review » Needs work

Looks a lot better than the original, thanks!

  1. +++ b/src/Form/MigrateUpgradeForm.php
    @@ -567,6 +567,8 @@ class MigrateUpgradeForm extends FormBase implements ConfirmFormInterface {
    +      case 'preupgrade':
    +        return $this->buildPreUpgradeForm($form, $form_state);
    

    This is supposed to be a replacement for the confirm form, not a whole new page. With this patch, pretty much the same information is on two consecutive pages, just presented differently.

  2. +++ b/src/Form/MigrateUpgradeForm.php
    @@ -869,6 +871,145 @@ class MigrateUpgradeForm extends FormBase implements ConfirmFormInterface {
    +    $desc = <<<EOT
    

    Should be a normal string on a (very) long line - I don't see it formally forbidden in the coding standards, but grepping shows that heredoc is not a pattern used in core modules except in a few tests. I suspect that it interferes with the translation tools.

  3. +++ b/src/Form/MigrateUpgradeForm.php
    @@ -869,6 +871,145 @@ class MigrateUpgradeForm extends FormBase implements ConfirmFormInterface {
    +The following items will not be upgraded because there's no defined place ¶
    +for them to move to. See <a href="https://www.drupal.org/upgrade/migrate">
    +Upgrading from Drupal 6 or 7 to Drupal 8</a> for ways to fix this.
    

    Not fond of this wording. "no defined place for them to move to" isn't technically accurate ("no defined process for moving them" would be more precise). "ways to fix this" implies that there's actually something wrong. Our biggest challenge in messaging around missing migration paths is that in most cases, there isn't *supposed* to be a migration path - many modules have no data/configuration that requires migration. The only case where there's something for a site administrator to "fix" would be if there is a migration path but the destination module is not enabled. See #2569771: [meta] Highlighting of source modules with no upgrade paths.

    At one point, didn't we decide to not even show this information? That would be analogous to update.php, which does not tell you about source modules which lack update hooks on the destination side...

One other thing, the destination modules are not displayed anywhere, I think that's more useful that the detailed list of migrations for each source module.

quietone’s picture

FileSize
5.77 KB

thx, mikeryan1

1. Fixed, just got mixed up reading the related issues.
2. No more Heredoc.
3. Text simplified.
Destination modules are listed.

The interdiff was double the size of the patch, so it doesn't seem helpful to include it.

quietone’s picture

Just took another look at the new page after a stint in the garden. For me, it would look better if the missing migrations table appeared the same and the available upgrade path, that is collapsible. But, of course, open.

mikeryan’s picture

@quietone: With some stuff I committed yesterday (adding rollback capability) this no longer applies, could you reroll?

Thanks.

yoroy’s picture

Thanks for working on this. A screenshot would be helpful for reviewing :)

quietone’s picture

Issue summary: View changes
FileSize
5.82 KB
42.59 KB
32.33 KB

Rerolled. Interdiff failed. And screenshots included.

mikeryan’s picture

Status: Needs work » Needs review

@quietone: Thanks, I'll review the code and test locally shortly!

Still concerned that the "missing" upgrade paths (which are mostly not problems at all) are being overemphasized by putting them up front - @yoroy?

We could actually hard-code the core Drupal 6 and 7 modules we know intentionally have no upgrade paths, which will help some - there's not much we can do about contrib though, there's no way the tool can know that.

quietone’s picture

@mikeryan1, your welcome.

I share your concern about the list of missing paths, whether or not they are at the top or the bottom. But wherever they are listed there needs to be supporting docs to answer the likely user question, 'What does missing paths mean to me/my site? Is it OK to continue?'. Maybe this could be addressed in a new handbook page?

yoroy’s picture

I suggested to put the missing ones first based on the assumption that those are the ones you want to review before you decide to either go ahead or "fix" some things first. It seems it’ll be really hard to be specific about what there is to fix. I have to ready

What does missing paths mean to me/my site? Is it OK to continue?

Yes, that’s the user response we have to design for. The goal is to let people proceed without feeling they might be breaking things.

from #8:

Our biggest challenge in messaging around missing migration paths is that in most cases, there isn't *supposed* to be a migration path - many modules have no data/configuration that requires migration.

Is it possible to tell that there isn’t supposed to be a migration path? Can we tell that there is no data/configuration that requires migration? Because then we could “simply” not list those in the first place.

mikeryan’s picture

There's no way the tool can know whether a source module has migratable data or not. The challenges around trying to figure out what to tell users for each module are described at #2569771: [meta] Highlighting of source modules with no upgrade paths.

I'm going to commit the current version, which is a definite step forward (and which I've already taken screenshots of for my upcoming blog post on the upgrade process;) - I'll leave this issue open for further refinement.

  • mikeryan committed ffce362 on 8.x-1.x authored by quietone
    Issue #2569781 by quietone, yoroy, mikeryan: Layout of the pre-upgrade...
yoroy’s picture

Yay for incremental progress! Thanks :-)

  • mikeryan committed ffce362 on 8.x-2.x authored by quietone
    Issue #2569781 by quietone, yoroy, mikeryan: Layout of the pre-upgrade...
mikeryan’s picture

Status: Needs review » Closed (duplicate)
Issue tags: -Barcelona2015
Related issues: +#2678638: [META] Usability refinements for Migrate UI

Any further UX refinement should go under #2678638: [META] Usability refinements for Migrate UI.