Skip to main content
  1. All Posts/

GridFieldBulkEditingTools

Tools PHP

⚠️ I haven’t been able to give as much love as I would like to these repos as they deserve. If you have time and are interested to help maintain them, give me a shout. 🚨

GridField Bulk Editing Tools


Set of SilverStripe 4 GridField components to facilitate bulk file upload & record editing.

Components:

  • Bulk Upload: Upload multiple images or files at once into DataObjects
  • Bulk Manager: Delete, Unlink, Edit (and more) multiple records at once

Requirements

  • SilverStripe 4.0 (master / 3.+)
  • SilverStripe 3.1 (version 2.+ / 1.+)
  • Silverstripe 3.0 (version 0.5)

Installation

composer require colymba/gridfield-bulk-editing-tools

3.0.0 deprecations

The 3.x versions of this module require SilverStripe 4.x+, and PHP 5.5 or above:

  • Namespaces are implemented, and some class names have changed (see .upgrade.yml for mapping)

2.0.0 deprecations

Major deprections in latest 2.0.0 release:

  • The GridFieldBulkImageUpload has been renamed to GridFieldBulkUpload.
  • onBulkImageUpload callback has been renamed to onBulkUpload

Bulk Upload

Upload multiple images or files at once into DataObjects. Perfect for galleries and the like.

$config->addComponent(new ColymbaBulkUploadBulkUploader());

Versioned

By default BulkUploader will write to the current stage (most likely Draft). To auto publish your DataObject, use the following param or config:

$config->addComponent(new ColymbaBulkUploadBulkUploader(null, null, true));

OR

$config->getComponentByType('Colymba\BulkUpload\BulkUploader')->setAutoPublishDataObject(true);

Your DataObject should own the Image/File relation so it is published at the same time: See SilverStripe DataObject ownership DOC
See BULK_UPLOAD.md for detailed configuration.

Bulk Manager

Perform actions on multiple records straight from the GridField

$config->addComponent(new ColymbaBulkManagerBulkManager());

See BULK_MANAGER.md for detailed configuration.

Tooling

  • npm run watch for development
  • npm run dist before pushing to the repo

Translations

Translations of the natural language strings are managed through a third party translation interface, transifex.com.
Please use https://www.transifex.com/projects/p/gridfieldbulkeditingtools/ to contribute translations, rather than sending pull requests with YAML/JS files.

License and Copyright

BSD 3-clause license