ESD

Version

5.5.0 or newer

Table of contents

Electronic Software Distribution (ESD) is useful to sell software products. These products are ordered online, paid and put up for download. Besides software other digital products as e-books, music, videos, games and more can be offered via ESD.

Settings and Configuration

At basic settings > Items > ESD you can manage the settings regarding ESD products.

ESD-Key

The ESD-Key (1) is an individual alphanumerical combination and required for selling ESD items. The files associated to an ESD item are stored in a hidden folder on your server named by this key. Thats why you should change your key before using ESD to get an individual folder name.

ESD-Min-Serials

The field ESD-Min-Serials (2) defines, how many serials at least must be available. If this value is surpassed, an automatic mail will be send to you. For this the template sNOSERIALS is used. Please note, that the item remains up for sale if ESD-Min-Serials is surpassed, if no free serials are available, the remaining items will be sold without serial!

Release download with payment status

Here you can set the payment status which enables the download for your customer in his account.

Download strategy for ESD files

Here you define, with which technical service the download will be served.

  • Link: A direct link to the download file is provided. This is insecure because everyone who has the link can download the file!
  • PHP: The download file is linked over the PHP process, this can be problematic with bigger files.
  • X-Sendfile: Only for servers with Apache2 configuration with the Apache2 module X-Sendfile. This mode can handle bigger files.
  • X-Accel: Only for servers with Nginx configuration with the Nginx module X-Accel. This mode can handle bigger files.

The methods X-Sendfile and X-Accel require special setups and configurations on the server / the modules. If you are unsure about configuring, don't hesitate to contact your hoster. Wrong settings or misconfigurations may result in an unreachable server!

Activating payment methods for ESD

Because ESD Items should be provided intantly after the checkout, it's important to use a payment method, which confirms the payload direct after the checkout, e.g. PayPal. To ensure this, every payment method has to be activated for ESD items. Just activate "Active for ESD items" to make sure, that you customer can only pay with this method, if he has an ESD item in his cart.

Offering ESD articles

Overview

To define an item as ESD item, you need to create and save a new item at first. Continue by selecting the tab named ESD. The tab is structured as seen below:

The bar on top of the tab provides the option to define variants as new ESD item or delete existing ones (1). Below this, existing ESD articles are listed (2). Additionally you can see how many downloads occured, when the ESD item was added and if serial numbers and files were added. The search field provides the option to find existing ESD items faster (3).

Creating and editing an ESD item

To start, select the desired item via select variant and click Add as new ESD item. The item is now ready to be linked to a file and can be edited. When you open the ESD item you'll encounter the following view.

If the needed file is not already uploaded to the ESD folder on your server, click select file (1). Depending on the browser you use it is possible to upload a file via drag & drop. For this just drag&drop the file in the hatched drag & drop area (2). Within the block Select file (3) you can select the desired file and link it to the item. If a download is already available on the server you can select it in the pulldown menu. As soon as the file is linked to the item, it will be displayed in the block file information (4). Click Save ESD (5) to save your changes. Back to overview (6) brings you back to the ESD overview of your item.

After the file was linked to the item succesfully, it can be equipped with a serial number. Click the checkbox next to Serial administration (1). This activates the serial number administration (2). Clicking Add serials (3) opens a pop-up, where you may add serial numbers (4). Add the serial numbers here and save them with a click on Add serials (5).

Serial number(s) overview

  • Add serials - opens the module to add serial numbers
  • Delete selected - delete serial numbers marked in the first column
  • Delete not assigned serials - deletes all serial numbers not assigned to a customer
  • Assigned customer - displays the eMail of the buyer
  • Assigned to - date of order
  • Delete serial / Open customer account - the first icon deletes the serial - Clicking the second icon brings you to the buyer's account

Please consider, that the article remains available for order, even if no serial numbers are left, the item will be sold without serial! You may select in the backend, when you want to receive an eMail for the lack of serial numbers.

Store large files on FTP-Server

Depending on your server configuration, it may occur that a certain upload limit is hit. This can be caused by the size of the file or the required time. Because of this the process in your backend will stop after a certain time. To avoid this, you can ask your hoster for increasing the PHP setting "upload_max_filesize" or you upload this files via FTP. The folder in which the files will be stored can be found under /files/ESD-KEY. The file is provided via php - the URL is modified and is not visible as a direct link in the frontend.

ESD-item in the frontend

Because of the link to an ESD-file the item is marked as "available as instant download".

When at least one item in the cart is an ESD item, a corresponding note is displayed during the terms, conditions and cancellation policy step.

ESD-items in the customer account

The download item and the serial number are available under "My Account > My instant downloads" immediately after the successful checkout, if the defined payment state was set. It makes sense to offer only payment methods with guaranteed payment after the checkout (e.g. PayPal).

Selling a music album as an ESD-item

The following example shows how you may sell an ESD-item, e.g. as an album and use all the abilities the ESD-function holds.

Step 1: Creating a normal item

To use an item as ESD-item, you have to create and save a new item. Because you want to sell a complete album and the single tracks, you also have to activate "variants" and create the needed variants. One for the album and one for each track.

Step 2: Generate variants

Before switching to the ESD tab, you have to generate the variants. These variants may each use different prices. After generating the variants, you have to switch to the tab ESD.

Step 3: Linking variants and ESD-items

Use the dropdown menu to select the variants (1) and create a new ESD-item (2) for each variant. Please note, that only variants are available, who aren't already linked to an ESD item. After the variant was prepared to be linked with a file, you are able to open the file information with the edit-button (3).

Step 4: Linking file and variant

If the file is not yet available in the ESD-folder on your server, use the button Select file (1). Alternatively you may upload it by Drag & Drop (2), depending on your browser. Using the area Select file (3) you can select the needed file from your server and link it to the variant. If a download is already available on your server, you can select it using the pulldown-menu. As soon as the file is linked to the variant and the item was saved, the variant is displayed in the block file info (4). Now click the button Save ESD (5). The button Back to overview next to the save button takes you back to the overview.

Step 5: Add ESD items to the cart

In the frontend your customer can select a single track or the whole album with the dropdown. The choosen variant will be marked as an instant download because of the link to an ESD-item.

Step 6: Downloading file

Depending on the payment status of the activation the download item is instantly available at "My account > My instant downloads" after a successful checkout. It makes sense to use only payment methods which ensure the payment after a successful checkout (e.g. PayPal).