On 5/8/07, Larry Garfield <larry@garfieldtech.com> wrote:
I would concur here. Leaving untracked orphan files around should not be typical behavior. Some sort of simple reference counting would need to be included so that (a) we can auto-delete files that are no longer in use (give or take a setting to do so or leave them) and/or (b) provide an admin area to manage said files.
If files become a first-class core data type (along with nodes, users, vocabularies, and comments), then they need some sort of direct management. It doesn't have to be complicated; something akin to admin/content/node is probably all that would be needed (with a "number of uses" column). But a first-class data type needs administrative control within core. Contribs can add alternate admin screens if desired, but core needs to have something.
I don't want to sound like a broken record here but I think we should just provide a framework in core and leave this up to the various modules. I've done a bit of work with the audio and image modules. Each of those has a clear relation between a node and files. Audio has the primary audio file as well as album artwork that may have been embedded in it. Image has the image and the resized derivative images. When you delete either one of these nodes, you want all the file deleted as well. But I can envision a module that acts like lets Joomla's Media Manager. You upload all your images via one screen and use it's UI for managing the images. When you create a node you select the image from the library and the module has some JavaScript to insert the images into nodes. The point is, these are very different methods of managing files and I don't think core should proscribe one. I'd love to be able to use core's upload and file handling functionality but it's currently (even in dopry's patch) too tied to the upload module. andrew