23 Aug


The dataobject_manager module is an extension to ComplexTableField that allows robust management of DataObjects related to a Page. The DataObjectManager class further cascades into subclasses FileDataObjectManager andImageDataObjectManager, which add more features specific to file-containing DataObjects. It also comes bundled with some useful widgets includingSimpleTreeDropdownFieldDatePickerField, and SimpleHTMLEditorField.. Features include:

  • Column sorting
  • Live search field
  • Custom filter field
  • Live page sizing
  • Drag-and-drop reordering
  • Bulk uploading
  • File type and size filtering
  • Upload progress bar
  • File importing
  • Toggleable list/grid view of files
  • Image sizing tool (ImageDataObjectManager only)
  • Clean and intuitive UI


12 Responses to “DataObjectManager”

  1. Richard Ward 10. Oct, 2010 at 9:27 am #

    Hi, I have a problem with this when i set the upload folder $manager->setUploadFolder(“PublicationPage-” . $this->ID); it will upload the file to this directory (i.e. assets/PublicationPage-123). However, if I then replace the file (i.e. click edit on the file data object in the table and then use the replace file functionality) it puts the new file into assets/Uploads instead. Anyway of preventing this?

    • Richard Ward 10. Oct, 2010 at 10:17 am #

      Ignore that – I should have changed the field in two places.

  2. maks feltrin 22. Jun, 2011 at 1:47 pm #

    bug in DOM sorting?

    My related dataobjects (or sitetree-objects) were always sorted in ASC direction. I noticed that in TableListField the getQueryMethod uses “dir” request parameter, while you use “sort_dir” as array key. I just needed to override getQueryMethod in my dom subclasses and replace “dir” with “sort_dir” and everything worked as expected.

    Thanks for your great contributions!

  3. Will 31. Oct, 2011 at 11:56 pm #

    is it possible to have this installed but not use if for the asset admin area?

    • unclecheese 01. Nov, 2011 at 12:01 am #


  4. Todd 22. Jan, 2012 at 8:32 pm #

    Hi Aaron,
    The DOM has helped a lot on projects.
    Currently, I’m using the ImageDataObjectManager
    to manage upload images. The is giving duplicate previews for the image object – ie. two thumbnails are showing instead of one in the popup.
    It seems that the template if statement DetailForm.NestedController (within the body tag) is inserting the preview image as well as the DetailForm placeholder below it.
    I’ve had to disable the DetailForm.NestedController statement, but do you have any other suggestions for fixes?
    I think I’m using the latest versions… Hard to tell without version numbers.

  5. Max 28. Jan, 2012 at 6:09 am #

    Hi Aaron, i like your graet work.. I hope you can take a look to my problem with dataobject. It’s explained here:

    Sorry for my english.
    Hi from Italy.

  6. Jizzman 14. Feb, 2012 at 9:57 pm #

    Hi Uncle Cheese,

    I’m building my first SilverStripe site. DOM is perfect for my needs, unfortunately I have a glitch. I’ve posted on the forum:

    No answers yet. Maybe it’s just me?

    Thanks for the great work,

Trackbacks and Pingbacks

  1. Using Uploadify in Frontend Forms | Left and Main - 14. Sep, 2010

    […] be happier to see that! I have a lot of plans for Uploadify, including integrating it with the DataObjectManager module, and continuing to refine the authentication and Amazon S3 […]

  2. SilverStripe Essential Extensions/Modules « Terry Apodaca - 06. Jan, 2011

    […] very first Module you should upload is the DataObjectManager by UncleCheese. This module has always been great and it has only one [optional] requirement, and […]

  3. Silverstripe | Pluton - 30. Apr, 2012

    […] citare contestualmente i due moduli più famosi e utilizzati, sviluppati da Uncle Cheese, ovvero il DataObject Manager e […]

  4. Document Management System Module | PHP World - 20. Nov, 2012

    […] few years ago, community member Aaron Calino (UncleCheese) created the Data Object Manager module for SilverStripe 2. This module was packed with features that allowed users to manage […]