Installation, Upgrade & Release Notes

We have choosen the manual approach for installation of this Magento Extension, to give everyone also the freedom to look inside of the package before installation. Also if the extensions is active in a production environment, any automated update may interfere with the store functionality.

  • Magento 1.3.x and all prerequisites coming with it.
  • Your Magento installation is required to be faultless and fully functional.
  • We strongly recommend to perform the first install on a non-productive system, to perform your settings and any customizations there first. And then to install the extension on your production system with transfering your settings and customization.



  1. Take your Magento Shop offline in case you are installing on your Production System. In case during installation your Magento Store is activated the installation may become incomplete and error messages or malfunctions may result.

  2. If you are using Caching in your Magento Store, login into your Magento Administration and disable your Cache: System » Cache Management » All Cache » Disable.
  3. Unpack the contents of the package into the home directory of your Magento installation on your server.
  4. DownloadPlus is creating database tables, so in your Store Administrator go to: Configuration » System » Advanced and check if the DownloadPlus Module is shown. Enable it if disabled. Save your Configuration in any case.
  5. If you are using Caching in your Magento Store, in your Magento Administration refresh your Cache: System » Cache Management » All Cache » Refresh. If previously having the Cache disabled for installation, you may now enable it again.
  6. Read through here for the initial configuration of your Magento Store to work with DownloadPlus.



DownloadPlus requires an active CRON job on the Magento Store to automatically process internal Jobs, please see the Magento Documentation here for how to configure the required CRON job...


  1. Take your Magento Shop offline in case you are updating on your Production System. In case during installation your Magento Store is activated the update may become incomplete and error messages or malfunctions may result.

  2. Backup your Magento installation, or at least backup the folder app/code/local/Pisc/Downloadplus for saving any current installed version of DownloadPlus.
  3. Delete the folder app/code/local/Pisc/Downloadplus to ensure correct updating of store resources required by the extension.
  4. Unpack the contents of the package into the home directory of your Magento installation on your server.
  5. Alternatively you may just unpack the files in app/code/local/Pisc/Downloadplus and app/etc/modules for the main extension files, and update any template related files later manually.
  6. If you are using Caching in your Magento Store, login into your Magento Administration and refresh your Cache: System » Cache Management » All Cache » Refresh.



To uninstall DownloadPlus from your Store follow this procedure:

  1. You may want to take your Store offline, be aware that removing DownloadPlus from a Store in operation may generate errors.
  2. Remove the extension definition file /app/etc/modules/Pisc_Downloadplus.xml
  3. Update your Stores Cache using the Administrator and System » Cache Management » All Cache » Refresh
  4. Remove the directory app/code/local/Pisc/Downloadplus
  5. Open your Magento Database using a MySQL Database Frontend (like PhpMyAdmin) and remove the database tables shown below.
  6. Remove the Version entry for DownloadPlus in the Magento Database by opening the table core_resource and removing the row entry for downloadplus_setup.
    This table name may carry the table prefix defined for your Magento installation.
  7. Remove the related layout file from your Frontend template directory in app/design/frontend/…/layout/downloadplus.xml.
  8. Remove the related templates from your Frontend template directory in app/design/frontend/…/template/downloadplus.
  9. Remove the related layout file from your Administrator template directory in app/design/adminhtml/…/layout/downloadplus.xml.
  10. Remove the related templates from your Administrator template directory in app/design/adminhtml/…/template/downloadplus.
  11. If having modified your template files to include any template parts of DownloadPlus, remove these customizations from your template files.



5.1 Custom Administrator URL

Refrain from using the following Configuration Option in System » Configuration » Admin » Admin Base URL and set this Option to NO. This configuration option is known to create difficulties with the whole Administrator Backend.

To use a Custom Administrator URL use the app/etc/local.xml configuration file to define a different Frontend Router Name for the Administrator:

app/etc/local.xml

<admin>
   <routers>
       <adminhtml>
           <args>
               <frontName><![CDATA[some-custom-admin-url]]></frontName>-->
           </args>
       </adminhtml>
   </routers>
</admin>



5.2 Manually create Database Tables

In the rare event that Magento was unable to create the Database Tables for DownloadPlus by the automated setup itself, here are the SQL Commands to create these Database Tables manually.

Before creating these tables, look into the table names of the tables already existing in your Magento Database. These may carry a Table Prefix (for example: mage_).
In case such Table Prefix is used in your Magento Database, prefix the table names with the same Table Prefix (in our example: euvat_customer_exclude will get mage_euvat_customer_exclude).


Database Table 'downloadplus_log'

CREATE TABLE IF NOT EXISTS 'downloadplus_log' (
  `log_id` INT(11) NOT NULL AUTO_INCREMENT,
  `item_id` INT(11) DEFAULT NULL,
  `sample_id` INT(11) DEFAULT NULL,
  `ip` VARCHAR(15) DEFAULT NULL,
  `timestamp` INT(11) DEFAULT NULL,
  `store_id` SMALLINT(11) NOT NULL,
  PRIMARY KEY (`log_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Downloadable Items Log table';


Database Table 'downloadplus_download_detail'

CREATE TABLE IF NOT EXISTS 'downloadplus_download_detail' (
  `detail_id` INT(11) NOT NULL AUTO_INCREMENT,
  `store_id` SMALLINT(6) DEFAULT NULL,
  `product_id` INT(10) UNSIGNED DEFAULT NULL,
  `link_id` INT(11) DEFAULT NULL,
  `link_sample_id` INT(11) DEFAULT NULL,
  `sample_id` INT(11) DEFAULT NULL,
  `link_customer_item_id` INT(11) DEFAULT NULL,
  `link_product_item_id` INT(11) DEFAULT NULL,
  `file` VARCHAR(255) NOT NULL,
  `active` tinyint(4) NOT NULL DEFAULT '0',
  `version` VARCHAR(255) NOT NULL,
  `detail` text NOT NULL,
  PRIMARY KEY (`detail_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Downloadplus Download Details Table';


Datbase Table 'downloadplus_link_customer_item'

CREATE TABLE IF NOT EXISTS 'downloadplus_link_customer_item' (
  `item_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `purchased_id` INT(10) UNSIGNED DEFAULT NULL,
  `order_item_id` INT(10) UNSIGNED DEFAULT NULL,
  `product_id` INT(10) UNSIGNED DEFAULT NULL,
  `link_hash` VARCHAR(255) NOT NULL DEFAULT '',
  `number_of_downloads_bought` INT(10) UNSIGNED NOT NULL DEFAULT '0',
  `number_of_downloads_used` INT(10) UNSIGNED NOT NULL DEFAULT '0',
  `link_id` INT(20) UNSIGNED NOT NULL DEFAULT '0',
  `link_title` VARCHAR(255) NOT NULL DEFAULT '',
  `is_shareable` SMALLINT(1) UNSIGNED NOT NULL DEFAULT '0',
  `link_url` VARCHAR(255) NOT NULL DEFAULT '',
  `link_file` VARCHAR(255) NOT NULL DEFAULT '',
  `link_type` VARCHAR(255) NOT NULL DEFAULT '',
  `status` VARCHAR(50) NOT NULL DEFAULT '',
  `created_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`item_id`),
  KEY `DOWNLOADPLUS_CUSTOMER_LINK_PURCHASED_ID` (`purchased_id`),
  KEY `DOWNLOADPLUS_CUSTOMER_ORDER_ITEM_ID` (`order_item_id`),
  KEY `DOWNLOADPLUS_CUSTOMER_LINK_HASH` (`link_hash`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Downloadplus additional Customer Download Items';
 
ALTER TABLE 'downloadplus_link_customer_item'
  ADD CONSTRAINT `FK_DOWNLOADPLUS_CUSTOMER_LINK_PURCHASED_ID` FOREIGN KEY (`purchased_id`) REFERENCES {$this->getTable('downloadable_link_purchased')} (`purchased_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `FK_DOWNLOADPLUS_CUSTOMER_ORDER_ITEM_ID` FOREIGN KEY (`order_item_id`) REFERENCES {$this->getTable('sales_flat_order_item')} (`item_id`) ON DELETE CASCADE ON UPDATE CASCADE;


Database Table 'downloadplus_link_product_item'

CREATE TABLE IF NOT EXISTS 'downloadplus_link_product_item' (
  link_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  product_id INT(10) UNSIGNED NOT NULL DEFAULT '0',
  link_title VARCHAR(255) NOT NULL DEFAULT '',
  link_url VARCHAR(255) NOT NULL DEFAULT '',
  link_file VARCHAR(255) NOT NULL DEFAULT '',
  link_type VARCHAR(20) NOT NULL DEFAULT '',
  sort_order INT(10) UNSIGNED NOT NULL DEFAULT '0',
  PRIMARY KEY (link_id),
  KEY DOWNLODABLE_SAMPLE_PRODUCT (product_id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Downloadplus additional Product Download Items';
 
ALTER TABLE 'downloadplus_link_product_item'
  ADD CONSTRAINT FK_DOWNLODPLUS_PRODUCT_LINK FOREIGN KEY (product_id) REFERENCES {$this->getTable('catalog_product_entity')} (entity_id) ON DELETE CASCADE ON UPDATE CASCADE;


Database Table 'downloadplus_link_purchased_item_serialnumber'

CREATE TABLE IF NOT EXISTS 'downloadplus_link_purchased_item_serialnumber' (
  `serial_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `purchased_id` INT(10) UNSIGNED DEFAULT NULL,
  `order_item_id` INT(10) UNSIGNED DEFAULT NULL,
  `product_id` INT(10) UNSIGNED DEFAULT NULL,
  `link_id` INT(20) UNSIGNED DEFAULT NULL,
  `serial_title` VARCHAR(255) NOT NULL DEFAULT '',
  `serial_number` text NOT NULL DEFAULT '',
  `serial_hash` VARCHAR(255) DEFAULT NULL,
  `status` VARCHAR(50) NOT NULL DEFAULT '',
  `created_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`serial_id`),
  KEY `DOWNLOADPLUS_CUSTOMER_LINK_PURCHASED_ID` (`purchased_id`),
  KEY `DOWNLOADPLUS_CUSTOMER_ORDER_ITEM_ID` (`order_item_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Downloadplus Serial Number for Downloadable Purchased Items';


Database Table 'downloadplus_product_serialnumber'

CREATE TABLE IF NOT EXISTS 'downloadplus_product_serialnumber' (
  `serial_hash` VARCHAR(255) NOT NULL,
  `product_id` INT(10) UNSIGNED NOT NULL,
  `serial_number` text NOT NULL,
  `serial_number_pool` VARCHAR(255) DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`serial_hash`),
  KEY `DOWNLOADPLUS_PRODUCT_SERIALNUMBER_PRODUCT_ID` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='DownloadPlus pool of Serialnumbers for Products';
");


Database Table 'downloadplus_link_extension'

CREATE TABLE IF NOT EXISTS 'downloadplus_link_extension' (
  id INT(11) NOT NULL AUTO_INCREMENT,
  link_id INT(11) NOT NULL,
  expiry tinyint(4) DEFAULT NULL,
  expire_on VARCHAR(50) DEFAULT NULL,
  serial_number_pool VARCHAR(255) DEFAULT NULL,
  attributes text,
  PRIMARY KEY (id),
  UNIQUE KEY link_id (link_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Data extension for downloadable links';


Database Table 'downloadplus_link_purchased_item_extension'

CREATE TABLE IF NOT EXISTS 'downloadplus_link_purchased_item_extension' (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `item_id` INT(11) NOT NULL,
  `expires_on` DATE DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `item_id` (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Data extension for purchased downloadable items';



Get Updates

Updates to all of your purchased Commercial Unlimited Licenses are available for Download in your Store Account:

Update to Version 0.3.23

This is a regular maintenance relase with also adding following new functions:


Update to Version 0.3.22

Regular maintenance release, correcting a issue where a error might occur when creating a new downloadable link.

Update to Version 0.3.21

This is a regular maintenance release with the following new functions:


Update to Version 0.3.20

Update to Version 0.3.19

Update to Version 0.3.18

This is a regular maintenance release:

  • It corrects a issue where a download of a historical file version is selected and the store does deliver the most recent version instead of the older version selected.
  • Template files of the “Download Archive” pages, presented when downloading a historical release, have been updated to also show the version info of the current download release.


Update to Version 0.3.17

This is a regular maintenance release and is also adding the following new features:


Update to Version 0.3.16

This is a regular maintenance release on minor issues reported by the extension users.

Update to Version 0.3.15

This update is now adding the ability to import serialnumbers to any product type and assign these automatically to orders:

  • Add serialnumbers to products into a pool of free serialnumbers which get automatically assigned to customers on their order of the product. All product types are supported on this.
  • Receive notification emails upon low number of free serialnumbers or whenever a customer order did not receive a serialnumber due to the serialnumber pool of a product being empty.


Update to Version 0.3.14

This update is now adding the ability to add Serialnumbers to Customer Accounts and Orders for any Product Type and non-downloadable Products.

Update to Version 0.3.13

This update is now adding the ability to add Files or URLs to Customer Accounts and Orders for any Product Type and non-downloadable Products.
Also some maintenance improvements have been applied to this update.

Update to Version 0.3.12

This is a maintenance update correcting possible issues when adding customer downloads after a fresh Magento installation.

Update to Version 0.3.11

This update introduces the function to allow download of Serialnumbers as files. In addition Serialnumbers may now also contain multiple lines.

Update to Version 0.3.10 (for Magento 1.4.0.x)

This is a maintenance release addressing a issue in the Administrator Backend when using DownloadPlus with Magento 1.4.1.x.

Update to Version 0.3.9

This is a maintenance release where missing Email Template files have been added. This update also addresses a error message that might appear when working with the Customer Account in the Administrator Backend.

Update to Version 0.3.8

This is a maintenance release and has received the following improvements:

  • When saving a Additional Download for a Customer Account the related File Description might not get saved. This is corrected with this release.
  • The database table “downloadplus_download_detail” has received a change: The column “link_purchased_item_id” is now renamed to “link_customer_item_id”



Known Issues

When translating messages, some translated messages may not appear in the frontend. To correct this modify the following file:

app/code/local/Pisc/Downloadplus/etc/config.xml

<frontend>
 
<!-- Add this here to the <frontend> branch to include the Language File also for the Frontend -->
    <translate>
        <modules>
            <Pisc_Downloadplus>
                <files>
                    <default>Pisc_Downloadplus.csv</default>
                </files>
            </Pisc_Downloadplus>
        </modules>
    </translate>
 
</frontend>


This will be corrected in the upcoming release.

Update to Version 0.3.7

This is a maintenance release and that has received the following improvements:

  • Top-Downloads and Updated Sidebars now support Multi-Store environments



Update to Version 0.3.6

We have added many new functions to this release of DownloadPlus:


This release has also received the following improvements:

  • Correcting directory slashes when being used on a Windows System addressing possible issues with the Version History of Downloadable Products.



Update to Version 0.3.5

The following new features have been added:



Update to Version 0.3.4

This release is addressing issues that may occur with the URL's generated and the Version handling.

The following new features have been added:



Update to Version 0.3.3

This release adds a replacement for the default 'My Downloadable Products' Page in the Frontend Customer Account.

Update to Version 0.3.2

This is a regular Maintenance Update. It corrects a minor issue in the Version History Block that may create a error message.

Update to Version 0.3.1

This is a maintenance release. In case you are updating from a Version older than 0.3.0, please see the notes below for upgrading to 0.3.0 and above.

Update to Version 0.3.0

This is a upgrade with major new functions added. The most relevant changes from the previous version are:

  • All Layout directives of DownloadPlus have been moved to Layout file downloadplus.xml


Required changes before updating to this version:

Comment out the following Block definitions

Comment out (or remove) the following Block definitions, as these have been moved to downloadplus.xml. Otherwise your store may throw a error message because of a duplicate block definition:

app/design/frontend/default/.../layout/downloadable.xml

<!--
<core_download_link>
...
</core_download_link>
-->
 
<!--
<core_download_sample>
...
</core_download_sample>
-->