Addons and modules are encouraged to be registered with Packagist which then means they are found and registered with the SilverStripe add-on repository
Installation of modules is recommended through use of Composer
The SilverStripe Grid Field Extensions Module has some very nice features to enhance the basic GridField
...
GridFieldAddExistingSearchButton
- a more advanced search form for adding itemsGridFieldAddNewInlineButton
- builds on GridFieldEditableColumns
to allow inline creation of records.GridFieldAddNewMultiClass
- lets the user select from a list of classes to create a new record fromGridFieldEditableColumns
- allows inline editing of recordsGridFieldOrderableRows
- drag and drop re-ordering of rowsGridFieldRequestHandler
- a basic utility class which can be used to build custom grid field detail views including tabs, breadcrumbs and other CMS featuresGridFieldTitleHeader
- a simple header which displays column titlesMore documentation is found within the module here.
The module Better Buttons for GridField adds new form actions and buttons to the GridField detail form.
More documentation (and images) on the documentation for the module
The module UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code.
Main Features
More documentation links can be found here in the github repository
The Display Logic module allows you to add conditions for displaying or hiding certain form fields based on client-side behavior. This module is incredibly useful to make forms much more professional by showing only the appropriate fields and without adding a lot of custom JavaScript.
Example usage...
$products->displayIf("HasProducts")->isChecked();
$sizes->hideUnless("ProductType")->isEqualTo("t-shirt")
->andIf("Price")->isGreaterThan(10);
$payment->hideIf("Price")->isEqualTo(0);
$shipping->displayIf("ProductType")->isEqualTo("furniture")
->andIf()
->group()
->orIf("RushShipping")->isChecked()
->orIf("ShippingAddress")->isNotEmpty()
->end();
There are many more examples on the module readme.md
The Grouped CMS Menu Module allows you to group CMS menu items into nested lists which expand when hovered over. This is useful when there are so many CMS menu items that screen space becomes an issue.
The Dashboard module provides a splash page for the CMS in SilverStripe 3 with configurable widgets that display relevant information. Panels can be created and extended easily. The goal of the Dashboard module is to provide users with a launchpad for common CMS actions such as creating specific page types or browsing new content.
There are Images and videos about this module can be found in this blog post.
There are some included Panels by default...
When you have this module installed it creates a dashboard per member, so if you have a large amount of members which will never use the admin and performance becomes an issue I recommend creating the members with these extra settings before writing it...
Member::create(array(
'HasConfiguredDashboard' => 1
));
There is much more documentation in the modules readme.md