Download Tools will be a suite of tools consisting of modules that extend functionality for downloadable files made available on Drupal websites. These modules will extend the Drupal core File module. Initially, the following modules will be included: Download Limit, Download Count, Download Points, Download License, File Update.
1. Download Limit
Download Limit will allow limiting the number of downloads that can be made. This will help to prevent abuse of system resources. Limiting will be determined based on IP address (for anonymous users) and by UID (for authenticated users). The following parameters will be configurable per each user role:
- Number of downloads.
- Interval until download limit is reset. The interval begins when the first download is made. Once the limit has been reached (as specified by the allotted number of downloads) the user will not be able to make any further downloads until either the interval has passed or they have been promoted to a different user role that offers more downloads.
2. Download Count
A module already exists for counting the number of downloads that have been made: Download Count. This module will be ported for inclusion as a Drupal 7 module and most functionality will be included. Some existing issues will be fixed and any redundancy will be addressed, with an API if necessary.
3. Download Points
Download Points will integrate with the User Points module, so that authenticated users who have contributed files will be rewarded points each time their file has been uniquely downloaded. To prevent abuse, users will not be awarded points for downloading their own files and multiple subsequent downloads from the same IP address will not increase points.
4. Download License
For each file that has been attached to a node (or perhaps just per node), users will be able to choose from a drop-down list of predefined licenses. The list of licenses will be provided under the file field in the node form. Site admins can make specifying a license required or optional. Two fields will be available for defining licenses in the configuration, License Title and License Description.
If a license has been selected for a file, users will not be able to download the file until they have checked a box agreeing to the license terms. Agreement text will be displayed next to the check box and the copy will be configurable. License Description will be linked to as a jQuery modal box accessible via License Title anchor link.
Can be implemented using file fields.
5. File Update
Currently, there is no way to update a file that has already been added to a node without creating a new FID (file ID). This is problematic for modules such as Download Count and any other relationships based on FID. A scenario where this causes issues is if a user wants to update an existing file (example_v1.tar.gz) with new version (example_v1.1.tar.gz). If they delete the existing file and upload the new version, the download count will be lost. What is required is a button to update existing files with a new file in a way that FID is preserved.
Already in development with Media File Replace: http://drupal.org/sandbox/krisahil/1268978
Benjamin, with Agaric will be leading development on this project. Co-maintainers are welcome, as are suggestions and feedback.
Downloads
Project Information
- Maintenance status: Seeking co-maintainer(s)
- Development status: Under active development
- Last modified: October 23, 2011