Tags/topics: 
1
Answers
Vote up!
0
Vote down!

Utterly...totally confused by these docs

I think I'm a fairly smart guy. I've been building Drupal sites for 5 years, programmed Mac apps for 10 years and built my one and only Ubercart site 3 years ago.

So I've installed the Kickstart distribution and ever since been having a headache trying to understand how this system is supposed to work.

Can someone in plain English please explain the architecture of DC. The docs seem to be all over the place - freely mixing up these terms in every combination possible!

Product
Product data
Product page
Product variation types
Product variation
Product display types
Product display
Node level fields
Product level fields

Asked by: martinjbaker
on March 27, 2013

1 Answer

Vote up!
1
Vote down!

martin,

I'll take a shot, but I wrote the docs :D

Kickstart 2 tries to hide a complexity found in Commerce. Commerce stores data in product entities and displays "add to cart" buttons in nodes that have a reference field to those product entities.

The "Product Entities" have unique SKUs and are supposed to be unique for each specific kind of product. For example, if you are selling one kind of tshirt with three sizes, you'll have one node that references three Product Entities.

Let's keep with the tshirt analogy. If each tshirt size looks different, you'll want your product entities to store an image so that when you select "XL" you see the "XL" tshirt. But if your tshirts all look exactly the same, just slightly different, you might just put one image on the node that references the products. This is an architectural decision that is important to get right the first time.

Kickstart 2 confuses the matter by doing the following:

1) It hides the product entities inside the node form under "Product Variations"
2) When you create products in Kickstart 2, you're actually creating nodes that have product entities attached.
3) You have two places you can add fields to: Product Entities and Nodes.

Product Entities

  • These have SKUs, Prices, Attributes that make them unique
  • Can't be viewed in a URL, designed to be a "backend" data element, not for public consumption
  • In Kickstart 2, these are called "Product Variations" and you can create versions of these with different sets of fields and Kickstart 2 calls these "Product Variation Types"

Nodes that reference Product Entities

  • Any Content Type that has a product reference field
  • These have a title that describes a group (or a single) product, perhaps a description, possibly images
  • No prices found here, nothing to buy. Can only buy products attached to this node.
  • In Kickstart 2, these are called "Product Displays"

Here's the kicker: Since you can't view Product Entities directly (though you can view them in Views and other methods) and you can't buy nodes, you'll need both a node and a product entity to make a store (display products) and sell products. These are properly decoupled for lots of reasons, but it has caused a fair amount of confusion.

We tried to clear up that confusion with Kickstart 2 and the commerce_backoffice and inline_entity_form module. But without the above understanding, the fact that the Kickstart 2 "Add Product" form has a "Product Variations" is a bit hard to understand.

Please reply as a comment if I need to further clarify any of the above.

Josh Miller
Answer by: Josh Miller
Posted: Mar 27, 2013

Comments

Thanks Josh, I really appreciate that explanation and with that knowledge I have been able to make some progress.

I still think the terminology is hugely confusing - like how "product variation" sits above "product" in the hierarchy which is the opposite of what users would naturally expect.

e.g.
First, we have the simple "How do I add another product to my site?" question that is easy to answer (see below).
When you say Product, I am thinking a particular T shirt design.

Second, we have the much more common "How do I add a new type of product variation?" This is typically asked at the beginning of creating a site. And we have worked hard in Commerce Kickstart 2 to make the interface for creating your first Product Variation Type very simple.
So I'd naturally interpret "product variation" as "Blue/Large", "Medium/Red".

- martinjbaker on April 1, 2013