Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't download products in 3.8.9.4 #37

Closed
JustinSainton opened this issue Dec 20, 2012 · 21 comments
Closed

Can't download products in 3.8.9.4 #37

JustinSainton opened this issue Dec 20, 2012 · 21 comments

Comments

@JustinSainton
Copy link
Member

Edited: From Visser's comment below which provides more details:

It is due to us linking to the Download File ID of a Product which becomes invalid when a store owner removes or changes the File Downloads for that Product (e.g. change of Plugin file versions, etc.).

When a customer purchases a Product they should get the File Downloads associated with that Product regardless of when they purchased it (I purchased ABC until my download number expires, not ABC v1.1 until the Product is updated).

@garyc40
Copy link
Collaborator

garyc40 commented Dec 20, 2012

The blog comment seems to be a totally different issue (one that I myself couldn't reproduce).

As for this issue, we haven't modified any file ID verification code in 3.8.9.x. If you look at this, you'll see that nothing changes in the way we verify file ID:
https://github.com/wp-e-commerce/WP-e-Commerce/blame/branch-3.8/wpsc-includes/ajax.functions.php

Is there a limit of number of downloads for that product file? Check Settings->Admin and you'll see the "Max downloads per file" field, which defaults to 1. Which means if that file has been downloaded before, it will expire.

@visser
Copy link

visser commented Dec 21, 2012

It's a 3.8.8.5 or earlier bug, it just has surfaced in testing of 3.8.9.x.

It is due to us linking to the Download File ID of a Product which becomes invalid when a store owner removes or changes the File Downloads for that Product (e.g. change of Plugin file versions, etc.).

When a customer purchases a Product they should get the File Downloads associated with that Product regardless of when they purchased it (I purchased ABC until my download number expires, not ABC v1.1 until the Product is updated).

@JustinSainton
Copy link
Member Author

Ahh, I understand - that makes more sense than the original report. If this is something that has always been an issue in the 3.8.9 branch, I'm inclined to defer this to 3.8.10, as it's not really a regression due to a prior maintenance release, just a bug. An annoying one, to be sure.

@meloniq
Copy link
Contributor

meloniq commented Dec 21, 2012

If I'm good remember this one persist since I remember, 3.7.5?! After purchase download links are generated for user but they are not updated within product update. (I can be wrong, didn't investigate it)

@garyc40
Copy link
Collaborator

garyc40 commented Dec 22, 2012

There doesn't seem to be a lot of urgent request for this to be fixed in the support forums so I'm inclined to say this should be dealt with in 3.8.10.

@JustinSainton
Copy link
Member Author

Agreed

@leewillis77
Copy link
Member

I think there should be a it off a debate about how this should work. For example some store owners might not want people to get updated version of the files - they may want people just to get the version they purchased?

@JustinSainton
Copy link
Member Author

Yeah, I see your point, there's room for it to work both ways, for sure. I'd like to avoid adding more options though. Maybe we could ping @pippinsplugins and see what format people tend to use EDD in most and default to that, having an filter in place to have it work the other way?

I suppose my assumption would be that most would operate like the App Store - purchase once, updates forever (or for some length of time, at least.) But once we get into discussing that model, we start into a completely separate enhancement ticket :)

@leewillis77
Copy link
Member

Based on a quick bit of testing, EDD works as follows:

  • Create product with file A attached
  • Customer 1 purchases product, gets a link that allows them to download file A
  • Admin updates product, removes File A and adds File B
  • Customer 2 purchases product, gets a link that allows then to download file B
  • Customer 1 hits their download link again, and gets a zero-byte file

I'd argue that that behaviour is broken as well since customer 1 should always be able to get file A since that's what they purchased?

@instinct
Copy link
Member

instinct commented Jan 1, 2013

Hey everybody. Happy new year!!!

My thoughts on digital downloads are as follows;

  1. the download link that we send to the user should always download the latest version of the software - in the same way that the download link for the latest version of WordPress is always the same

(when we very first built digital download capabilities into WPEC this is the way that it used to work)

  1. if the customer wants to download an older version they should have access to those files from their "my downloads page / your-account/?downloads=true" and grab the files from there.

I also think that digital download access should be something that can be restricted / integrated with recurring billing. Lots of people sell annual subscriptions to digital downloads and I don't think WPEC should be any different.

We probably need better versioning control in general. We can take further pointers from Pippin :)

Best,
Dan

On 30/12/2012, at 3:53 AM, leewillis77 notifications@github.com wrote:

Based on a quick bit of testing, EDD works as follows:

Create product with file A attached
Customer 1 purchases product, gets a link that allows them to download file A
Admin updates product, removes File A and adds File B
Customer 2 purchases product, gets a link that allows then to download file B
Customer 1 hits their download link again, and gets a zero-byte file
I'd argue that that behaviour is broken as well since customer 1 should always be able to get file A since that's what they purchased?


Reply to this email directly or view it on GitHub.

@visser
Copy link

visser commented Jan 1, 2013

Hi Dan, agreed on point 1, point 2 as an extension for WP e-Commerce (keep core lean).

@JustinSainton
Copy link
Member Author

Yeah, I think Dan's spot on with this one and how it should work. And to be honest, with the amount of new work @lukecarbis has put into the new User page - I wouldn't necessarily consider point #2 to be core bloat, it seems like a nice core piece of functionality to improve how this works.

That said - it sounds like this feature doesn't have a ton of traction (where several others do), so I'm considering punting to 3.9 pending a pull request.

@benhuson
Copy link
Member

benhuson commented Feb 5, 2013

Like Dan, I think the default functionality should be if a product download is updated, existing users can access the updated files. This is the way I thought it actually worked.

However, I do agree with Lee that if someone has bought a product, if feels like they should have access to the exact thing they bought - that is what they paid for after all! That would involve some sort of versioning I guess.

However, at the same time, if I uploaded a file to a product, realised I had made a mistake and uploaded a replacement, I wouldn't want a customer to have access a history of all files I had uploaded.

Just a few things to think about...

@garyc40
Copy link
Collaborator

garyc40 commented Feb 15, 2013

I'm moving this to 3.9 as there has been no concrete solutions yet, and no-one has been assigned.

@WordpressGok
Copy link

Hey :)
I want to offer a pre-order for one of my digital product. An e-book.
So i simulated by doing an order of this product. Here no problem i get the downloadable link in the receipt e-mail and it's available too in my account.
Then i updated the digital file in the product panel option hoping it will automatically update the link in my account on " My downloadable links " .

And it happened that now there is no link, it has been deleted.
So as said above, the customer get only what he buys at this given moment, and nothing can be updated.
If i make a new version of my book and i want they can download the new version freely from their account, well they can't. They must do a new order, or i must send an e-mail with the new file to all customer from that specific product.

I'm surprised it works that way, i thought it was something available in this plugin.
I hope it will be added very soon because i will update all my books ! So it's really a problem.

Have a good day everyone and thank you for all your work :)

@JustinSainton JustinSainton modified the milestones: Future Release, 3.9.0 May 3, 2014
@instinct-ray
Copy link

Hey guys,

I just happen to test this feature in 3.9. I did a test of creating a downloadable product. Did a purchase, then click on "Your account" page.

The page tells me that "You have not purchased any downloadable products yet."

@JustinSainton
Copy link
Member Author

@instinct-ray can't replicate.

@instinct-ray
Copy link

Scratch my comment, Once I mark the payment as accepted payment, I can see my downloads!

@visser
Copy link

visser commented Dec 8, 2014

To reproduce this issue Ray you need to now open up Edit Product for that Product you purchased (and can now download electronic downloads from) and upload a new electronic file against that Product. Then save changes to the Product. Open My Account with the User that has permission to download that Product's electronic downloads then try to download the new electronic file.

@JustinSainton
Copy link
Member Author

Indeed, the original issue still persists. Was just confirming that @instinct-ray's issue was not a regression in 3.9.

@JustinSainton JustinSainton modified the milestones: 4.0, Future Release May 26, 2015
JustinSainton added a commit that referenced this issue May 26, 2015
…wnloads(), rather than a single file.

Also introduces wpsc_has_downloads filter.
See #37.
@JustinSainton
Copy link
Member Author

I believe this is resolved now, as of #1890 and subsequent commits (ab858fc, bb1cd35, et al.).

Will likely iterate further on this for performance, but new bugs, new tickets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants