How to allow users to upload files to a product, download files from a product, and a different way to allow image galleries on a variable product.