Field Manual Override allows content editors to manually edit fields
managed by external data sources while protecting their changes from
being overwritten during imports or synchronization.
Features
Field Manual Override provides a simple way to manage fields that are
automatically populated by external systems while allowing content
editors to take control of individual field values when needed.
- Field-level manual overrides: Enable manual editing
for individual fields without affecting other fields on the same entity. - Automatic field locking: Fields remain disabled on
entity edit forms until the editor enables the "Manual override" checkbox. - Simple editorial experience: Editors can enable or
disable manual overrides directly from the entity edit form, with
checkboxes displayed alongside field labels. - Configurable per field: Administrators can choose
which fields support manual overrides through Drupal's field
configuration interface. - No additional fields required: Override settings
are stored independently, without adding extra fields to content types. - Translation support: Override states can be managed
independently for different entity translations. - Feeds integration: Protects manually overridden
fields from being overwritten during imports performed by Feeds. - Migrate integration: Preserves manually overridden
field values when updating existing entities through Drupal's Migrate API. - Developer-friendly API: Provides a reusable service
for custom integrations to check whether a field has been manually overridden. - Gin compatibility: Includes an interface designed
to work with the Gin administration theme.
Common use cases include:
- Content synchronization: Preserve editorial changes
to content regularly updated from external APIs. - Location directories: Customize individual location
descriptions, addresses, or contact information while keeping other
data synchronized. - Event management: Override specific event details
imported from external event management platforms. - Product catalogs: Maintain customized product
descriptions while synchronizing other product information. - Recurring migrations: Prevent subsequent migration
runs from overwriting manually updated content. - Hybrid content management: Combine externally
managed information with locally maintained editorial content.
Post-Installation
After installing and enabling Field Manual Override, administrators
can configure which fields support manual overrides.
- Navigate to Structure > Content types > Manage fields
for the desired content type. - Edit the configuration of a field that should support manual overrides.
- Enable the Allow manual override option and save
the field configuration. - Navigate to an entity edit form containing the configured field.
- Use the Manual override checkbox to control whether
the field can be edited manually.
How manual overrides work:
- Manual override disabled (default): The field is
disabled on the editing form and its value can be updated by supported
external integrations. - Manual override enabled: The field becomes editable,
and supported integrations preserve its existing value during subsequent
imports or synchronization. - Manual override disabled again: The field returns
to being managed by the external data source and can be updated during
the next synchronization.
To enable automatic protection during imports, activate the appropriate
integration submodule:
field_manual_override_feedsfor Feeds imports.field_manual_override_migratefor Drupal Migrate API imports.
The core module can also be used independently with custom integrations
through its service API.
Important: Manual override is an editorial synchronization
feature, not a field-level security or permissions system. Programmatic
updates must respect override states through a supported integration or
the module's API.
Supporting this Module
Contributions from the Drupal community are welcome!
Technical Considerations
Developers can integrate manual override functionality into custom
synchronization workflows using the module's service API:
$manager = \Drupal::service('field_manual_override.manager');
if (!$manager->isOverridden($entity, 'field_description')) {
$entity->set('field_description', $incoming_value);
}
This allows custom integrations to respect manual overrides without
requiring changes to the entity's field structure.
- Override states are stored separately from entity field values.
- Override configuration is managed at the field level.
- Override states are maintained for individual entities and translations.
- The core module does not globally prevent programmatic field updates.
- Feeds and Migrate integrations protect supported existing entities
during import updates. - Import processes may still execute their normal processing logic
even when a field's existing value is preserved. - Custom integrations should use the provided API to respect manual
override states.
Field Manual Override is designed to provide a flexible, extensible
approach to managing content that combines automated synchronization
with manual editorial control.
Ask your assistant about Field Manual Override
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0-alpha1 | Pre-release | 10–11 | Nov 4, 2026 |