batch_content_sync
🌀 Batch Content Sync
Push and sync content across Drupal environments with ease.
Batch Content Sync helps editors send content to QA, Stage, or Prod using a streamlined interface and REST endpoints.
🚀 Features
Batch Content Sync provides a lightweight, editor-friendly solution for synchronizing content between Drupal environments such as QA, Stage, and Production.
Key Features:
- Push content (nodes) to QA, Stage, or Production from the content overview page.
- Custom REST endpoints for receiving structured content payloads.
- Automatically includes referenced media, taxonomy terms, and paragraph items.
- Built-in access token authentication—no need for external contrib modules.
- Clean JSON logging of push attempts for troubleshooting or audit history.
- Minimal dependencies—ideal for lean, CI/CD-friendly deployments.
Use Cases:
- Editorial teams staging content before production release.
- Development workflows requiring content parity across environments.
- Automating deployments of updated or newly published content.
- Reducing manual duplication effort and copy-paste errors.
⚙️ Post-Installation
After installing the module, visit the configuration page at:
/admin/config/content/batch-content-sync
There you can define the target environment URLs (e.g., QA, Stage, Prod) and set the access token for secured communication.
To use the module:
- Navigate to Content overview at
/admin/content. - Select one or more content items (nodes).
- From the Action dropdown, choose:
- Push to QA
- Push to Stage
- Push to Prod
Your content will be pushed via custom REST calls to the configured target.
📦 Additional Requirements
No contrib dependencies required. Works with Drupal Core only.
Make sure:
- The target site also has Batch Content Sync installed.
- REST endpoints are accessible.
- Access tokens match between environments.
đź”§ Recommended Modules / Libraries
Optional but useful enhancements:
- Diff – for comparing content before and after sync.
- Paragraphs – supported out-of-the-box.
- Media – also supported for embedded assets.
đź’¸ Supporting this Module
If this module saves you time or budget, you can support development here:
- 🧉 Buy me a coffee
- 🤝 Sponsor feature requests via GitHub or issue queue
📚 Community Documentation
- Basic docs available in the module’s
README.md. - More coming soon — including video walkthroughs and tutorials.
- Want to contribute? PRs and edits are welcome!