Jump to content

Any suggestions for selling large files? I'm thinking of just delivering download URLs


Recommended Posts

I have a client who had produced several teaching DVDs. About eight, with possibly more on the way. We've converted them to MP4s and even have iPhone / iPad versions of the video. Now comes the time to select a shopping cart! Presta Shop is high in the running, but I'm having reservations about the delivery of these large files.

 

Each file is 700MB. Complicating matters, the client wants to sell the videos in bundles as well. That means either delivering as many as 8 x 700MB files or a single 6.6GB file. That seems to be a no-go in PrestaShop as a result of memory needs.

 

To keep PrestaShop in the running, I'm thinking about merely releasing download URLs. The files will be hosted by myself, people will make a purchase and then the URLs will be released to them via email much like a product-key style transaction.

 

How does this sound to the wiser PrestaShop implementers out there? My main concerns are:

  • URL sharing. (Don't want people sharing the download URL, but it might not be a huge problem)
  • URL obfuscation. (I'd really like to give a "dummy" URL that's pretty, such as ClientDomain.com/go/Video1 that in reality brings the file from mybackendserver/client1/storage/videofiles/set1/video1)
  • Prompt delivery of the URL.

What say ye? Am I mad? Am I asking for trouble? I really just want to be able to deliver many hundreds of MBs of digital product to customers in the nicest way possible without tanking my server's PHP settings. <_<

Link to comment
Share on other sites

I think your proposed solution works well. I would avoid using the virtual product in prestashop then, and just create normal products. The main difference is having to provide a carrier selection, since virtual products would typically not require shipping.

 

You could then just create a module that "hooks" the newOrder function, and deliver a separate email that contains the link for the customer. That module could then also access your site and register the customer as a client of your store, allowing them to access the file.

  • Like 1
Link to comment
Share on other sites

You can use 700MB downloadable files, it is not uncommon.

Check out the following module http://www.presto-changeo.com/en/prestashop-modules/69-batch-downloadable-product-pro.html , it will let you upload the files using FTP, and also the ability to assign multiple downloadable files for each product (so the customer would download 8 700MB files rather than 1 6gb file.

 

The problem with a URL to download is that it can be shared, whereas downloadable products can only be used by the account who bought them.

  • Like 1
Link to comment
Share on other sites

I think your proposed solution works well. I would avoid using the virtual product in prestashop then, and just create normal products. The main difference is having to provide a carrier selection, since virtual products would typically not require shipping.

 

You could then just create a module that "hooks" the newOrder function, and deliver a separate email that contains the link for the customer. That module could then also access your site and register the customer as a client of your store, allowing them to access the file.

 

Ohhh, yeah. Didn't think about the carrier selection part. Is it terribly tricky to customize that process to remove parts of the form that you don't want or need?

 

I see that some people are using PrestaShop to deliver product keys, and I thought that perhaps I could use whatever methods and plugins they do to deliver URLs. Anyone reading this have experience with delivering product keys as a purchase item?

 

 

You can use 700MB downloadable files, it is not uncommon.

Check out the following module http://www.presto-ch...roduct-pro.html , it will let you upload the files using FTP, and also the ability to assign multiple downloadable files for each product (so the customer would download 8 700MB files rather than 1 6gb file.

 

The problem with a URL to download is that it can be shared, whereas downloadable products can only be used by the account who bought them.

Okay, I think I came across that module while I was researching this project. The only trouble that seemed to exist was that you need to calculate the size of the file and multiply it by 2.5 to see how much RAM is necessary for the download to take place. I'm still baffled by this because... it's just a download. So there must be something that PrestaShop is doing behind the scenes that I'm not taking into account. I've got 4GB of RAM on the server and can add more, but yikes. If we get two customers simultaneously (highly likely around the launch time) things will get ugly...

 

...unless PrestaShop uses swap space? I've got plenty of swap if that's usable to PrestaShop (or maybe it's more of a PHP setting than a PrestaShop setting). Certainly disk I/O speed concerns would be moot considering that the ultimate bottleneck will be network speed which for me in this scenario caps at 100Mbps.

 

I like your suggestion, it's just I'm worried about resource usage.

Link to comment
Share on other sites

i don't think the issue is related to sharing a download URL, since the prestashop getfile URL can be shared just as easily. the key is to ensure that the file can only be accessed once per customer, with the ability to re-download as required. prestashop supports this, as can any other solution.

 

the best thing i can suggest is to just try it. installing prestashop on the server and creating a virtual product is easy enough. then just make a purchase, get the download URL, and spawn the download multiple times in different browser windows. this way you can get a sense for how many simultaneous downloads before you run out of memory.

 

if you have access to any type of testing tools that could automate it for you would be helpful, but really not necessary for this kind of proof of concept.

Link to comment
Share on other sites

i don't think the issue is related to sharing a download URL, since the prestashop getfile URL can be shared just as easily. the key is to ensure that the file can only be accessed once per customer, with the ability to re-download as required. prestashop supports this, as can any other solution.

 

the best thing i can suggest is to just try it. installing prestashop on the server and creating a virtual product is easy enough. then just make a purchase, get the download URL, and spawn the download multiple times in different browser windows. this way you can get a sense for how many simultaneous downloads before you run out of memory.

 

if you have access to any type of testing tools that could automate it for you would be helpful, but really not necessary for this kind of proof of concept.

Yeah, that's what I was thinking. Installing a test system would be a snap. Never know until you try! :rolleyes:
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...