Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module enhances Drupal's core entity reference fields for the Open Y installation profile, allowing for dependencies in configuration to be stored but skipped during installation. This is particularly useful for large distributions to manage complex dependencies. It provides custom entity reference selection handlers and a migration process for existing fields.

πŸ‡ΊπŸ‡¦

This module is maintained by Ukrainian developers.
Please consider supporting Ukraine in a fight for their freedom and safety of Europe.

The idea of the module is to provide enhancements to the Core entity reference fields in the Open Y installation profile.

Long story short - when you need to keep dependencies in configs, but not making configs failing if dependency is not in place - use this module. It'll store dependencies but allow them to be skipped during installation.

Very useful for large distributions when fighting with dependency hell.

Entity Reference Selection Handler plugins

The plugins stored at src/Plugin/EntityReferenceSelection must be used in ER-fields if additional bundle filtering is setup and you export configuration of those fields into the profile.

Default Selection Handlers put dependency for each single bundle setup there, because the core works the way, that 'target_bundles' field settings entries add dependencies. See EntityReferenceItem::calculateDependencies().

DefaultSelectionNoDependency is basically needed to create a label for the group of Open Y selection handlers.

SelectionNoDependecyTrait is useful for inheriting from existing entity type specific selection handlers (see NodeSelectionNoDependency implementation as example).
See Traits Precendence section to understand how PHP handles method overrides when traits are used.

Migrating from core selection handlers to Open Y selection handlers

  • Go to the required entity refrence field configuration page that is provided by Field UI
  • Find "REFERENCE TYPE" section that contains "Reference method" field and a set of checkboxes for bundles limiting
  • Memorize the set of the selected bundles
  • Update "Reference method" value from 'Default' to 'Default (Open Y)'
  • Restore the state of the checkboxes (it can be named 'Content types' for nodes, or just 'Bundles' for other entity types)
  • Submit the form
  • Export the config (or the whole feature)
  • Verify field config doesn't contain dependencies to the bundle configs
  • Make sure the module now depends on openy_er module

Activity

Total releases
1
First release
May 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Release date
1.1.1 Stable May 1, 2025