The UI

Events happening in the community are now at Drupal community events on www.drupal.org.
chx's picture

As far as I am concerned, the UI will contain:

  1. the database credential fields straight out of the installer
  2. Edit: A Drupal version select box it seems we can divine this from the system table.
  3. A file path textfield. (MIght need two for private files in D7)
  4. A button saying Migrate configuration
  5. A button saying Migrate content

Comments

A Drupal version picker

kostajh's picture

A Drupal version picker select box

Perhaps it would be simpler for the end user for Drupal 8 to detect the version being migrated from?

Simpler for the user

chx's picture

impossible for the developer. Suggestions welcome but I can't see how we would achieve such a miracle.

Edt: Apparently, I am wrong. Congrats jessehs.

how about something like

jessehs's picture

how about something like this:

<?php
$result = $this->database
  ->select('system', 's', array('fetch' => \PDO::FETCH_ASSOC))
  ->fields('s', array('schema_version'))
  ->condition('name', 'system')
  ->execute();
if ($result['schema_version'] < 7000) {
  $form['version_select']['#default_value'] = 'drupal6';
}
elseif ($result['schema_version'] > 7000) {
  $form['version_select']['#default_value'] = 'drupal7';
}

Next question, are there

kostajh's picture

Next question, are there cases where one would want to migrate only configuration and not content? Will the user be able to migrate content without migrating configuration? If not, there don't need to be two buttons for migrating.

Migrating content without

twistor's picture

Migrating content without configuration is entirely valid. That's basically the current day migrate module.

I would count content type

kostajh's picture

I would count content type settings and fields as "configuration". But if that's considered to be "content", then I agree it's valid to import content + content type settings/fields and skip Drupal module core/contrib settings.

The reason

chx's picture

We want to migrate configuration first and separately because you can not migrate content without the configuration in place (content types and fields are just a few that comes to mind) and while content is happily restartable, continously migrateable and stuff , configuration is all or nothing: if it fails, wipe and restart. I think we need to separate these steps.

Agreed that config goes

moshe weitzman's picture

Agreed that config goes first. I think many sites will not migrate config but will simply build a D8 site from scratch and migrate content. So splitting these makes sense. Migrate module already provides groups for situations like this.

A file path textfield. (MIght

alanburke's picture

A file path textfield. (MIght need two for private files in D7)

Aren't these stored in the variables table of the source database?

Indeed, they are stored

marvil07's picture

Indeed, they are stored there, but we do not know that they are in the same system than we are running d8 in(can be remote), so local paths are needed(in the remote case, either manually copying the directories or mounting on top of something like ssh fuse).

I think

chx's picture

The http:// stream wrapper might be usable and so we can migrate from another server. I will strive to get the file handling work with it.

D7 (and beyond) are

moshe weitzman's picture

D7 (and beyond) are hyper-alterable and pluggable. It won't be possible for core to look after everyone's remote files and pluggable storage and so on. Contrib has to deal with all those non-default configurations.

IMP

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: