Feedback on Option Combinations and Product Variations

I’ll still reply, if only to thank you for your feedback, confirm that we’ve heard you, and that we’re sorry for the difficulty of this process. Moving from combinations (based on options) to variations (based on features) is indeed one of the biggest one-time hurdles when you upgrade from older CS-Cart versions. Especially for those who were just fine with product options. So much so that we had to create a rather complex mechanism for that.

I think CS-Cart made that move required in version 4.10.1 (released 3.5 years ago, in May 2019). As someone who was around back then and was involved, I feet like I have to reply, and maybe offer some suggestions and insights that might help with newer versions. Because there were many changes associated with variations. Some of them might help with the problems you’re facing.

Besides, I just would’ve felt bad leaving a detailed and well-written feedback post unanswered. We can’t reply to every post at the forum, but it doesn’t mean that we don’t want to.

I can shed some light on that. There were two iterations of variations:

  • Variations 1.0 (still based on options)that’s the topic we’re in — got released in version 4.6.1 in June 2017. They existed alongside option combinations and brought:

    • Ability to set prices, quantity discounts, and taxes independently for each variation.
    • Multiple images for a product variation (as opposed to one for option combination).
    • Ability to import products and their variations in a single file.

    Those things were requested by the community very often until 2017. This forum still has plenty of long topics from those times.

  • Variations 2.0 (based on features)these are the variations we’re actually talking about — got released in May 2019. We gathered feedback on Variations 1.0 and added the things requested by the community:

    • Product filtering by variations (that was the most requested thing, and required the move to features).
    • Showing some variations in the catalog, as separate products.
    • Easier import of variations.

I tried to describe the reasons and benefits of that move in the topic about Variations 2.0. Technically, it was the best way to implement filtering, and logically it made sense (with features being inherent properties of the product, and therefore affecting quantity).

There are a couple of possible workarounds and related improvements here:

  • Starting with version 4.12.1, product features can have 2 names:

    • Internal name for the admin panel and import purposes.
    • External name that appears to customers and can be the same for different features.

    Ideally, different features with the same external name should be assigned to different product categories.

  • You can use “features for variations” like “Color” in other products as well, even if the color choice is not needed for a product. They’ll appear on the product page as ordinary features, until you either create variations, or group this product with others through variation group code.

Are you referring to this instruction? How To: Import Product Variations — CS-Cart 4.18.x documentation. Ever since we moved to features, we’ve allowed importing feature variants in separate columns.

Not all of these features are fully gone:

  • I can’t speak about dynamic filling of categories, may’ve been something before my time or gone without a big public discussion or a lot of messages to us in Help Desk. Otherwise, I would’ve probably remembered that.

  • “Phone orders” (or rather, entering credit card data by phone) got hidden rather than removed. With a way to bring it back for those who need it.

  • “Suppliers” got marked as deprecated, but likewise won’t be removed until we’re absolutely certain that we can offer something that does the job better. Deprecation is also a signal for third-party developers not to rely on the functionality too much, because it might get revamped.

Generally, we try to let people keep using the functionality if they want, or provide alternatives. There’re plenty of ways to do that:

  • Some things can be brought back with a quick and easy code change (entering customer’s credit card data in admin panel).
  • Other things just get marked as deprecated, but remain in the product for everyone (“Suppliers” are still included in every new installation, and will be for the foreseeable future).
  • When there’s more certainty, we keep the deprecated functionality only for those who upgraded from the old version (like the old checkout).

For example, we added new “Product reviews”, but kept the old “Comments and reviews” to handle the things that “Product reviews” didn’t have.

Option combinations and product variations coexisted for at least 2 years as we gathered feedback and improved variations. Only then did we phase out the option combinations. Unfortunately, it is something we have to do, because we can’t afford to maintain 2 pieces of functionality that do the same thing, and it makes CS-Cart as a platform more difficult to learn.


I understand that this answer might not be ideal. But I hope it provides at least some transparency as to how and why we make certain decisions. And if it can help you make the best use of the new variations and other changes in our recent updates, then it was worth writing at least.