I'm a freelance Drupal developer who loves enabling organizations switch to free and open source software.
There are plenty Drupal modules that offer ways to upload new files and to attach them to nodes. There's the core upload module, the image module that creates an image content type, filefield that creates a CCK field, ... The options are much more limited when it comes to re-using already uploaded files. You could use a nodereference field or image_attach to link image nodes, or a WYSIWYG plug-in like IMCE, or the WebFM module, and that about covers it.
For a current project in Drupal 6 I was looking for a CCK widget that allowed me to upload new files as well as easily access existing files. Drupal 5 has the asset module and Drupal 7 will have the wonderful media module but for Drupal 6 the options are very limited. After a lot of searching I came across the FileField Sources module. It enhances the filefield module (that allows you to upload new files) by adding a way to import files by url and by adding an autocomplete field to search for existing files. One of its most interesting features for me was the bridge with IMCE. All in all these three extra options allow for an incredible flexibility in file management. And because the selected file eventually ends up in a filefield field it can be plugged into the multitude of modules that support it, such as media mover for instance.

The asset module was created by Roger Lopez as a means to handle all types of files without needing to install imagefield, audio, youtube_cck, imce and a couple of other modules. An asset is any type of file that has been uploaded in the asset wizard: images, audio, youtube videos, flash movies, text documents, pdfs,... Permissions can be set to both assets and directories, making them publicly available to anyone, to specific roles or just to yourself. For the new drupal-powered amnesty.org the Amnesty International team needed such functionality, and much more. So for months the asset module has been updated, improved, tweaked and made more user-friendly. All these changes have now been contributed:
With these changes, the asset module integrates with the 3 most used modules (cck, panels and views) making it very easy to implement and integrate with your current site. Roger Lopez has been making a lot of changes himself in a separate version (currently not committed yet) so I hope to implement these changes as well, such as the use of thickbox instead of a pop-up for the asset wizard.
Continue reading »