When we converted fields to config in https://github.com/backdrop/backdrop-issues/issues/178, we implemented a direct conversion as much as possible. While this maintained a lot of compatibility, it also kept the scattered configuration locations. Right now field module stores its config in several places:
- Each field has a config file (field.field.field_image)
- Each instance of that field has a config file (field.instance.node.article.field_image)
- And each bundle has its display settings in a config file (field.bundle.node.article)
Combining these into fewer files is a long-term goal, but inevitably some of them must be separate because the field configuration isn't part of the content type and can reused in other types.
One potential way to make importing/exporting content types easier is to expand the single import/export page to include a checkbox for "include all fields" when exporting a content type. This checkbox could be form_altered() in by field.module (or even built into config.module directly). Checking it would AJAX-update the export to include all the related config files for a content type as a JSON array.
The import screen would detect the import of multiple config files, run the validation as normal, then stage the selected files all at once. Reviewing the diff and finishing the import would complete the process.
Recent comments
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Importing the staged config throws an error: another field with the same name already exists
Thanks, I have to go out now, I will try later on and report back
Importing the staged config throws an error: another field with the same name already exists
Hi Francis. Yes, what config do you have in staging for it? You might have configs like: field.field.field_video_embed field.instance.node.page....
Importing the staged config throws an error: another field with the same name already exists