popsu_migrate: D7NodeActu ok

This commit is contained in:
Bachir Soussi Chiadmi 2021-04-21 11:59:10 +02:00
parent 3ad0c731f9
commit c1b92143ef
23 changed files with 598 additions and 208 deletions

View File

@ -8,6 +8,7 @@ dependencies:
- field.field.node.actualite.field_evenements_lies - field.field.node.actualite.field_evenements_lies
- field.field.node.actualite.field_fichier - field.field.node.actualite.field_fichier
- field.field.node.actualite.field_image - field.field.node.actualite.field_image
- field.field.node.actualite.field_memo
- field.field.node.actualite.field_programme - field.field.node.actualite.field_programme
- field.field.node.actualite.field_projet - field.field.node.actualite.field_projet
- field.field.node.actualite.field_ressources_liees - field.field.node.actualite.field_ressources_liees
@ -16,10 +17,10 @@ dependencies:
- image.style.thumbnail - image.style.thumbnail
- node.type.actualite - node.type.actualite
module: module:
- datetime_range
- field_group - field_group
- file - file
- image - image
- smart_date
- text - text
third_party_settings: third_party_settings:
field_group: field_group:
@ -27,6 +28,7 @@ third_party_settings:
children: children:
- promote - promote
- status - status
- field_memo
parent_name: '' parent_name: ''
weight: 200 weight: 200
format_type: details_sidebar format_type: details_sidebar
@ -56,10 +58,10 @@ third_party_settings:
group_pri: group_pri:
children: children:
- field_sous_titre - field_sous_titre
- field_dates_actu
- field_programme - field_programme
- field_projet - field_projet
- field_theme - field_theme
- field_dates_actu
- body - body
parent_name: group_tabs parent_name: group_tabs
weight: 20 weight: 20
@ -118,14 +120,10 @@ content:
third_party_settings: { } third_party_settings: { }
region: content region: content
field_dates_actu: field_dates_actu:
weight: 4 weight: 1
settings: settings: { }
modal: false
default_duration: 60
default_duration_increments: "30\n60|1 hour\n90\n120|2 hours\ncustom"
show_extra: true
third_party_settings: { } third_party_settings: { }
type: smartdate_default type: daterange_default
region: content region: content
field_evenements_lies: field_evenements_lies:
weight: 129 weight: 129
@ -152,8 +150,16 @@ content:
third_party_settings: { } third_party_settings: { }
type: image_image type: image_image
region: content region: content
field_memo:
weight: 17
settings:
rows: 5
placeholder: ''
third_party_settings: { }
type: string_textarea
region: content
field_programme: field_programme:
weight: 1 weight: 2
settings: settings:
match_operator: CONTAINS match_operator: CONTAINS
match_limit: 10 match_limit: 10
@ -163,7 +169,7 @@ content:
type: entity_reference_autocomplete type: entity_reference_autocomplete
region: content region: content
field_projet: field_projet:
weight: 2 weight: 3
settings: settings:
match_operator: CONTAINS match_operator: CONTAINS
match_limit: 10 match_limit: 10
@ -191,7 +197,7 @@ content:
type: string_textfield type: string_textfield
region: content region: content
field_theme: field_theme:
weight: 3 weight: 4
settings: settings:
match_operator: CONTAINS match_operator: CONTAINS
match_limit: 10 match_limit: 10
@ -211,7 +217,7 @@ content:
type: boolean_checkbox type: boolean_checkbox
settings: settings:
display_label: true display_label: true
weight: 120 weight: 16
region: content region: content
third_party_settings: { } third_party_settings: { }
title: title:

View File

@ -8,6 +8,7 @@ dependencies:
- field.field.node.actualite.field_evenements_lies - field.field.node.actualite.field_evenements_lies
- field.field.node.actualite.field_fichier - field.field.node.actualite.field_fichier
- field.field.node.actualite.field_image - field.field.node.actualite.field_image
- field.field.node.actualite.field_memo
- field.field.node.actualite.field_programme - field.field.node.actualite.field_programme
- field.field.node.actualite.field_projet - field.field.node.actualite.field_projet
- field.field.node.actualite.field_ressources_liees - field.field.node.actualite.field_ressources_liees
@ -15,9 +16,9 @@ dependencies:
- field.field.node.actualite.field_theme - field.field.node.actualite.field_theme
- node.type.actualite - node.type.actualite
module: module:
- datetime_range
- file - file
- image - image
- smart_date
- text - text
- user - user
id: node.actualite.default id: node.actualite.default
@ -33,16 +34,14 @@ content:
third_party_settings: { } third_party_settings: { }
region: content region: content
field_dates_actu: field_dates_actu:
weight: 106 weight: 114
label: above label: above
settings: settings:
format: default separator: '-'
force_chronological: false
add_classes: 0
format_type: medium format_type: medium
timezone_override: '' timezone_override: ''
third_party_settings: { } third_party_settings: { }
type: smartdate_default type: daterange_default
region: content region: content
field_evenements_lies: field_evenements_lies:
weight: 109 weight: 109
@ -69,6 +68,13 @@ content:
third_party_settings: { } third_party_settings: { }
type: image type: image
region: content region: content
field_memo:
weight: 113
label: above
settings: { }
third_party_settings: { }
type: basic_string
region: content
field_programme: field_programme:
weight: 102 weight: 102
label: above label: above

View File

@ -9,6 +9,7 @@ dependencies:
- field.field.node.actualite.field_evenements_lies - field.field.node.actualite.field_evenements_lies
- field.field.node.actualite.field_fichier - field.field.node.actualite.field_fichier
- field.field.node.actualite.field_image - field.field.node.actualite.field_image
- field.field.node.actualite.field_memo
- field.field.node.actualite.field_programme - field.field.node.actualite.field_programme
- field.field.node.actualite.field_projet - field.field.node.actualite.field_projet
- field.field.node.actualite.field_ressources_liees - field.field.node.actualite.field_ressources_liees
@ -41,6 +42,7 @@ hidden:
field_evenements_lies: true field_evenements_lies: true
field_fichier: true field_fichier: true
field_image: true field_image: true
field_memo: true
field_programme: true field_programme: true
field_projet: true field_projet: true
field_ressources_liees: true field_ressources_liees: true

View File

@ -1,4 +1,4 @@
uuid: b1acba14-ed54-4ff4-9a1e-69fb298c2e2f uuid: cd269d00-7119-46ae-bfc2-25ad94067e76
langcode: fr langcode: fr
status: true status: true
dependencies: dependencies:
@ -6,21 +6,16 @@ dependencies:
- field.storage.node.field_dates_actu - field.storage.node.field_dates_actu
- node.type.actualite - node.type.actualite
module: module:
- smart_date - datetime_range
id: node.actualite.field_dates_actu id: node.actualite.field_dates_actu
field_name: field_dates_actu field_name: field_dates_actu
entity_type: node entity_type: node
bundle: actualite bundle: actualite
label: Dates label: 'Dates actu'
description: '' description: ''
required: false required: false
translatable: false translatable: false
default_value: default_value: { }
-
default_date_type: ''
default_date: ''
default_duration_increments: "30\r\n60|1 hour\r\n90\r\n120|2 hours\r\ncustom"
default_duration: 60
default_value_callback: '' default_value_callback: ''
settings: { } settings: { }
field_type: smartdate field_type: daterange

View File

@ -0,0 +1,19 @@
uuid: ec9af1cd-b8ad-4d60-969b-68a66d70815f
langcode: fr
status: true
dependencies:
config:
- field.storage.node.field_memo
- node.type.actualite
id: node.actualite.field_memo
field_name: field_memo
entity_type: node
bundle: actualite
label: memo
description: ''
required: false
translatable: true
default_value: { }
default_value_callback: ''
settings: { }
field_type: string_long

View File

@ -1,18 +1,19 @@
uuid: f7e47b8a-6b86-4b1f-b91a-c577975f71d5 uuid: a7efce6a-3f5b-41f5-a317-fdd388563b5d
langcode: fr langcode: fr
status: true status: true
dependencies: dependencies:
module: module:
- datetime_range
- node - node
- smart_date
id: node.field_dates_actu id: node.field_dates_actu
field_name: field_dates_actu field_name: field_dates_actu
entity_type: node entity_type: node
type: smartdate type: daterange
settings: { } settings:
module: smart_date datetime_type: allday
module: datetime_range
locked: false locked: false
cardinality: -1 cardinality: 1
translatable: true translatable: true
indexes: { } indexes: { }
persist_with_no_fields: false persist_with_no_fields: false

View File

@ -1,4 +1,4 @@
uuid: cf4124c8-cc6b-450b-9ede-328076235970 uuid: 6f7aa7cb-e247-4ad6-a69b-ae9d566168c7
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -0,0 +1,92 @@
uuid: 567d6005-ed2f-4492-8b9e-1e9257be0fe0
langcode: fr
status: true
dependencies: { }
_core:
default_config_hash: I6GROOhFniRjxHdI9dtO9yVSViggMTS5H7jUOHZEMIU
id: d7_node_actu
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
- 'Drupal 7'
- Content
- Popsu
migration_group: popsu
label: 'Node actu'
source:
plugin: d7_node_actu
batch_size: 500
process:
type:
plugin: default_value
default_value: actualite
created: created
changed: changed
uid:
plugin: default_value
default_value: 34
title: title
field_sous_titre: field_popsu_actu_soustitre
promote:
plugin: default_value
default_value: 0
source: field_popsu_actu_enhome
field_dates_actu:
-
plugin: skip_on_empty
method: process
source: field_date
-
plugin: sub_process
process:
value:
plugin: format_date
from_format: 'Y-m-d H:i:s'
to_format: 'Y-m-d\TH:i:s'
source: value
end_value:
plugin: format_date
from_format: 'Y-m-d H:i:s'
to_format: 'Y-m-d\TH:i:s'
source: end
timezone:
plugin: default_value
default_value: ''
body:
plugin: sub_process
source: field_popsu_actu_body
process:
value: value
summary: summary
format:
plugin: default_value
default_value: wysiwyg
field_fichier:
plugin: sub_process
source: field_popsu_actu_attachment
process:
target_id:
plugin: migration_lookup
migration: d7_allpublicfiles
source: fid
no_stub: true
display: display
description: description
field_image:
plugin: sub_process
source: field_popsu_actu_image
process:
target_id:
plugin: migration_lookup
migration: d7_allpublicfiles
source: fid
no_stub: true
alt: alt
title: title
field_memo: field_memo
destination:
plugin: 'entity:node'
migration_dependencies:
required:
- d7_allpublicfiles

View File

@ -1,9 +1,9 @@
uuid: be789f3f-d3d7-48c3-8a70-b93119076a41 uuid: b03ae923-6ae9-4c80-ad37-e708198fa881
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }
_core: _core:
default_config_hash: xRLAUHUEsPu8KEzDWCJXTmDeJV_GjCcaFRfmeFVyngI default_config_hash: MS8tsr-1_51NXldBPGyjMyJ0FirHg8jPH3btyD9bWbM
id: d7_node_evenement id: d7_node_evenement
class: null class: null
field_plugin_method: null field_plugin_method: null
@ -92,5 +92,3 @@ destination:
migration_dependencies: migration_dependencies:
required: required:
- d7_allpublicfiles - d7_allpublicfiles
- d7_users
- d7_taxonomy_term_type_theme

View File

@ -1,4 +1,4 @@
uuid: 59b95e8c-21fb-434f-b6a6-cc668e524c32 uuid: 353b0f84-fc09-4f03-93f4-4db572c7599c
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: cb12b218-4bf0-436d-9153-5031392c95de uuid: e0e8b952-474b-4991-87b9-3dccf0c79810
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: b153072c-b974-482e-9b41-64e4b696ee60 uuid: ed533655-6d55-4cd6-9890-39feb2361701
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: 652e81fb-fd06-4257-90c1-8b34ff9f015b uuid: 280c74af-f8a1-4ef4-9cd6-682742f37b55
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: e68b1dc2-d70d-4a89-a6c0-10507b257f83 uuid: 0d6ed43f-4c5f-4002-b34e-2adb84dc5208
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: df19211c-2485-44f6-bb2e-a92a6d5371d2 uuid: d802decf-b5d4-4852-81ee-88c40649b37a
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: e40f6f27-096f-4d03-a34f-afb8ae8be371 uuid: 4f06f619-a8a0-4543-9165-3d66af1aa722
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: ce8a651c-fe72-4dad-b0c1-7661845c9ad2 uuid: 897e00b7-08f2-4cbe-9ff1-cfb8a085ae4d
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: 8844be88-0ac5-4855-82ff-04b601da338f uuid: e59d3b15-98fa-499e-b7b8-9988f4176cd8
langcode: fr langcode: fr
status: true status: true
dependencies: { } dependencies: { }

View File

@ -1,4 +1,4 @@
uuid: 042a1da3-e723-451c-91ba-d3770e0e5071 uuid: b0e9db0b-3391-42d4-a80f-29ca99b706f2
langcode: fr langcode: fr
status: true status: true
dependencies: dependencies:

View File

@ -4,6 +4,7 @@ status: true
dependencies: dependencies:
config: config:
- field.storage.node.field_comparatifs_associes - field.storage.node.field_comparatifs_associes
- field.storage.node.field_dates_actu
- field.storage.node.field_diaporama - field.storage.node.field_diaporama
- field.storage.node.field_image - field.storage.node.field_image
- field.storage.node.field_memo - field.storage.node.field_memo
@ -33,6 +34,7 @@ dependencies:
- entity_reference_revisions - entity_reference_revisions
- image - image
- node - node
- smart_date
- taxonomy - taxonomy
- user - user
_core: _core:
@ -89,12 +91,15 @@ display:
node_bulk_form: node_bulk_form node_bulk_form: node_bulk_form
field_image: field_image field_image: field_image
title: title title: title
field_sous_titre: title
operations: title operations: title
field_programme: field_programme field_programme: field_programme
field_projet: field_projet field_projet: field_projet
field_theme: field_theme field_theme: field_theme
field_dates_actu: field_dates_actu
field_dates_actu_value: field_dates_actu_value
field_dates_actu_end_value: field_dates_actu_value
status: status status: status
promote: promote
changed: changed changed: changed
field_memo: field_memo field_memo: field_memo
info: info:
@ -117,13 +122,6 @@ display:
separator: '<br/>' separator: '<br/>'
empty_column: false empty_column: false
responsive: '' responsive: ''
field_sous_titre:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
operations: operations:
align: '' align: ''
separator: '' separator: ''
@ -150,6 +148,25 @@ display:
separator: '' separator: ''
empty_column: false empty_column: false
responsive: '' responsive: ''
field_dates_actu:
align: ''
separator: ''
empty_column: false
responsive: ''
field_dates_actu_value:
sortable: true
default_sort_order: asc
align: ''
separator: '<br/>'
empty_column: false
responsive: ''
field_dates_actu_end_value:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
status: status:
sortable: true sortable: true
default_sort_order: asc default_sort_order: asc
@ -157,6 +174,13 @@ display:
separator: '' separator: ''
empty_column: false empty_column: false
responsive: '' responsive: ''
promote:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
changed: changed:
sortable: true sortable: true
default_sort_order: desc default_sort_order: desc
@ -5152,69 +5176,6 @@ display:
settings: settings:
link_to_entity: true link_to_entity: true
plugin_id: field plugin_id: field
field_type_de_ressource:
id: field_type_de_ressource
table: node__field_type_de_ressource
field: field_type_de_ressource
relationship: none
group_type: group
admin_label: ''
label: 'Type de ressource'
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: target_id
type: entity_reference_label
settings:
link: true
group_column: target_id
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
operations: operations:
id: operations id: operations
table: node table: node
@ -5265,6 +5226,72 @@ display:
hide_alter_empty: true hide_alter_empty: true
destination: true destination: true
plugin_id: entity_operations plugin_id: entity_operations
field_dates_actu:
id: field_dates_actu
table: node__field_dates_actu
field: field_dates_actu
relationship: none
group_type: group
admin_label: ''
label: 'Dates actu'
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: smartdate_duration
settings:
timezone_override: ''
format: date_only
force_chronological: 0
add_classes: 0
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_programme: field_programme:
id: field_programme id: field_programme
table: node__field_programme table: node__field_programme
@ -5454,77 +5481,36 @@ display:
separator: ', ' separator: ', '
field_api_classes: false field_api_classes: false
plugin_id: field plugin_id: field
field_ressources_liees: status:
id: field_ressources_liees id: status
table: node__field_ressources_liees table: node_field_data
field: field_ressources_liees field: status
relationship: none label: État
group_type: group
admin_label: ''
label: Ressources
exclude: false exclude: false
alter: alter:
alter_text: false 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_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true element_default_classes: true
empty: '' empty: ''
hide_empty: false hide_empty: false
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
click_sort_column: target_id type: boolean
type: entity_reference_label
settings: settings:
link: true format: custom
group_column: target_id format_custom_true: Publié
group_columns: { } format_custom_false: 'Non publié'
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: ul
separator: ', '
field_api_classes: false
plugin_id: field plugin_id: field
field_poid: entity_type: node
id: field_poid entity_field: status
table: node__field_poid promote:
field: field_poid id: promote
table: node_field_data
field: promote
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: Poid label: Home
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -5566,10 +5552,11 @@ display:
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
click_sort_column: value click_sort_column: value
type: number_integer type: boolean
settings: settings:
thousand_separator: '' format: unicode-yes-no
prefix_suffix: true format_custom_true: ''
format_custom_false: ''
group_column: value group_column: value
group_columns: { } group_columns: { }
group_rows: true group_rows: true
@ -5580,29 +5567,9 @@ display:
multi_type: separator multi_type: separator
separator: ', ' separator: ', '
field_api_classes: false field_api_classes: false
plugin_id: field
status:
id: status
table: node_field_data
field: status
label: État
exclude: false
alter:
alter_text: false
element_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
type: boolean
settings:
format: custom
format_custom_true: Publié
format_custom_false: 'Non publié'
plugin_id: field
entity_type: node entity_type: node
entity_field: status entity_field: promote
plugin_id: field
changed: changed:
id: changed id: changed
table: node_field_data table: node_field_data
@ -5703,11 +5670,9 @@ display:
- user.permissions - user.permissions
max-age: 0 max-age: 0
tags: tags:
- 'config:field.storage.node.field_dates_actu'
- 'config:field.storage.node.field_image' - 'config:field.storage.node.field_image'
- 'config:field.storage.node.field_memo' - 'config:field.storage.node.field_memo'
- 'config:field.storage.node.field_poid'
- 'config:field.storage.node.field_programme' - 'config:field.storage.node.field_programme'
- 'config:field.storage.node.field_projet' - 'config:field.storage.node.field_projet'
- 'config:field.storage.node.field_ressources_liees'
- 'config:field.storage.node.field_theme' - 'config:field.storage.node.field_theme'
- 'config:field.storage.node.field_type_de_ressource'

View File

@ -0,0 +1,121 @@
id: d7_node_actu
label: Node actu
migration_group: popsu
audit: true
migration_tags:
- Drupal 7
- Content
- Popsu
source:
plugin: d7_node_actu
batch_size: 500
# high_water_property:
# name: changed
# alias: n
destination:
plugin: entity:node
process:
# nid: nid
type:
plugin: default_value
default_value: actualite
created: created
changed: changed
uid:
plugin: default_value
default_value: 34
title: title
field_sous_titre: field_popsu_actu_soustitre
promote:
plugin: default_value
default_value: 0
source: field_popsu_actu_enhome
# https://understanddrupal.com/articles/migrating-dates-drupal
# 'field_date/value':
# plugin: format_date
# source: field_popsu_actu_date
# from_format: 'Y-m-j H:i:s'
# to_format: 'Y-m-d\TH:i:s'
# 'field_date/end_value':
# plugin: format_date
# source: field_popsu_actu_date_fin
# from_format: 'Y-m-j H:i:s'
# to_format: 'Y-m-d\TH:i:s'
field_dates_actu:
-
plugin: skip_on_empty
method: process
source: field_date
-
plugin: sub_process
# source: field_date
process:
value:
# format_date was not working, converting date to timestamp on prepare_row
plugin: format_date
from_format: 'Y-m-d H:i:s'
to_format: 'Y-m-d\TH:i:s'
# \TH:i:s
source: value
end_value:
plugin: format_date
from_format: 'Y-m-d H:i:s'
to_format: 'Y-m-d\TH:i:s'
source: end
# duration: duration
timezone:
plugin: default_value
default_value: ""
# settings:
# validate_format: false
body:
plugin: sub_process
source: field_popsu_actu_body
process:
value: value
summary: summary
format:
plugin: default_value
default_value: wysiwyg
field_fichier:
plugin: sub_process
source: field_popsu_actu_attachment
process:
target_id:
plugin: migration_lookup
migration: d7_allpublicfiles
source: fid
no_stub: true
display: display
description: description
field_image:
plugin: sub_process
source: field_popsu_actu_image
process:
target_id:
plugin: migration_lookup
migration: d7_allpublicfiles
source: fid
no_stub: true
alt: alt
title: title
field_memo: field_memo
migration_dependencies:
required:
- d7_allpublicfiles

View File

@ -107,5 +107,3 @@ process:
migration_dependencies: migration_dependencies:
required: required:
- d7_allpublicfiles - d7_allpublicfiles
- d7_users
- d7_taxonomy_term_type_theme

View File

@ -0,0 +1,187 @@
<?php
namespace Drupal\popsu_migrate\Plugin\migrate\source;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\migrate\Row;
use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
use Drupal\Core\Database\Query\SelectInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Extension\ModuleHandler;
use Drupal\Core\State\StateInterface;
use Drupal\migrate\Plugin\MigrationInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Logger\LoggerChannelFactoryInterface;
use Drush\Drush;
use Drupal\paragraphs\Entity\Paragraph;
// use Drupal\popsu_migrate\Plugin\migrate\source\D7Programme;
/**
* Drupal 7 node source from database.
*
* @MigrateSource(
* id = "d7_node_actu",
* source_module = "node"
* )
*/
class D7NodeActu extends FieldableEntity {
/**
* The module handler.
*
* @var \Drupal\Core\Extension\ModuleHandlerInterface
*/
protected $moduleHandler;
/**
* The logger channel.
*
* @var \Drupal\Core\Logger\LoggerChannelInterface
*/
protected $logger;
/**
* {@inheritdoc}
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityTypeManagerInterface $entity_manager, ModuleHandlerInterface $module_handler,LoggerChannelFactoryInterface $loggerFactory) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_manager);
$this->moduleHandler = $module_handler;
$this->logger = $loggerFactory->get('popsu_migration');
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
return new static(
$configuration,
$plugin_id,
$plugin_definition,
$migration,
$container->get('state'),
$container->get('entity_type.manager'),
$container->get('module_handler'),
$container->get('logger.factory')
);
}
/**
* The join options between the node and the node_revisions table.
*/
const JOIN = 'n.vid = nr.vid';
/**
* {@inheritdoc}
*/
public function query() {
// Select node in its last revision.
$query = $this->select('node_revision', 'nr')
->fields('n', [
'nid',
'type',
'uid',
'language',
'status',
'created',
'changed',
])
->fields('nr', [
'vid',
'title',
'log',
'timestamp',
])
->orderBy('type', 'DESC');
$query->addField('n', 'uid', 'node_uid');
$query->addField('nr', 'uid', 'revision_uid');
$query->innerJoin('node', 'n', static::JOIN);
$query->condition('n.type', ['popsu_actu'], 'IN');
return $query;
}
/**
* {@inheritdoc}
*/
public function prepareRow(Row $row) {
$nid = $row->getSourceProperty('nid');
$vid = $row->getSourceProperty('vid');
$type = $row->getSourceProperty('type');
$title = $row->getSourceProperty('title');
Drush::output()->writeln('- - - - ' . $title . ' ('.$nid.')'. ' ['.$type.']' . '- - - - ');
$memo = '';
$memo .= "#migration : old nid = ".$nid."\n";
$memo .= "#migration : old content type = ".$type."\n";
// Get Field API field values.
foreach ($this->getFields('node', $type) as $field_name => $field) {
$field_values = $this->getFieldValues('node', $field_name, $nid, $vid, NULL);
$row->setSourceProperty($field_name, $field_values);
}
$field_date = array();
if ($date_start = $row->getSourceProperty('field_popsu_actu_date')) {
// Drush::output()->writeln(dump($date_start));
// $field_date['value'] = strtotime(substr($date_start[0]['value'], 0, 10));
$field_date['value'] = $date_start[0]['value'];
}
if ($date_end = $row->getSourceProperty('field_popsu_actu_date_fin')) {
// Drush::output()->writeln(dump($date_end));
$field_date['end'] = $date_end[0]['value'];
}
if (!empty($field_date)) {
// $field_date['duration'] = $field_date['end'] - $field_date['value'];
// Drush::output()->writeln(dump($field_date));
$row->setSourceProperty('field_date', array($field_date));
}
// record migration errors in field_memo
if(isset($memo)){
$field_memo = array(
array(
'value' => $memo
)
);
$row->setSourceProperty('field_memo', $field_memo);
}
return parent::prepareRow($row);
}
/**
* {@inheritdoc}
*/
public function fields() {
$fields = [
'nid' => $this->t('Node ID'),
'type' => $this->t('Type'),
'title' => $this->t('Title'),
'node_uid' => $this->t('Node authored by (uid)'),
'revision_uid' => $this->t('Revision authored by (uid)'),
'created' => $this->t('Created timestamp'),
'changed' => $this->t('Modified timestamp'),
'status' => $this->t('Published'),
'promote' => $this->t('Promoted to front page'),
'sticky' => $this->t('Sticky at top of lists'),
'revision' => $this->t('Create new revision'),
'language' => $this->t('Language (fr, en, ...)'),
'tnid' => $this->t('The translation set id for this node'),
'timestamp' => $this->t('The timestamp the latest revision of this node was created.'),
];
return $fields;
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['nid']['type'] = 'integer';
$ids['nid']['alias'] = 'n';
return $ids;
}
}