I have had the problem since boa 2.1.1 and it persists in 2.1.3 that sites in the acquia ubercart platform cannot be migrated to upgraded ubercart platforms that an octopus upgrade provides - aegir doesn't even see the new platforms in the migration task, so the upgraded platforms cannot be chosen. The upgraded platform is shown as a valid platform in aegir, it's only the migration task that doesn't allow you to choose it. Is this problem correctly listed here on boa, or should I file a report with aegir or acquia ubercart platform?

Comments

Anonymous’s picture

It seems the latest version boa 2.1.3 of the acquia ubercart platform can only be chosen under vanilla minimal, and all the former versions were vanilla standard. Is this the problem, and how to resolve?

omega8cc’s picture

Yeah, there is a problem if you have installed a site on Ubercart 3 platform when it used Standard D7 profile or acquia profile.

We had to move it to use Minimal, because we realized that if we will use Standard, it will never be possible to migrate any previously installed Ubercart site (which typically used acquia profile for legacy reasons), since Aegir already hardcodes the built-in upgrade path from D6 (default) to D7 (standard) and thus it is not possible (without hacking Provision) to provide upgrade path like acquia->standard or uberdrupal->standard etc.

Currently the hardcoded logic is as below:

    // Drupal 7 renamed the default installation profile to 'standard'
    // Aegir now allows projects to specify an "old short name" to provide an upgrade path when projects get renamed.
    if ($profile->name == 'standard') {
      $profile->info['old_short_name'] = 'default';
    }
    elseif ($profile->name == 'minimal') {
      $profile->info['old_short_name'] = 'uberdrupal';
    }
    elseif ($profile->name == 'testing') {
      $profile->info['old_short_name'] = 'acquia';
    }
    elseif ($profile->name == 'default') {
      $profile->info['old_short_name'] = 'acquia';
    }
    elseif ($profile->name == 'acquia') {
      $profile->info['old_short_name'] = 'default';
    }
    elseif ($profile->name == 'commons') {
      $profile->info['old_short_name'] = 'drupal_commons';
    }
    elseif ($profile->name == 'commerce_kickstart') {
      $profile->info['old_short_name'] = 'commercedev';
    }

Not sure how we could satisfy all conflicting legacy migration paths between profiles, so any suggestions are welcome.

Anonymous’s picture

Are you suggesting that I could make a temporary modification to that file, above, in order to transfer the acquia_ubercart d7 sites that used a standard profile to the current ubercart 7.24 platform which uses a minimal profile, by adding, or modifying:

elseif ($profile->name == 'minimal') {
$profile->info['old_short_name'] = 'acquia';

or

elseif ($profile->name == 'minimal') {
$profile->info['old_short_name'] = 'standard';

and run the migrate tasks, and then change that file back to its original values?

What is the path and name of that file, please?

Or do you think physically moving all a sites files to a newly-created directory in the new platform and then restoring the database backup (and of course modifying the sites.php file for each platform accordingly) would be the easier and surer way to get ubercart 7.23 (acquia or standard profile) sites to the recently updated 7.24 ubercart minimal profile platform?

mrP’s picture

Probably the easiest thing is to just add old_short_name = acquia (or old_short_name = standard depending on your site's current profile) to the new ubercart-3.5.1-7.24.1/profiles/minimal/minimal.info and re-verify.

https://omega8.cc/migrate-sites-between-installation-profiles-111

omega8cc’s picture

Title: Aegir migrate doesn't see any new ubercart platforms only old ones » Better overrides support for custom (and working) old_short_name values
Category: Support request » Feature request
Status: Active » Needs work

Yeah, normally it should work like this. We have started to force/pre-define some pairs for old_short_name because you can set old_short_name only when you have an access to the platform root, which is not the case with built-in platforms (unless you have a system root). This needs more work, though.

omega8cc’s picture

Status: Needs work » Fixed
mrP’s picture

Status: Fixed » Needs work

I hate to reopen this, but what would the BOA procedure now be to upgrade from D6 ubercart to D7 commerce?

omega8cc’s picture

Status: Needs work » Fixed

It has been fixed, and for more details you may need to wait for release if it is too hard to determine from commits and the comment above.

omega8cc’s picture

Besides, you probably already know that there is no straightforward upgrade path for ubercart to commerce. BOA job is just to make it possible to use commerce platform as a target for ubercart based sites use any theoretically compatible profiles as source-target pairs, but this in no way makes it magically working out of the box if the profiles itself don't provide working upgrade path.

omega8cc’s picture

Oh, please note that this issue is *not* about ubercart to commerce upgrade path. I have managed to confuse myself after your question which has nothing to do with BOA, really. It is like asking how to upgrade Commons to Open Atrium. The issue here is mainly about Ubercart with D6 to Ubercart with D7 upgrade and confusion caused by profiles changes.

omega8cc’s picture

So, if you want to try to migrate ubercart site to commerce (which will explode probably anyway), you will need to follow standard docs: https://omega8.cc/migrate-sites-between-installation-profiles-111

mrP’s picture

Got it. Thanks for your feedback.

My reopen was more about overriding provision based old_short_name using the d6 ubercart to d7 commerce as an extreme example (my initial tests appeared as if provision takes precedence over .info settings, making further overrides impossible). I'll test in next release and create a new issues if necessary.

omega8cc’s picture

Current stable does override everything, but I think we have fixed this in head -- you could try this: http://drupalcode.org/sandbox/omega8cc/1074910.git/commit/0257b12

Status: Fixed » Closed (fixed)

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