I migrated a D7 site to D8. Everything seems to work fine, however I am getting this one error message twice every time I save a node and at least once every time I flush all caches:

Drupal\Component\Plugin\Exception\PluginNotFoundException: The "default" plugin does not exist. Valid plugin IDs for Drupal\geofield\Plugin\GeofieldBackendManager are: geofield_backend_default in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition() (line 53 of /web/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).

Of course, I found #3125933: Update to Geofield 1.11 failed, but that was in relation 1.11, I migrated using 1.13 and updated to 1.15 in the meantime. Still the error persists. It even appears, if I disable pre-save conversion, caching or even take the field out of the edit form (disabled).

Right now, I don't see any problems besides being a nuisance to have these errors in my log. But I haven't started, yet, to actually derive coordinates from addresses entered.

I looked into the config file of the single geofield in my system, and it seems to be okay as well, at least it states the obviously correct backend:

langcode: en
status: true
dependencies:
  config:
    - field.storage.node.field_coordinates
    - node.type.page
  module:
    - geofield
id: node.page.field_coordinates
field_name: field_coordinates
entity_type: node
bundle: nbs
label: Coordinates
description: 'GIS coordinates'
required: false
translatable: false
default_value: {  }
default_value_callback: ''
settings:
  backend: geofield_backend_default
field_type: geofield

Anything else, I can look at?

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Paul Broon created an issue. See original summary.

broon’s picture

Status: Active » Closed (works as designed)

Posting the yml config file actually made me look into the storage yml file of that field, and alas:

langcode: und
status: true
dependencies:
  module:
    - geofield
    - node
id: node.field_coordinates
field_name: field_coordinates
entity_type: node
type: geofield
settings:
  backend: default
module: geofield
locked: false
cardinality: 1
translatable: true
indexes: {  }
persist_with_no_fields: false
custom_storage: false

Here the backend is only "default" instead of "geofield_backend_default". So, I replaced with the correct backend and imported it:

❯ drush cim                                                                                                                                                                                                                                                  
 Collection  Config                                       Operation
             field.storage.node.field_coordinates         update
Import the listed configuration changes? (y/n): y
Drupal\Component\Plugin\Exception\PluginNotFoundException: The "default" plugin does not exist. Valid plugin IDs for Drupal\geofield\Plugin\GeofieldBackendManager are: geofield_backend_default in Drupal\Core\Plugin\DefaultPluginManager->doGetDefinition( [error]
(line 53 of /web/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php).
Synchronized configuration: update field.storage.node.field_coordinates. [ok]
Finalizing configuration synchronization. [ok]
The configuration was imported successfully.

This was the last time the error appeared. So I guess, this was something related to the migration.

rutiolma’s picture

Version: 8.x-1.15 » 8.x-1.x-dev
Status: Closed (works as designed) » Needs review
FileSize
1.61 KB

Actually there is a problem with the migration of geofields so I'm reopening this instead of creating a new issue.
The problem is that in D7 a geofield serialized data settings has a "backend: default" property and this "default" plugin was replaced by "geofield_backend_default" in the D8 version so we must map it.

I created the attached patch to fix this issue with the migration.

RdeBoer’s picture

@Paul Broon, @rutiolma: Nice work! Between the two of you, you've covered all bases.

2pha’s picture

Works for me

  • itamair committed fb30061 on 8.x-1.x authored by rutiolma
    Issue #3153344 by rutiolma: The "default" plugin does not exist
    
itamair’s picture

Status: Needs review » Fixed

Thanks all here. #3 patch committed into 8.x-1.x-dev, is going to be part of the next (incoming) Geofield module release.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.