I've been thinking about the posts made regarding file_products into core. So far I've come up with two things:
limits on downloads need to be flexible:
It looks like everyone has different needs/wants with how downloads are restricted. Instead of providing a few options for restrictions (by IP address, # of downloads, a set expiration date, etc.), it seems the thing to do is provide a hook that would be called to allow or deny the file download when the file is requested. This way someone could provide their own logic in a separate module for how they want to restrict downloads based on all the different variables (time since purchase, anonymous users, # of time downloaded and so on...).
file management needs to be flexible:
Like with limits on downloads, the way files are managed (uploaded, edited, etc.) is going vary a lot between applications. Music files might need preview versions for customers, images files might need to be watermarked, PDFs might need to be password protected, software will need to have a serial key, and so on. All of this too much for a general purpose file product module. Hooks should be set in place to operate on a file when it is uploaded, to provide new operations in the file manager, and so forth.
I'll try to come up with more hooks as I start writing code.



Joined: 08/07/2007