Extension for File class: updateCMSFields not working

I tried this and it works. Couldn’t find a full working example so I did what @schellmax did and looked at the code for the silverstripe-focuspoint module. 2 new files and an edit to my main yml file.

Image extension ImageExtension.php :

<?php
 namespace MyCoolProject;
 use SilverStripe\ORM\DataExtension;
 class ImageExtension extends DataExtension {
  private static $db = ["caption" => "Text"];
 }

Form Factory extension ImageFormFactoryExtension.php :

<?php 
 namespace MyCoolProject;
 use SilverStripe\Core\Extension;
 use SilverStripe\Forms\FieldList;
 use SilverStripe\Forms\TextareaField;
 class ImageFormFactoryExtension extends Extension {
  public function updateFormFields(FieldList $fields) {
   $fields->insertAfter(
    "Name",
    TextareaField::create("caption", "Image caption")->setRows(3)
   );
  }
}

YML file :

SilverStripe\Assets\Image:
  extensions:
    - MyCoolProject\ImageExtension
SilverStripe\AssetAdmin\Forms\ImageFormFactory:
  extensions:
    - MyCoolProject\ImageFormFactoryExtension
SilverStripe\Assets\Storage\DBFile:
  extensions:
    - MyCoolProject\ImageExtension

I hope this helps someone out there :slight_smile: