Browse Source

migration materiau & breve i18n ok

Bachir Soussi Chiadmi 5 years ago
parent
commit
94ce3f7460
18 changed files with 550 additions and 362 deletions
  1. 43 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_breve_i18n.yml
  2. 1 1
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_materiau.yml
  3. 44 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_materiau_i18n.yml
  4. 128 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeBreveI18n.php
  5. 128 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeMateriauI18n.php
  6. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_allpublicfiles.yml
  7. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_node_breve.yml
  8. 46 0
      sites/default/config/sync/migrate_plus.migration.d7_node_breve_i18n.yml
  9. 2 2
      sites/default/config/sync/migrate_plus.migration.d7_node_materiau.yml
  10. 47 0
      sites/default/config/sync/migrate_plus.migration.d7_node_materiau_i18n.yml
  11. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_company.yml
  12. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_showroom.yml
  13. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_tags.yml
  14. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_tags_i18n.yml
  15. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_thesaurus.yml
  16. 1 1
      sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_thesaurus_i18n.yml
  17. 2 2
      sites/default/config/sync/migrate_plus.migration_group.d7_materio.yml
  18. 101 349
      sites/default/config/sync/views.view.admin_nodes.yml

+ 43 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_breve_i18n.yml

@@ -0,0 +1,43 @@
+id: d7_node_breve_i18n
+label: Node Breve i18n
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\node\Plugin\migrate\D7NodeDeriver
+
+source:
+  plugin: d7_node_breve_i18n
+  node_type: breve
+  translations: true
+
+destination:
+  plugin: entity:node
+  translations: true
+
+process:
+  nid:
+    plugin: migration_lookup
+    source: nid
+    migration: d7_node_breve
+    no_stub: true
+  type:
+    plugin: default_value
+    default_value: breve
+  langcode: language
+  content_translation_source: source
+  title: title
+  body:
+    plugin: iterator
+    source: body
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+
+migration_dependencies:
+  required:
+    - d7_node_breve

+ 1 - 1
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_materiau.yml

@@ -6,7 +6,7 @@ migration_tags:
   - Drupal 7
   - Content
   - Materio
-deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+# deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
 
 source:
   plugin: d7_node_materiau

+ 44 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_materiau_i18n.yml

@@ -0,0 +1,44 @@
+id: d7_node_materiau_i18n
+label: Node Materiau i18n
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\node\Plugin\migrate\D7NodeDeriver
+
+source:
+  plugin: d7_node_materiau_i18n
+  node_type: materiau
+  translations: true
+
+destination:
+  plugin: entity:node
+  translations: true
+
+process:
+  nid:
+    plugin: migration_lookup
+    source: nid
+    migration: d7_node_materiau
+    no_stub: true
+  type:
+    plugin: default_value
+    default_value: materiau
+  langcode: language
+  content_translation_source: source
+  title: title
+  field_short_description: field_nature_titre
+  body:
+    plugin: iterator
+    source: field_description
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+
+migration_dependencies:
+  required:
+    - d7_node_materiau

+ 128 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeBreveI18n.php

@@ -0,0 +1,128 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Provides Drupal 7 node entity translations source plugin.
+ *
+ * @MigrateSource(
+ *   id = "d7_node_breve_i18n",
+ *   source_module = "entity_translation"
+ * )
+ */
+class D7NodeBreveI18n extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('entity_translation', 'et')
+      ->fields('et', [
+        'entity_id',
+        'revision_id',
+        'language',
+        'source',
+        'uid',
+        'status',
+        'created',
+        'changed',
+      ])
+      ->fields('n', [
+        'nid',
+        'title',
+        'type',
+        'promote',
+        'sticky',
+      ])
+      ->fields('nr', [
+        'log',
+        'timestamp',
+      ])
+      ->condition('et.entity_type', 'node')
+      ->condition('et.source', '', '<>');
+
+    $query->addField('nr', 'uid', 'revision_uid');
+
+    $query->innerJoin('node', 'n', 'n.nid = et.entity_id');
+    $query->innerJoin('node_revision', 'nr', 'nr.vid = et.revision_id');
+
+    if (isset($this->configuration['node_type'])) {
+      $query->condition('n.type', $this->configuration['node_type']);
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $nid = $row->getSourceProperty('entity_id');
+    $vid = $row->getSourceProperty('revision_id');
+    $type = $row->getSourceProperty('type');
+    $language = $row->getSourceProperty('language');
+    $title = $row->getSourceProperty('title');
+    // drush_print('-- '.$nid."\t".$title."\t".$language);
+
+    // Get Field API field values.
+    foreach ($this->getFields('node', $type) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('node', $field_name, $nid, $vid, $field_language));
+    }
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $title_field = $row->getSourceProperty('title_field');
+      if (isset($title_field[0]['value'])) {
+        $row->setSourceProperty('title', $title_field[0]['value']);
+      }
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    return [
+      'entity_id' => $this->t('Entity ID'),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Node translation language'),
+      'source' => $this->t('Node translation source language'),
+      'uid' => $this->t('Node translation authored by (uid)'),
+      'status' => $this->t('Published'),
+      'created' => $this->t('Created timestamp'),
+      'changed' => $this->t('Modified timestamp'),
+      'title' => $this->t('Node title'),
+      'type' => $this->t('Node type'),
+      'promote' => $this->t('Promoted to front page'),
+      'sticky' => $this->t('Sticky at top of lists'),
+      'log' => $this->t('Revision log'),
+      'timestamp' => $this->t('The timestamp the latest revision of this node was created.'),
+      'revision_uid' => $this->t('Revision authored by (uid)'),
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    return [
+      'entity_id' => [
+        'type' => 'integer',
+        'alias' => 'et',
+      ],
+      'language' => [
+        'type' => 'string',
+        'alias' => 'et',
+      ],
+    ];
+  }
+
+}

+ 128 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeMateriauI18n.php

@@ -0,0 +1,128 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Provides Drupal 7 node entity translations source plugin.
+ *
+ * @MigrateSource(
+ *   id = "d7_node_materiau_i18n",
+ *   source_module = "entity_translation"
+ * )
+ */
+class D7NodeMateriauI18n extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('entity_translation', 'et')
+      ->fields('et', [
+        'entity_id',
+        'revision_id',
+        'language',
+        'source',
+        'uid',
+        'status',
+        'created',
+        'changed',
+      ])
+      ->fields('n', [
+        'nid',
+        'title',
+        'type',
+        'promote',
+        'sticky',
+      ])
+      ->fields('nr', [
+        'log',
+        'timestamp',
+      ])
+      ->condition('et.entity_type', 'node')
+      ->condition('et.source', '', '<>');
+
+    $query->addField('nr', 'uid', 'revision_uid');
+
+    $query->innerJoin('node', 'n', 'n.nid = et.entity_id');
+    $query->innerJoin('node_revision', 'nr', 'nr.vid = et.revision_id');
+
+    if (isset($this->configuration['node_type'])) {
+      $query->condition('n.type', $this->configuration['node_type']);
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $nid = $row->getSourceProperty('entity_id');
+    $vid = $row->getSourceProperty('revision_id');
+    $type = $row->getSourceProperty('type');
+    $language = $row->getSourceProperty('language');
+    $title = $row->getSourceProperty('title');
+    // drush_print('-- '.$nid."\t".$title."\t".$language);
+
+    // Get Field API field values.
+    foreach ($this->getFields('node', $type) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('node', $field_name, $nid, $vid, $field_language));
+    }
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $title_field = $row->getSourceProperty('title_field');
+      if (isset($title_field[0]['value'])) {
+        $row->setSourceProperty('title', $title_field[0]['value']);
+      }
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    return [
+      'entity_id' => $this->t('Entity ID'),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Node translation language'),
+      'source' => $this->t('Node translation source language'),
+      'uid' => $this->t('Node translation authored by (uid)'),
+      'status' => $this->t('Published'),
+      'created' => $this->t('Created timestamp'),
+      'changed' => $this->t('Modified timestamp'),
+      'title' => $this->t('Node title'),
+      'type' => $this->t('Node type'),
+      'promote' => $this->t('Promoted to front page'),
+      'sticky' => $this->t('Sticky at top of lists'),
+      'log' => $this->t('Revision log'),
+      'timestamp' => $this->t('The timestamp the latest revision of this node was created.'),
+      'revision_uid' => $this->t('Revision authored by (uid)'),
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    return [
+      'entity_id' => [
+        'type' => 'integer',
+        'alias' => 'et',
+      ],
+      'language' => [
+        'type' => 'string',
+        'alias' => 'et',
+      ],
+    ];
+  }
+
+}

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_allpublicfiles.yml

@@ -1,4 +1,4 @@
-uuid: abb4744e-3f95-4f7d-bcaa-1abcbe76362c
+uuid: c1e53484-bbe6-4b84-9502-43c121efcce3
 langcode: en
 status: true
 dependencies: {  }

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_node_breve.yml

@@ -1,4 +1,4 @@
-uuid: e81d9af8-ad7b-48e3-9799-206ec382b667
+uuid: f0af3419-fade-4039-8d72-49c127b78ee5
 langcode: en
 status: true
 dependencies: {  }

+ 46 - 0
sites/default/config/sync/migrate_plus.migration.d7_node_breve_i18n.yml

@@ -0,0 +1,46 @@
+uuid: 8495df6b-dce0-4a7d-8a3e-a9462fe4c1a8
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: 24TmjnmLfhF_b5Amw02m1ndMgS_in_S13nmHQtnvdsU
+id: d7_node_breve_i18n
+class: null
+field_plugin_method: null
+cck_plugin_method: null
+migration_tags:
+  - 'Drupal 7'
+  - Content
+  - Materio
+migration_group: d7_materio
+label: 'Node Breve i18n'
+source:
+  plugin: d7_node_breve_i18n
+  node_type: breve
+  translations: true
+process:
+  nid:
+    plugin: migration_lookup
+    source: nid
+    migration: d7_node_breve
+    no_stub: true
+  type:
+    plugin: default_value
+    default_value: breve
+  langcode: language
+  content_translation_source: source
+  title: title
+  body:
+    plugin: iterator
+    source: body
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+destination:
+  plugin: 'entity:node'
+  translations: true
+migration_dependencies:
+  required:
+    - d7_node_breve

+ 2 - 2
sites/default/config/sync/migrate_plus.migration.d7_node_materiau.yml

@@ -1,9 +1,9 @@
-uuid: 299fed8f-1d90-42b7-9a37-31c501401e7d
+uuid: 36299c73-3088-4a62-b4b1-be7182e881aa
 langcode: en
 status: true
 dependencies: {  }
 _core:
-  default_config_hash: vs5StJ5dG_9bb439rn51xG0kg04tLV9Z5x5cin88aRc
+  default_config_hash: rh5NZM-nq2T5x5XOjpaNaHZZFAjkf4nwNthnAEJXN-8
 id: d7_node_materiau
 class: null
 field_plugin_method: null

+ 47 - 0
sites/default/config/sync/migrate_plus.migration.d7_node_materiau_i18n.yml

@@ -0,0 +1,47 @@
+uuid: 6a648094-f449-4559-86ec-1433a672d9d5
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: ezODGhaONTf5KLDIrvVbJJqNKtq0nmV1mbuxKLP7Jzg
+id: d7_node_materiau_i18n
+class: null
+field_plugin_method: null
+cck_plugin_method: null
+migration_tags:
+  - 'Drupal 7'
+  - Content
+  - Materio
+migration_group: d7_materio
+label: 'Node Materiau i18n'
+source:
+  plugin: d7_node_materiau_i18n
+  node_type: materiau
+  translations: true
+process:
+  nid:
+    plugin: migration_lookup
+    source: nid
+    migration: d7_node_materiau
+    no_stub: true
+  type:
+    plugin: default_value
+    default_value: materiau
+  langcode: language
+  content_translation_source: source
+  title: title
+  field_short_description: field_nature_titre
+  body:
+    plugin: iterator
+    source: field_description
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+destination:
+  plugin: 'entity:node'
+  translations: true
+migration_dependencies:
+  required:
+    - d7_node_materiau

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_company.yml

@@ -1,4 +1,4 @@
-uuid: 856ae171-ca05-45ca-9cb5-459957bc7691
+uuid: 68f144c3-730e-484d-a6fa-914823bb6457
 langcode: en
 status: true
 dependencies: {  }

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_showroom.yml

@@ -1,4 +1,4 @@
-uuid: 5b903bad-d518-463b-aa75-c2bef7563c53
+uuid: 9cd74ea1-4c1d-40fa-8cfb-086a6e215672
 langcode: en
 status: true
 dependencies: {  }

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_tags.yml

@@ -1,4 +1,4 @@
-uuid: eb31d3b6-d931-464e-9044-9b1f43332bd2
+uuid: 428aa5dc-ad7b-4e1f-97a4-bb98cc6b45f8
 langcode: en
 status: true
 dependencies: {  }

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_tags_i18n.yml

@@ -1,4 +1,4 @@
-uuid: 91337305-53cc-4191-9dcf-4775c2637c98
+uuid: fd4734b6-d910-4ddf-b28b-c57366e23201
 langcode: en
 status: true
 dependencies: {  }

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_thesaurus.yml

@@ -1,4 +1,4 @@
-uuid: f50a55f5-c2a7-4808-89f3-842c2fbed7db
+uuid: b624ff13-d668-41dc-87f5-8aed6df7c8b9
 langcode: en
 status: true
 dependencies: {  }

+ 1 - 1
sites/default/config/sync/migrate_plus.migration.d7_taxonomy_term_thesaurus_i18n.yml

@@ -1,4 +1,4 @@
-uuid: b412a3b4-4ec3-4078-8368-53ffb3202853
+uuid: c42fc9c9-3cf7-4b00-a35d-ed35225c75d1
 langcode: en
 status: true
 dependencies: {  }

+ 2 - 2
sites/default/config/sync/migrate_plus.migration_group.d7_materio.yml

@@ -1,5 +1,5 @@
-uuid: 7f2287af-f8df-4fc7-88c0-a18bbb35ea72
-langcode: en
+uuid: 9b0e7e6b-8866-44ea-95db-3ecb94a96d7e
+langcode: fr
 status: true
 dependencies:
   enforced:

+ 101 - 349
sites/default/config/sync/views.view.admin_nodes.yml

@@ -4,8 +4,6 @@ status: true
 dependencies:
   config:
     - field.storage.node.field_distributor
-    - field.storage.node.field_famille
-    - field.storage.node.field_index
     - field.storage.node.field_linked_breves
     - field.storage.node.field_linked_materials
     - field.storage.node.field_manufacturer
@@ -25,7 +23,6 @@ dependencies:
   module:
     - computed_field
     - content_lock
-    - content_translation
     - image
     - materio_samples
     - node
@@ -108,20 +105,18 @@ display:
             views_bulk_operations_bulk_form: views_bulk_operations_bulk_form
             field_materiau_images: field_materiau_images
             field_visuel: field_materiau_images
-            field_famille: field_famille
-            field_index: field_famille
-            field_reference: field_famille
+            field_reference: title
             nid: title
             title: title
-            edit_node: title
-            translation_link: title
-            langcode: langcode
+            operations: title
             field_thesaurus: field_thesaurus
             field_tags: field_tags
             field_manufacturer: field_manufacturer
             field_distributor: field_distributor
             field_linked_materials: field_linked_materials
             field_linked_breves: field_linked_breves
+            field_samples: field_samples
+            translation_count: translation_count
             field_workflow: field_workflow
             field_migration: field_migration
             is_locked: is_locked
@@ -142,20 +137,6 @@ display:
               separator: ''
               empty_column: false
               responsive: ''
-            field_famille:
-              sortable: false
-              default_sort_order: asc
-              align: ''
-              separator: '<br />'
-              empty_column: false
-              responsive: ''
-            field_index:
-              sortable: false
-              default_sort_order: asc
-              align: ''
-              separator: ''
-              empty_column: false
-              responsive: ''
             field_reference:
               sortable: false
               default_sort_order: asc
@@ -177,23 +158,7 @@ display:
               separator: '<br/>'
               empty_column: false
               responsive: ''
-            edit_node:
-              sortable: false
-              default_sort_order: asc
-              align: ''
-              separator: ''
-              empty_column: false
-              responsive: ''
-            translation_link:
-              sortable: false
-              default_sort_order: asc
-              align: ''
-              separator: ''
-              empty_column: false
-              responsive: ''
-            langcode:
-              sortable: false
-              default_sort_order: asc
+            operations:
               align: ''
               separator: ''
               empty_column: false
@@ -228,6 +193,18 @@ display:
               separator: ''
               empty_column: true
               responsive: ''
+            field_samples:
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            translation_count:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
             field_workflow:
               sortable: false
               default_sort_order: asc
@@ -325,7 +302,7 @@ display:
             node_save_action: node_save_action
             node_make_sticky_action: 0
             views_bulk_edit: 0
-            views_bulk_operations_delete_entity: 0
+            views_bulk_operations_delete_entity: views_bulk_operations_delete_entity
             workflow_node_given_state_action: 0
             workflow_node_next_state_action: 0
             pathauto_update_alias: pathauto_update_alias
@@ -338,6 +315,8 @@ display:
               label_override: ''
             node_save_action:
               label_override: ''
+            views_bulk_operations_delete_entity:
+              label_override: ''
             pathauto_update_alias:
               label_override: ''
           plugin_id: views_bulk_operations_bulk_form
@@ -469,134 +448,6 @@ display:
           separator: ', '
           field_api_classes: false
           plugin_id: field
-        field_famille:
-          id: field_famille
-          table: node__field_famille
-          field: field_famille
-          relationship: none
-          group_type: group
-          admin_label: ''
-          label: Famille
-          exclude: false
-          alter:
-            alter_text: false
-            text: ''
-            make_link: false
-            path: ''
-            absolute: false
-            external: false
-            replace_spaces: false
-            path_case: none
-            trim_whitespace: false
-            alt: ''
-            rel: ''
-            link_class: ''
-            prefix: ''
-            suffix: ''
-            target: ''
-            nl2br: false
-            max_length: 0
-            word_boundary: true
-            ellipsis: true
-            more_link: false
-            more_link_text: ''
-            more_link_path: ''
-            strip_tags: false
-            trim: false
-            preserve_tags: ''
-            html: false
-          element_type: ''
-          element_class: ''
-          element_label_type: ''
-          element_label_class: ''
-          element_label_colon: true
-          element_wrapper_type: ''
-          element_wrapper_class: ''
-          element_default_classes: true
-          empty: ''
-          hide_empty: false
-          empty_zero: false
-          hide_alter_empty: true
-          click_sort_column: value
-          type: list_default
-          settings: {  }
-          group_column: value
-          group_columns: {  }
-          group_rows: true
-          delta_limit: 0
-          delta_offset: 0
-          delta_reversed: false
-          delta_first_last: false
-          multi_type: separator
-          separator: ', '
-          field_api_classes: false
-          plugin_id: field
-        field_index:
-          id: field_index
-          table: node__field_index
-          field: field_index
-          relationship: none
-          group_type: group
-          admin_label: ''
-          label: Index
-          exclude: false
-          alter:
-            alter_text: false
-            text: ''
-            make_link: false
-            path: ''
-            absolute: false
-            external: false
-            replace_spaces: false
-            path_case: none
-            trim_whitespace: false
-            alt: ''
-            rel: ''
-            link_class: ''
-            prefix: ''
-            suffix: ''
-            target: ''
-            nl2br: false
-            max_length: 0
-            word_boundary: true
-            ellipsis: true
-            more_link: false
-            more_link_text: ''
-            more_link_path: ''
-            strip_tags: false
-            trim: false
-            preserve_tags: ''
-            html: false
-          element_type: ''
-          element_class: ''
-          element_label_type: ''
-          element_label_class: ''
-          element_label_colon: true
-          element_wrapper_type: ''
-          element_wrapper_class: ''
-          element_default_classes: true
-          empty: ''
-          hide_empty: false
-          empty_zero: false
-          hide_alter_empty: true
-          click_sort_column: value
-          type: computed_integer
-          settings:
-            cache_unit: '-1'
-            cache_duration: '1'
-            thousand_separator: ''
-            prefix_suffix: 1
-          group_column: value
-          group_columns: {  }
-          group_rows: true
-          delta_limit: 0
-          delta_offset: 0
-          delta_reversed: false
-          delta_first_last: false
-          multi_type: separator
-          separator: ', '
-          field_api_classes: false
-          plugin_id: field
         field_reference:
           id: field_reference
           table: node__field_reference
@@ -670,7 +521,7 @@ display:
           group_type: group
           admin_label: ''
           label: ID
-          exclude: false
+          exclude: true
           alter:
             alter_text: false
             text: ''
@@ -775,120 +626,14 @@ display:
           multi_type: separator
           separator: ', '
           field_api_classes: false
-        edit_node:
-          id: edit_node
-          table: node
-          field: edit_node
-          relationship: none
-          group_type: group
-          admin_label: ''
-          label: Edit
-          exclude: false
-          alter:
-            alter_text: false
-            text: ''
-            make_link: false
-            path: ''
-            absolute: false
-            external: false
-            replace_spaces: false
-            path_case: none
-            trim_whitespace: false
-            alt: ''
-            rel: ''
-            link_class: ''
-            prefix: ''
-            suffix: ''
-            target: ''
-            nl2br: false
-            max_length: 0
-            word_boundary: true
-            ellipsis: true
-            more_link: false
-            more_link_text: ''
-            more_link_path: ''
-            strip_tags: false
-            trim: false
-            preserve_tags: ''
-            html: false
-          element_type: ''
-          element_class: ''
-          element_label_type: ''
-          element_label_class: ''
-          element_label_colon: true
-          element_wrapper_type: ''
-          element_wrapper_class: ''
-          element_default_classes: true
-          empty: ''
-          hide_empty: false
-          empty_zero: false
-          hide_alter_empty: true
-          text: edit
-          output_url_as_text: false
-          absolute: false
-          entity_type: node
-          plugin_id: entity_link_edit
-        translation_link:
-          id: translation_link
-          table: node
-          field: translation_link
-          relationship: none
-          group_type: group
-          admin_label: ''
-          label: Translate
-          exclude: false
-          alter:
-            alter_text: false
-            text: ''
-            make_link: false
-            path: ''
-            absolute: false
-            external: false
-            replace_spaces: false
-            path_case: none
-            trim_whitespace: false
-            alt: ''
-            rel: ''
-            link_class: ''
-            prefix: ''
-            suffix: ''
-            target: ''
-            nl2br: false
-            max_length: 0
-            word_boundary: true
-            ellipsis: true
-            more_link: false
-            more_link_text: ''
-            more_link_path: ''
-            strip_tags: false
-            trim: false
-            preserve_tags: ''
-            html: false
-          element_type: ''
-          element_class: ''
-          element_label_type: ''
-          element_label_class: ''
-          element_label_colon: true
-          element_wrapper_type: ''
-          element_wrapper_class: ''
-          element_default_classes: true
-          empty: ''
-          hide_empty: false
-          empty_zero: false
-          hide_alter_empty: true
-          text: Translate
-          output_url_as_text: 0
-          absolute: 0
-          entity_type: node
-          plugin_id: content_translation_link
-        langcode:
-          id: langcode
+        operations:
+          id: operations
           table: node
-          field: langcode
+          field: operations
           relationship: none
           group_type: group
           admin_label: ''
-          label: 'Original language'
+          label: 'Operations links'
           exclude: false
           alter:
             alter_text: false
@@ -929,24 +674,9 @@ display:
           hide_empty: false
           empty_zero: false
           hide_alter_empty: true
-          click_sort_column: value
-          type: language
-          settings:
-            link_to_entity: false
-            native_language: false
-          group_column: value
-          group_columns: {  }
-          group_rows: true
-          delta_limit: 0
-          delta_offset: 0
-          delta_reversed: false
-          delta_first_last: false
-          multi_type: separator
-          separator: ', '
-          field_api_classes: false
+          destination: true
           entity_type: node
-          entity_field: langcode
-          plugin_id: field
+          plugin_id: entity_operations
         field_thesaurus:
           id: field_thesaurus
           table: node__field_thesaurus
@@ -1670,6 +1400,53 @@ display:
           entity_type: node
           entity_field: type
           plugin_id: bundle
+        langcode_1:
+          id: langcode_1
+          table: node_field_data
+          field: langcode
+          relationship: none
+          group_type: group
+          admin_label: ''
+          operator: in
+          value:
+            en: en
+            fr: fr
+            und: und
+            zxx: zxx
+          group: 1
+          exposed: true
+          expose:
+            operator_id: langcode_1_op
+            label: 'Translation language'
+            description: ''
+            use_operator: false
+            operator: langcode_1_op
+            identifier: langcode_1
+            required: false
+            remember: true
+            multiple: false
+            remember_roles:
+              authenticated: authenticated
+              anonymous: '0'
+              admin: '0'
+              root: '0'
+              user: '0'
+            reduce: false
+          is_grouped: false
+          group_info:
+            label: ''
+            description: ''
+            identifier: ''
+            optional: true
+            widget: select
+            multiple: false
+            remember: false
+            default_group: All
+            default_group_multiple: {  }
+            group_items: {  }
+          entity_type: node
+          entity_field: langcode
+          plugin_id: language
         langcode:
           id: langcode
           table: node
@@ -1978,43 +1755,6 @@ display:
             group_items: {  }
           reduce_duplicates: false
           plugin_id: workflow_state
-        field_reference_value:
-          id: field_reference_value
-          table: node__field_reference
-          field: field_reference_value
-          relationship: none
-          group_type: group
-          admin_label: ''
-          operator: 'not empty'
-          value: ''
-          group: 1
-          exposed: false
-          expose:
-            operator_id: ''
-            label: ''
-            description: ''
-            use_operator: false
-            operator: ''
-            identifier: ''
-            required: false
-            remember: false
-            multiple: false
-            remember_roles:
-              authenticated: authenticated
-            placeholder: ''
-          is_grouped: false
-          group_info:
-            label: ''
-            description: ''
-            identifier: ''
-            optional: true
-            widget: select
-            multiple: false
-            remember: false
-            default_group: All
-            default_group_multiple: {  }
-            group_items: {  }
-          plugin_id: string
       sorts:
         created:
           id: created
@@ -2065,8 +1805,6 @@ display:
         - user.roles
       tags:
         - 'config:field.storage.node.field_distributor'
-        - 'config:field.storage.node.field_famille'
-        - 'config:field.storage.node.field_index'
         - 'config:field.storage.node.field_linked_breves'
         - 'config:field.storage.node.field_linked_materials'
         - 'config:field.storage.node.field_manufacturer'
@@ -2106,31 +1844,37 @@ display:
                   title: ''
                   description: ''
                   open: '1'
-                  weight: '-21'
+                  weight: '-23'
                   id: container-0
                   pid: root
                   depth: '1'
                   type: container
                 type:
-                  weight: '-21'
+                  weight: '-23'
                   id: type
                   pid: container-0
                   depth: '2'
                   type: filter
+                langcode_1:
+                  weight: '-22'
+                  id: langcode_1
+                  pid: container-0
+                  depth: '2'
+                  type: filter
                 langcode:
-                  weight: '-20'
+                  weight: '-21'
                   id: langcode
                   pid: container-0
                   depth: '2'
                   type: filter
                 title:
-                  weight: '-19'
+                  weight: '-20'
                   id: title
                   pid: container-0
                   depth: '2'
                   type: filter
                 field_memo_value:
-                  weight: '-18'
+                  weight: '-19'
                   id: field_memo_value
                   pid: container-0
                   depth: '2'
@@ -2205,7 +1949,7 @@ display:
                   container_type: details
                   title: 'Container 4'
                   description: ''
-                  weight: '-15'
+                  weight: '-17'
                   open: 0
                   id: container-4
                   pid: root
@@ -2215,7 +1959,7 @@ display:
                   container_type: details
                   title: 'Container 5'
                   description: ''
-                  weight: '-14'
+                  weight: '-16'
                   open: 0
                   id: container-5
                   pid: root
@@ -2225,7 +1969,7 @@ display:
                   container_type: details
                   title: 'Container 6'
                   description: ''
-                  weight: '-13'
+                  weight: '-15'
                   open: 0
                   id: container-6
                   pid: root
@@ -2235,7 +1979,7 @@ display:
                   container_type: details
                   title: 'Container 7'
                   description: ''
-                  weight: '-12'
+                  weight: '-14'
                   open: 0
                   id: container-7
                   pid: root
@@ -2245,7 +1989,7 @@ display:
                   container_type: details
                   title: 'Container 8'
                   description: ''
-                  weight: '-11'
+                  weight: '-13'
                   open: 0
                   id: container-8
                   pid: root
@@ -2255,12 +1999,22 @@ display:
                   container_type: details
                   title: 'Container 9'
                   description: ''
-                  weight: '-10'
+                  weight: '-12'
                   open: 0
                   id: container-9
                   pid: root
                   depth: '1'
                   type: container
+                container-10:
+                  container_type: details
+                  title: 'Container 10'
+                  description: ''
+                  weight: '-11'
+                  open: 0
+                  id: container-10
+                  pid: root
+                  depth: '1'
+                  type: container
       path: admin/content/nodes
     cache_metadata:
       max-age: 0
@@ -2274,8 +2028,6 @@ display:
         - user.roles
       tags:
         - 'config:field.storage.node.field_distributor'
-        - 'config:field.storage.node.field_famille'
-        - 'config:field.storage.node.field_index'
         - 'config:field.storage.node.field_linked_breves'
         - 'config:field.storage.node.field_linked_materials'
         - 'config:field.storage.node.field_manufacturer'