Commerce limitations for websites with large numbers of products

I've been using Drupal Commerce on Drupal 7 for a while now and have been steadily adding products to my website at https://everylabels.com.au. Some observations:

I love the system. The field system works well and has the power of infinite expansion so you can collect all sorts of information if you want to. So I'm happy with it and have put the time into learning it ... but:

Setting up products is a complex operation, and the instructions on the Drupal commerce website are inadequate. I could not work it out on my own. I had an instant messaging chat with a chap from a website in the US who was very helpful and got me on the right track. I don't remember his name, but a sincere thanks to him.

Once I understood how it worked I could develop from there OK. Better documentation is needed!

Commerce is not that well set up for website with large numbers of products. So far I have more than eleven thousand products listed, and I will at least double or more like triple that. Handling large numbers like that can be tricky.

Most of my products are set up using the Bulk Product Creation function. Without this it would have been impossible. One of my products has a choice of 12 colours with a further choice of matt and gloss finishes. Add to that a choice of four pack sizes, and you have a total of 96 products you need to generate. There are about 180 shapes that are available in the category. So that category alone has 17 280 products! (actually there's more, because I haven't mentioned 4 other colours available only in matt finish, which adds another 16 'products' to each product, making it 112 'products', giving a total of 20 160). This is one of 9 label categories. It doesn't even touch on the other categories! I don't expect to be finished adding label products for at least another 6 months.

As far as I can work out the 'Create Products and Create Display' button on the Bulk Products Creation screen only works if all the products you want on the display are the same price. It doesn't work for me with four pack sizes with different prices. So I have to generate a display using the Add Content button and a Content Display that I have set up. That's OK, but the only viable layout on that screen for large numbers is checkboxes ... which means that for each of the above mentioned products I have to click 112 times! I'd like to use a Select List but the window given to select them in is just four lines high. Not set up for large numbers. :( The autocomplete option is totally inadequate for the numbers I am working with.

There is no provision for bulk amendments once the products have been generated. If you make a mistake and don't pick it up for just one product you have to amend 96 products. It's painful ... I know! :(

There's no provision for bulk deletion of products. You have to do them one by one. That's painful too!

I don't know of any way to change options once you've set them up - see my post here: http://www.drupalcommerce.org/node/2829

It may well be that I am missing something that would make life a lot easier. If I am I'd love to know!

Please don't misunderstand me. Even though I see the need for some improvements doesn't mean I'm unhappy with Commerce. I reckon it's great, and will be even better when large numbers of products are better catered for.

Perhaps Randy or Ryan could comment on the above?




Posted: Mar 27, 2012


bigslott on May 13, 2012


If I understand you right, so are you looking for a kind of bulk update products module, where you can update fields (price, pictures, etc) for a x number of products (variations)?

If so, then I am working on a module for a client, that does exactly that.

If you like, i can make a download available for you, if you want to test it.
The idea is that it must be a contrib module when it is completed and tested.

best regards
Thomas S

willem on June 17, 2012

G'day Thomas,

Thanks for your response.

How is this module going? I am very interested ... though I have little coding skill to sort out problems.

I'd certainly like to hear from you.


lberbey on June 18, 2012


Hum, I'm interested too, but I don't have any skill Y_Y at all (new in dev and new in Drupal ...).
Can you just let us know your coding advancement?

Thanks you.

ErikV on June 19, 2012

Hi Willem. One of the things about Commerce specifically, and Drupal in general, is that the framework is quite robust and very extensible. Drupal Commerce relies on underlying Drupal functionality. As a result there are a number of preexisting Drupal Modules that work with Commerce and can help you here by freeing you from the yoke of manual data entry.

I have been working on a site redesign/reimplementation in Drupal Commerce for an established online retailer. We have over 14,000 products, with a good deal of variation and media associated with each one. In my case, inventory is managed by a third party system, so I update the Drupal Commerce site daily with .CSV files that contain all of the associated product data.

In my workflow I use the Feeds module to create Products and Product displays from the imported files. This example by Randy Fay should give you the general idea. Also, Feeds Tamper allows importing all sorts of attributes, even with multiple values (including multiple images) per field, without writing any code. For example, I use Feeds Tamper to assign multiple taxonomy terms to each Product Display to make navigation easier for customers.

Feeds gives you an option to export a template based on your existing Product and Product Display fields. This should probably be your first step, then try following the example in the link above. Once you get the mappings sorted out and your import files formatted properly, importing is painless, and can be very fast even for large imports if your installation has enough processor and memory resources available to it. Hope this helps.