bulk_domain_content
Bulk Domain Content helps site builders create many draft articles at once using OpenAI. You define content categories (for example Healthcare, Technology), choose a node type and tone, and the module generates unpublished nodes so editors can review accuracy, tone, and originality before publishing.
This module does not replace editorial judgment. It speeds up drafting for demos, content seeding, and internal sites where human review is part of the workflow.
Features
Basic functionality
- Bulk-generate 1–50 nodes per run via the Drupal Batch API.
- Generate article title and body content.
- Optional featured image and taxonomy tags when those fields exist on the content type.
- Configurable categories using
machine_name|Labelformat. - Writing tones: professional, casual, informative, persuasive.
- All generated nodes are saved as unpublished by default.
- Optional AI population for supported additional field types such as lists, booleans, links, references, and more.
Unique value
- Category-driven prompts instead of fixed verticals.
- OpenAI-first design with recommended integration via AI, OpenAI Provider, and Key modules.
- API keys are not stored in this module’s configuration.
- Secure batch handling using private tempstore during batch execution.
- Optional Ollama text fallback for local development only.
When to use this module
- Seed a new site with realistic draft content for QA or demos.
- Create starter articles before editorial refinement.
- Prototype content types with body, image, and taxonomy fields.
When not to use it
- Fully automated publishing without human review.
- Production sites restricted from using OpenAI or equivalent AI providers.
- Replacing professional copywriting or compliance review.
Post-Installation
1. Enable the module
drush en bulk_domain_content -y drush cr
2. Grant permission
Grant the Administer bulk domain content permission only to trusted administrator roles.
3. Configure categories
Navigate to:
Configuration → AI → AI bulk domain content → CategoriesIf the AI module is not installed:
Configuration → ContentAdd categories one per line:
healthcare|Healthcare technology|Technology
Keep Enable Ollama text fallback disabled on production environments.
4. Configure OpenAI (recommended)
Install and enable:
- AI
- OpenAI Provider
- Key
Configure the OpenAI API key at:
Configuration → AI → Providers → OpenAIWithout these modules, users may still provide a one-time API key directly in the generator form.
5. Generate content
Navigate to:
Configuration → AI → AI bulk domain content → Generate- Select content type.
- Select number of nodes (1–50).
- Select category and writing tone.
- Run the batch generation process.
Generated content remains unpublished until reviewed and manually published.
Special considerations
- The content type must contain at least one supported text field.
- Optional image and taxonomy fields are populated when available.
- OpenAI API usage may incur costs.
- Clear caches after upgrades using
drush cr.
Additional Requirements
Drupal core
- Drupal 10 or Drupal 11
- PHP 8.1+
- Recommended PHP extensions:
json,mbstring
Required Drupal modules
- Node
- User
- File
- Field
- Taxonomy
External services
- OpenAI API access for GPT-4o and DALL·E 3.
- Valid OpenAI API key.
Optional (local development only)
Ollama installed and accessible from PHP if local text fallback is enabled.
Recommended modules/libraries
Module Purpose AI Site-wide AI configuration UI OpenAI Provider OpenAI API integration Key Secure API key storageThese modules are recommended but not mandatory.
Supporting this Module
- Report bugs and feature requests in the issue queue.
- Contribute patches using the Drupal contribution workflow.
Community Documentation
- README.md included with the project.
- Supports DrupalPod, DDEV, and Docker workflows.
Security and editorial responsibility
- AI-generated content should always be reviewed before publishing.
- Generated text or images may contain inaccuracies.
- Restrict module administration permissions to trusted users only.
- Keep Ollama fallback disabled on production systems unless explicitly required.