15 replies [Last post]
ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173

We have a site which will be selling video products available by download or shipped as a DVD. There are one of two ways for us to structure our products:

  1. Create separate product nodes for file downloads and DVD purchases.
  2. Create a single "video product", and add two attributes for each sub-product -- "Download" and "DVD".

Some key facts:

  • Downloads and DVDs have different price points.
  • Downloads and DVDs have separate SKUs.
  • DVDs are physical items to be shipped, therefore shipping rates need to be applied.

The first two facts above are easy enough to implement, but I'm not so sure the third is possible. I understand attributes are most often used to have "Small, Medium, Large", etc., and not usually a situation where one product is a download and a second is shippable.

Is this even possible in the current version of Ubercart, or should we stick with having completely separate products for downloads and DVDs? Our client is concerned people will in confusion purchase a file download when they wanted a DVD, and vice versa.

ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173
Re: Download and DVD as separate product attributes?

Funny, I look a few posts below, and someone had just added a new comment to a related thread that is a year old. Post #22 in this thread (http://www.ubercart.org/forum/support/3057/one_product_multiple_options) is exactly related to my point, but doesn't seem as though it was ever answered.

torgosPizza's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.
Joined: 08/14/2007
Juice: 4110
Re: Re: Download and DVD as separate product attributes?

I think at this time, each product can be either shippable or not, but not contain derivatives of the opposite. When you're editing a product there is a checkbox to declare whether or not that product (and its derivatives) is/are shippable. That means that any variations on that product will inherit that property.

On our site we have done just what you are suggesting - we've created two separate products, one for the VOD and one for the physical DVD.

However - Right now it's just a limitation of the attributes module. I think this would be a great idea for a patch (or possibly something to do during the D.C. Ubersprint)... the "shippable" property should be flexible enough to be controlled by attribute options, so that you can include a digital product and a physical product within the same node.

--
Help directly fund development: Donate via PayPal!

ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173
Re: Re: Re: Download and DVD as separate product attributes?

Yes, this is what I had assumed. What is interesting is the attributes module already allows for a weight to be added, so there is some notion of variable shipping costs per attribute in place. However it seems clear the product structure currently exists assuming either all attributes are shippable or not shippable.

Just needs to be taken the extra step to allow for a shipping checkbox to be placed on the attribute level. I think it's fine to keep it on the product page if there are no attributes for a product. Just have attribute-level shipping override what exists on the main product page.

torgosPizza's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.
Joined: 08/14/2007
Juice: 4110
Re: Re: Re: Re: Download and DVD as separate product attributes?

Exactly what I am thinking. My idea is to just add another column to the uc_product_options table for the "shippable" status, and when new options are added, the value for that field inherits whatever the product's shippable property is. From there you are given an additional checkbox at the Product Options form, which reflects this default value for your product's shippable field, which you can check or uncheck for whichever option you need to override.

That's probably the most straightforward way... open to other suggestions of course.

--
Help directly fund development: Donate via PayPal!

Abilnet's picture
Offline
Uber DonorBug Finder
Joined: 12/28/2007
Juice: 718
Re: Re: Re: Re: Re: Download and DVD as separate product attribu

Seems to be great things happening here... +1 from Sunny Spain for this!

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15422
Re: Re: Re: Re: Re: Re: Download and DVD as separate product att

It should be worth mentioning that you can make the base product shippable but then override the shippable setting on the file download feature form. That's what I did for the cha0s Jams product on the Livetest. The MP3 version is set as not shippable through the file download feature form, but shipping still apples if you choose the CD option. Seems the same thing would work for you w/ downloadable vs. DVD.

torgosPizza's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.
Joined: 08/14/2007
Juice: 4110
Re: Re: Re: Re: Re: Re: Re: Download and DVD as separate product

huh. You know I've never thought to even try it that way. Now don't I kinda feel like an idiot Smiling I learned something new!

--
Help directly fund development: Donate via PayPal!

ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173
Ryan wrote:It should be
Ryan wrote:

It should be worth mentioning that you can make the base product shippable but then override the shippable setting on the file download feature form. That's what I did for the cha0s Jams product on the Livetest. The MP3 version is set as not shippable through the file download feature form, but shipping still apples if you choose the CD option. Seems the same thing would work for you w/ downloadable vs. DVD.

Hmmm... has this possibly changed? I have a product that has file downloads attached to it that are marked as not shippable. On the base product, I check "Product and its derivatives are shippable." I save the page, then return to edit it again, and the selection on the checkbox is removed.

ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173
Re: Ryan wrote:It should be

Upon further investigation, there seems to be a problem when editing a product that already has non-shippable file downloads attached to it. Here is what I have found:

Test #1
1) Edit product that already has file downloads attached, and those file downloads are set to be non-shippable.
2) Select the "Product and its derivatives are shippable." checkbox on the product edit page, and Submit the form.
3) Form is re-displayed with the checkbox checked.
4) Navigate to view the product page, then return to the product edit page.
5) "Product and its derivatives are shippable." checkbox is unselected.

Test #2
1) Edit product that does not already have file downloads attached.
2) Select the "Product and its derivatives are shippable." checkbox on the product edit page, and Submit the form.
3) Navigate to the "Features" tab for the product, add file downloads, and set them to be non-shippable.
4) Navigate to view the product page, then return to the product edit page.
5) "Product and its derivatives are shippable." checkbox is selected, and shipping is shown properly on the shopping cart.

Seems to be that Test #1 overrides the checkbox.

ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173
Re: Re: Ryan wrote:It should be

One more comment ... I am getting this to work by editing DVD products and adding file downloads to them. The other way around does not work. I'm guessing it is because the file downloads are already marked as "not shippable", therefore "Product and its derivatives are shippable" does not want to be applied.

Either way, there is one other issue I want to bring to your attention. By having the DVD as the base product, and the file downloads as the feature, we're stuck with having our base sell price be the price of the DVD. In almost all cases, the file download is cheaper than the DVD, and we want to feature the cheaper price.

I was able to fudge this by setting the base price as the price of the file downloads, then setting the DVD price to be an addition to the base price. This messes up the SKUs on the product page and the shopping cart, because now it looks like the DVD SKU has the file download's price, and vice versa.

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15422
Re: Re: Re: Ryan wrote:It should be

Interesting problems, Ron. I'm not sure if there are real bugs here or just confusion from my explanation. If you can, I actually did talk about this feature at Drupalcon DC, and the session was well-received and posted online for you to view. (Check the Drupalcon DC site for links to videos on Archive.org.)

The workflow should be...

  1. Create the product w/ products and its derivatives shippable checked.
  2. Add necessary attributes/options and created adjusted SKUs.
  3. Add the file download product feature, specify the correct SKU (even if it's the default option), and make sure the settings in the feature form are correct so it will make the product non-shippable.

This should work regardless of which one is the default SKU.

ron_s's picture
Offline
Joined: 09/11/2008
Juice: 173
Re: Re: Re: Re: Ryan wrote:It should be

Ryan, I'm not saying it doesn't work, I'm saying it is misleading to the customer. The comment you made in point 3 is key -- "even if it's the default option". Let me walk through an example for you.

  1. I create a new product, a DVD set (SKU 001). It costs $250.00.
  2. The product is also going to be available as a download, but the download only costs $100.00. I add this as a separate attribute / option / SKU. This is SKU 002.
  3. The price shown on the product page and in the catalog is the sell price of the base item. Not the price of the attribute, but the base price of the product.
  4. I don't want my customers to be scared off by a $250.00 price tag ... by default I want them to see the product only costs $100. It only costs $250 if they want to purchase the DVD.
  5. The ONLY way to accomplish this (and to have both shippable and download on the same product page) is to (1) make the base price of the product be $100, and (2) set a price adjustment in the attributes for the DVD to be +150.00.
  6. This works perfectly fine, but there is one possible confusion for the customer. When they see the product anywhere in the site (catalog, product pages, etc.), they see "SKU 001" and "$100.00".
  7. Now of course, when they purchase the item and go to the checkout, it will say "SKU 002" and "$100.00", but for someone who is looking closely at the products, they may argue that we are advertising the DVDs for $100.00, therefore it should be sold to them at that price.

Does this make sense? It is an important consideration.

torgosPizza's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.
Joined: 08/14/2007
Juice: 4110
Re: Re: Re: Re: Re: Ryan wrote:It should be

Is this the same thing as setting the $250 as the base price, making an adjustment option of with a cost change of -150, and then setting the -150 option to be the default? Would that work? (Not sure if it will, just spitballing)

--
Help directly fund development: Donate via PayPal!

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15422
Re: Re: Re: Re: Re: Ryan wrote:It should be

I think it makes sense, but I still don't see why you can't just make SKU002 be the product SKU and $100 the product price. Leave the box checked for "products and its derivatives are shippable" and then specify in the file download feature attached to SKU002 that the file download should make it non-shippable. This is exactly how I configured http://livetest.ubercart.org/uc1/product/cha0s-jams-recursion-emerge. Make the cheaper one the default and the product price, and make the more expensive one an option with a price adjustment.

Does that not accomplish your needs? Maybe you can look at the product I linked above and tell me exactly how it's not functioning as you're envisioning? The only possible difference I can see was I made the product SKU CHA0S instead of CHA0S-MP3, but you can do that without changing anything.

squarecandy's picture
Offline
Joined: 01/04/2012
Juice: 8
Re: Download and DVD as separate product attributes?

Thanks - this thread was very helpful to me.