Problem/Motivation

Reviewing with Bojhan and webchick at the Drupalcon Austin sprints, it was felt that the three-step process didn't add value - we should have a single page setup-and-run. This page should allow one to separately choose to import configuration, content, or both.

The primary point made was that the intermediate Import Configuration and Import Content pages don't add anything to the process - they're just text and a submit button. There's a hypothetical opportunity to pause and consider before proceeding, but this is actually dangerous - for example, if you wander off to check out the changes the configuration import made, there's no way to get back and resume the process at the content import.

It's important to keep in mind that the goal here is to make a basic direct upgrade that is as simply as possible upgrades a D6/D7 site as-is - a full-featured upgrade/migration path allowing full customization of what gets migrated and how will go into contrib, and most sites of any significant size and complexity will most likely use that rather than the basic UI here.

Proposed resolution

The plan is to add a collapsible (but not collapsed) fieldset, Migration Options, with checkboxes to Import Configuration and Import Content. Or perhaps radio buttons, Import Configuration/Import Content/Import All? Submitting the form will process the selected migrations. The default will be to import all.

Remaining tasks

There are some considerations to take into account:

  • What if someone selects Content but hasn't imported Configuration? Do we keep track of whether configuration has been imported through this process and prevent this option? Maybe they've manually configured the D8 side as they want it and don't want it overwritten...
  • Also, if they have previously imported Configuration, do we prevent them from selecting it again? Ditto for Content - do we want to support incremental updates here (that is, do a bulk import before launching the D8 site, then a delta at launch time for recent content changes)?
  • ...had more thoughts here that slip my mind at the moment...
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mikeryan’s picture

Assigned: Unassigned » mikeryan
mikeryan’s picture

Thinking some more about the considerations, I'm thinking that for now we make the scope as narrow as possible - we can always expand the use-cases we allow for later if the need seems strong enough. So, I'm thinking:

  1. If configuration has not been imported, offer the choice between importing configuration only, or configuration plus content.
  2. If configuration has previously been imported, then there is no choice - content only will be imported.

We could take the scope-narrowing a step further, and remove any options - on the initial import both configuration and content would be imported, and any subsequent visits would only do incremental content imports.

Thoughts?

geerlingguy’s picture

I like it—as you said, we can target more advanced use cases later. For now, we want it to be drop-dead simple (IMO), and exactly what you've proposed sounds like the simplest the UI can get. I would make sure if nothing's been imported, the default should be to check/import both configuration + content. And try to not make the text in the UI to scary—too much explanation on that page can make the process feel *too* dangerous.

mikeryan’s picture

I've made a first pass at offering the option of configuration only, and configuration plus content. I'm thinking more and more, though, that initially we should just have a one-click import everything operation here - let's make it as simple as possible, not least because that presents the best chance to get an upgrade path into Drupal 8.0.0. The great thing about the semantic versioning approach Drupal is taking is that we don't need to try to anticipate every use case up front for a major version - we can release a Minimum Viable Product and gather real-world feedback on what sorts of customization can and should make it into core in 8.1.0, 8.2.0, etc.

So, I'm posting the patch for option selection should we revisit later. What I'll commit (today, hopefully) will be a straight import-all-the-things.

  • Commit 92c43f8 on 8.x-1.x by mikeryan:
    Issue #2282021 by mikeryan: Simplify upgrade process to one form, one...
mikeryan’s picture

Version: » 8.x-1.x-dev
Status: Active » Fixed

Committed - any specific tweaks to what I committed should be added as distinct issues.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.