Ronin Round Table: Downloads Ahoy!

By Evan Sass

This past June we switched our Green Ronin Online Store from Miva Merchant to Shopify. As you discovered if you purchased electronic products through the previous incarnation of our store and then tried to redownload them after we switched software, those older links are no longer present on your Account page. Finally, we now have a solution in place for you.

TL;DR: To access your old downloads, visit and follow the instructions.

The problem was that Shopify, for Perfectly Reasonable Reasons, allows us to import customer data and product data, but not past order data. Thus, we were able to get the new store up and running and switch all online ordering over to, long before I was able to put together a solution for downloading past purchases.

So what took so long? I would have delegated the project to my minions, but it turns out I don’t have any. Honestly, although I have some pretty okay coding chops, I prefer to use scripts that other people write, whether free and open-source, or paid systems like Shopify. However, in talking over the project with Nicole and Marc, we ruled out using pre-existing software. Not only did we not find anything that did what we needed it to, optimally we would be able to use existing database tables as-is. It was time to dust off my PHP skills and code something from scratch.

I started by exporting the database to a text file and poring over the structure to see what I would need to properly serve up download links. Having narrowed down the complicated database to just a few tables, I tossed out the parts I didn’t need and created a new test database containing only the parts I did.

At first I figured I would have to create a login system, but Marc, who has a Master’s Degree in Thinking About Stuff and Making Things Work More Gooder (possibly not his actual degree), suggested the system could just email a link to the customer, much like “forgot your password” systems do. That was the nudge I needed. What followed was a couple weeks of pounding away at the keyboard, uploading files to my test site, and refreshing browser windows. And now we have a working system.

Thanks for your patience. My testers all report they can download their PDFs through the new system. Hopefully the same will be true for you.

In case you’re still reading, here’s how it works:

  1. Visit
  2. Enter your email address and click Go.
  3. The system will tell you if there are downloads associated with that address and ask if you want to send an email. If there are and you do, click Send.
  4. Check your inbox for a message from our PDF Support address, and click the link you find therein.
  5. Voila! Meet your very own personal downloads page, with links to all those PDFs you lost when your dog ate your hard drive.


  • If you don’t see downloads for products you remember buying through our old online store, try a different email address.
  • Hint: The system uses the email address that you entered under Shipping Address.
  • If the system finds downloads for an email address you don’t have access to any more, please drop a line to PDF Support (no space) at Include your order number if you have it.
  • Please do the same if you run into any other problems with retrieving your downloads.
  • Note: This download system is completely separate from our new online store. Downloads from products you purchased via can be found on your Account page on that site. Conversely, the downloads from the old store will never be integrated into the new store, unless Shopify implements some major changes in how their site works.

Questions & Answers:

Q: Since there’s no password, couldn’t someone with less scruples than I have just give their download page link to their friends?

A: Anyone with a download page link has already paid for these electronic products, rather than torrenting them, and has also had plenty of time to decide whether they think it’s okay to share the files with their friends.

Q: Can’t someone put my email address in the form and click Send a bunch of times?

A: The system keeps track of the last time a link was sent to your email address, and there is a built-in waiting period of 10 minutes before the link can be sent to an address again.