Oh wow. So many views on that Topic...
Somehow i missed the last few replies from you guys. Sorry! I was totally busy with finishing my diploma. I hope i'll be able to further improve the HasManyFileManager in the near future. Maybe turn it into a real Module for SilverStripe too. If possible i'd like to put it into the silverstripe repository, instead of my own svn repo.
@UncleCheese:
Adding more fields to a file shouldn't be a Problem (did that already). You'll have to create a custom DataObjectDecorator for the File class. Here's a simple example
<?php
class MyFile extends DataObjectDecorator
{
public function extraDBFields() {
return array(
'db' => array(
'someFlag' => 'Boolean'
)
);
}
public function getCMSFields(){
return new FieldSet(
new TextField('Title', _t('AssetAdmin.TITLE'), $this->owner->Title),
new DropdownField('someFlag', 'Has Flag?', array(1=> 'Yes', 0 => 'No'), $this->owner->someFlag)
);
}
}
This decorator adds a new Boolean-Field "someFlag" to the database and allows editing using a DropdownField. You could extend this to any kind of input of course, but be careful with field types that require special JavaScript functionality (you'll have to load the JS code in the iframe too. This is supported, but a bit tricky to do).
To make this whole thing work, you'll have to add another line to your _config.php File:
DataObject::add_extension('File', 'MyFile');
I hope that helps. If it doesn't then i probably didn't put my latest sources up for download ;)
Cheers -- banal