Views Bulk Edit
Allows modifying field values of a selected list of entities of any type through Views bulk operations.
views_bulk_edit
Install
composer require 'drupal/views_bulk_edit:^3.0'
composer require 'drupal/views_bulk_edit:8.x-2.9'
composer require 'drupal/views_bulk_edit:8.x-2.7'
Overview
Views Bulk Edit provides a powerful mechanism for bulk editing entity field values directly from Views. It enables site administrators and content managers to select multiple entities (nodes, users, taxonomy terms, media, etc.) and modify their field values in a single operation.
The module works seamlessly with Drupal core's built-in bulk actions and also integrates with the Views Bulk Operations (VBO) module, offering additional benefits like batching, ability to select all view results, and persistent selection across pages.
Users can choose from multiple change methods: replace existing values, append to text fields, or add new values to multi-value fields. The module also supports creating new revisions with custom log messages during bulk edits. Site builders can create a custom "bulk_edit" form mode to control exactly which fields are available for bulk editing.
Features
- Bulk edit field values for any fieldable entity type (nodes, users, taxonomy terms, media, etc.)
- Works with Drupal core actions and optionally integrates with Views Bulk Operations (VBO) module
- Multiple change methods: Replace (overwrite existing values), Append (add to text fields), New (add values to multi-value fields)
- Support for revision-enabled entities with ability to create new revisions and custom revision log messages
- Custom form mode support - create a "bulk_edit" form mode to control which fields are available for bulk editing
- Entity translation support - correctly handles multilingual content by editing the appropriate language version
- Batch processing when used with VBO for large result sets
- Configurable bundle detection - can get entity bundles from view results or use bundle filters for better performance
- Pre-built action configurations for common entity types: nodes, users, taxonomy terms, and media
Use Cases
Bulk update content status
Select multiple articles in a content view and change their published status in one operation. For example, unpublish all outdated news articles at once instead of editing each one individually.
Batch update taxonomy references
Update the category or tags field on multiple content items simultaneously. Useful when reorganizing site taxonomy or migrating content between categories.
Mass content revision with notes
Make bulk changes to content while creating new revisions with descriptive log messages. Helpful for tracking editorial changes across multiple pieces of content.
User account bulk management
Modify field values on multiple user accounts at once, such as updating department information, role-related custom fields, or profile data.
Append promotional text to descriptions
Use the 'append' change method to add promotional text, disclaimers, or notices to existing text fields on multiple content items without overwriting original content.
Add values to multi-value reference fields
Add new term references or entity references to existing multi-value fields using the 'new' change method, preserving existing references while adding new ones.
Media asset metadata updates
Bulk update alt text, captions, or custom field values on media entities to improve accessibility or update branding across the site.
Performance-optimized bulk editing for large sites
When using VBO integration, configure 'Get entity bundles from results' option to optimize performance. For large result sets, disable this option and use bundle filters on the view to prevent memory issues.
Tips
- Create a 'bulk_edit' form mode for entity bundles to precisely control which fields appear in the bulk edit form. Access form modes at /admin/structure/display-modes/form.
- When working with large result sets (thousands of entities), use bundle filters on your view and disable 'Get entity bundles from results' in VBO preconfiguration to improve performance.
- The 'append' option only works with text fields (string, string_long, text, text_long). Use it to add content without losing existing text.
- For multi-value fields like tags or references, use 'Add a new value' to add items without removing existing values.
- Users need both the 'use views bulk edit' permission AND appropriate entity-specific permissions (like 'edit any article content') to perform bulk edits.
- Revision creation follows the entity bundle's default setting. Check the checkbox to override and force new revisions, useful for audit trails.
- Empty field values will be saved if the field is selected - this can be used to intentionally clear field values on multiple entities.
- The bulk edit form displays separate sections for each entity type and bundle in your selection, allowing different field changes per bundle.
Technical Details
Admin Pages 1
/admin/content/bulk-edit
The bulk edit confirmation and configuration form where users can modify field values for selected entities. This page appears after selecting entities and choosing the 'Modify field values' action from a view. The form dynamically displays edit forms for each entity type and bundle selected, allowing users to choose which fields to modify and how to change them.
Permissions 1
Hooks 1
hook_help
Implements hook_help() to provide module help text on the admin help page. Displays the contents of README.txt when viewing the module's help page.
Security Notes 5
- Users must have explicit 'use views bulk edit' permission in addition to entity-specific edit permissions. This provides an additional layer of access control.
- The module validates entity access before processing. Users can only modify entities they have permission to update individually.
- Form CSRF protection is implemented through Drupal's form API.
- Entities are loaded fresh before modification to ensure editing the correct revision, preventing stale data issues.
- Translation handling ensures the correct language version of each entity is modified based on the original selection.