tags:

views:

96

answers:

2

Dear Stack overflow,

I would like to know the best way of going about getting Drupal to provide a site with the following functionality:

UPLOADS 1. User Uploads a File (jpg, .cr2) through a simple file field form 2. If user is not anonymous they need control to specifiy if file is available for public, private or for a group of buddy's 3. User is given easy way to publicise the link which will allow general public and other users download the file. URL is mapped into a shorter format, (in case the user wants to actually write down the address!) The download URL may be moved to a different server if traffic is high.

IMCE 1. Uploads to be made via IMCE for authenticated users.

DOWNLOADS 1. Check the file request and make sure only anonymous users are not coming from blocked IPs 2. Make sure request is from a human 3. Make sure request is authorised (if for a group, then detect user and if necessary make a login screen) 4. If user is authorised then check if the user has enough points to make download. 5. All downloads are to be counted

SECURITY CONTROLS 6. Downloads to be expired after set time 7. Downloads to be expired after set number of downloads 8. Check that not too many requests for a file are happening in a time period.

After reading and downloading modules a few modules and making my own pretend custom module, it would seem that Drupal is capable of doing this, but I am having a hard time figuring things out and making files be protected when people know the original link address for instance.

Many thanks for your suggestions!

+1  A: 

Drupal has a steep learning curve, everybody goes through these issues.

You are right that drupal has the capabilty to do this for you.

But figuring it out is more fun, I guess..

try one problem at a time,for help, also try irc channels #drupal , #drupal-support which are awesome.

Also drupal.org forums are pretty active and you can find solutions to most issues there as well..

Rishav Rastogi
A: 

Most of what you are asking for is in core allready. This ebook looks to handle some of the rest for you.

Jeremy French