Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

Features

  • Fieldable configuration groups for terms
    • Provides a content entity taxonomy_group with a per‑vocabulary bundle taxonomy_group_type so you can attach any fields (booleans, text, entity references, etc.) to express shared settings for many terms at once.
  • Per‑vocabulary enable/disable
    • Toggle grouping on each vocabulary from its edit form. Data is preserved if you disable; it’s removed if you delete the vocabulary.
  • Visual grouping interface
    • A “Terms Icicle” interface (built with D3) lets you browse a vocabulary’s hierarchy and assign terms to groups via drag/transfer between icicles.
  • Safe lifecycle and housekeeping
    • Automatically creates the bundle for each enabled vocabulary, adds an operations link to “Configure term grouping,” warns on deletion, and cleans up groups and bundles when a vocabulary is deleted.
  • Programmatic access
    • A lookup service taxonomy_term_config_groups.group_lookup returns the group for a term or all groups for a vocabulary, so your custom code can read group fields and apply behavior everywhere that term is used.

Use cases:

  • Search and navigation: Store “show in filter,” “boost weight,” or “navigation visibility” once per group and apply to many terms.
  • Content and marketing: Associate a group landing page, banner, or copy with sets of terms.
  • Commerce/fulfillment: Map term groups to shipping classes, carriers, pricing rules, or promotions.
  • Governance: Keep configuration DRY, auditable, and easy to maintain instead of repeating per‑term values.

Post-Installation

  1. Enable the module.
  2. Grant permission administer taxonomy term config groups to appropriate roles.
  3. Enable grouping per vocabulary:
    • Go to Structure → Taxonomy → Edit a vocabulary.
    • Check “Enable term config groups for this vocabulary” and save.
  4. Configure groups and assign terms:
    • Use the new “Configure term grouping” operation for that vocabulary, or visit /admin/structure/taxonomy/manage/{vid}/grouping.
    • Create groups, label them, and assign terms via the icicle UI. Save to create/update taxonomy_group entities.
  5. Add fields to groups (optional, recommended):
    • Go to /admin/structure/taxonomy-groups/types and use “Manage fields” for the bundle created for your vocabulary (ID pattern: vocab_{vid}). Add fields like “Boost weight,” “Landing page,” etc.
  6. Use in custom code (optional):
    • Fetch a term’s group via taxonomy_term_config_groups.group_lookup and read the fields on that group to drive your site’s behavior.

Additional Requirements

  • Drupal core modules: taxonomy, field (declared dependencies).
  • JavaScript library:
    • D3 v7 is loaded from vendor/npm-asset/d3 via taxonomy_term_config_groups.libraries.yml (bundled through Composer; no external CDN needed).
  • Field UI: To manage fields on taxonomy_group bundles via the UI.
  • JSON:API or GraphQL: To expose group configuration to decoupled front-ends.
  • Views: To list and administer groups or build admin reports.

Similar projects

  • “Add fields to taxonomy terms” (Core): Lets you put fields on each term individually. This module differs by introducing fieldable groups of terms so you configure once and reuse across many terms.
  • “Taxonomy Manager” bulk term tools: Focus on creating and editing terms efficiently. This module focuses on grouping terms into reusable configuration entities with their own fields.
  • “Term Reference Tree” navigation widgets: Improve term selection UX for content authors. This module provides a site‑builder UI for defining configuration groups, not an authoring widget.

Community Documentation

  • Developer README with architecture, routes, hooks, and examples: included in the project README.md.

Technical Notes

  • Routes:
    • List bundles: /admin/structure/taxonomy-groups/types
    • Grouping UI: /admin/structure/taxonomy/manage/{taxonomy_vocabulary}/grouping
  • Permissions:
    • administer taxonomy term config groups
  • Data model:
    • taxonomy_group (content entity) with base field field_terms referencing the grouped term IDs.
    • taxonomy_group_type (config entity) per vocabulary, ID vocab_{vid}.

Activity

Total releases
3
First release
Sep 2025
Latest release
3 months ago
Release cadence
57 days
Stability
33% stable

Release Timeline

Releases

Version Type Release date
1.0.0 Stable Jan 15, 2026
1.0.0-rc1 Pre-release Sep 23, 2025
1.0.x-dev Dev Sep 23, 2025