0

I am not a developer although I have been using Drupal since it came out 19 years ago.

I have an existing D7 Ubercart site that works well, but I want to move to Drupal Commerce.

I have installed Drupal 8 Commerce 1 at one site, and Drupal 8 Commerce 2 (commerce 8.x-2.16) at a second site.

I know that Commerce 2 requires composer, but at the moment I have set up the Commerce 2 site with the above module (commerce 8.x-2.16) with Ludwig and it seems to function just fine.

Here is my question:

Would it be advisable to start my new site with Commerce 1 or Commerce 2?

Commerce 1 is stable, and I am thinking that perhaps I should start there and eventually migrate to a stable version of Commerce 2.

Thank you for any insights or advice.

  • 3
    I have installed Drupal 8 Commerce 1 there is no commerce 1 for D8... it's only for D7. – No Sssweat Feb 8 at 1:13
2

As @No Sssweat points out in a comment on your original post, there is no Commerce 1 for Drupal 8, so if you're upgrading your site to Drupal 8, Commerce 2 is your only option.

But even if that weren't the case, Commerce 2 is stable and it's where all the current improvements in Commerce are happening. While Commerce 1 may have a larger contrib ecosystem at present, I find that once developer energy has moved on to the latest version of Drupal, it's frustrating to try and solve contrib problems on the old version. So my advice is always to go with the more recent version, once contrib has progressed enough that they key functionality you need has been developed and is reasonably stable. I believe Commerce 2 is there.

Finally, the migration process is kind of a bear (especially if you're migrating historical order data), so personally I'd only want to do that once, D7 Ubercart directly to D8 Commerce 2, rather than the two step process of D7 UC -> D7 Commerce 1 -> D8 Commerce 2. I think you'd be creating a lot of extra work for yourself without much benefit.

  • Very helpful, thank you... I am setting up composer locally, but I also do not mind working with the existing (8.x-2.16) version online (in maintenance mode) if that will suffice and so long as that particular version remains compatible with ongoing development of D8 itself. Would you be so kind as to clarify for me whether working locally with composer is mandatory? Regards. – trazom Feb 9 at 12:23
0

With your existing D7 Ubercart site, you only need to create a local version of your site along with a new local version 7 with Commerce 1 since Drupal 7 doesn't reach end of life until November 2021.

The best way to learn Commerce 1 on Drupal 7 is by downloading the latest Drupal Commerce Kickstart 2.x which you can only activate the modules you need, or activate a local version of the example store.

Then learning Drupal 8 with Composer: It is necessary to have a local compose installation to manage Drupal 8. Drupal 8 is based off of Symfony PHP framework, which is broken into little pieces, and Composer is required for modules like the Commerce modules with third-party libraries, per Drupal https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies.

Then you can learn Drupal 8 building for your website using composer.

If you prefer a video discussion on why ubercart to commerce, and why 8 vs 7 when you have the time I've included https://www.youtube.com/watch?v=mlNor8ZiOZM, Post at https://blog.acromedia.com/ubercart-is-dead-why-a-migration-is-needed-asap.

Drupal 8 to Drupal 9 will just be newest version of Drupal 8, which is a bonus of Drupal going to Object oriented.

I hope this helps.

  • Agree fully and am installing composer locally as I am moving directly to Commerce 2. I remain uncertain however, as I explained above, as to whether I can use the existing version of Commerce (8.x-2.16) to set up a new site, or whether it is mandatory that I use composer. Regards. – trazom Feb 9 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.