95 65


SilverStripe Version 3.0 Required

Required Modules

One of the most useful features in Aaron Carlino's (aka UncleChease) dataobject_manager module was it's ability to do drag and drop re-ordering of "DataObjects" in SilverStripe. With the advent of SilverStripe 3.0 and the death of TableField and its decedents, so too did dataobject_manager.  Of course with SilverStripe 3's new GridField which is by far a much better system than TableField there was no support for drag and drop re-ordering. So during the beta's of SilverStripe 3 while I was working on migrating my own website I started building SortableGridField a replacement if you will of dataobject_manager's drag and drop re-ordering. My initial pass worked very well it served its purpose and under the guidance of Ingo Schommer (aka chillu) one of SilverStripe's core developers it came very close to being part of SilverStripe 3.0 however timing just didn't work and it didn't make it into 3.0. However it functions great as a standalone module and it may become part of 3.1 when it comes around.

It's a very straight forward module, however unlink dataobject_manager it requires that the developer take on the emphasis to provide a column to use in the GridFieldSortableRows component as well as ensuring the items are sorted by this column by default. All documentation as well as examples are on the github repo here and on my site here.

This is the first module I've posted to Github, and I must say you gotta love open source communities especially the SilverStripe community. Since posting it has been translated into German, Spanish, and Dutch as well a few bugs/enhancements have been made then submitted back to me by the community. It's even been endorsed by SilverStripe themselves recently in their Document Management System module announcement post.

SortableGridField is also part of the New Zealand Common Web Platform project developed by SilverStripe, which also means that SortableGridField's translations have been graciously added to SilverStripe's Transifex account.