From 67288772be35b76e33549622e7523079e95d23db Mon Sep 17 00:00:00 2001 From: Miro Michalicka Date: Sat, 24 Oct 2026 04:14:45 +0200 Subject: [PATCH] #359 - Feeds: stable GUID and publish date in RSS items The article and forum feeds used the aliased node URL as the item GUID. Pathauto regenerates the alias on title change, so readers (Slack RSS) saw a new item and re-posted it. Use " at https://www.drupal.cz" (same format as core's node_rss row) with isPermaLink=false, and use the created date in RFC 2822 format for pubDate instead of the changed date. Co-Authored-By: Claude Opus 5.5 --- config/default/views.view.feeds.yml | 168 +++++++++++++++++++++++++--- 1 file changed, 150 insertions(+), 18 deletions(-) diff --git a/config/default/views.view.feeds.yml b/config/default/views.view.feeds.yml index 1559270ab..d3e38e0a2 100644 --- a/config/default/views.view.feeds.yml +++ b/config/default/views.view.feeds.yml @@ -207,6 +207,72 @@ display: text: zobrazit output_url_as_text: true absolute: false + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: '' + exclude: true + alter: + alter_text: true + text: '{{ nid }} at https://www.drupal.cz' + 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: false + 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: number_integer + settings: + thousand_separator: '' + prefix_suffix: 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 uid: id: uid table: node_field_data @@ -272,15 +338,15 @@ display: multi_type: separator separator: ', ' field_api_classes: false - changed: - id: changed + created: + id: created table: node_field_data - field: changed + field: created relationship: none group_type: group admin_label: '' entity_type: node - entity_field: changed + entity_field: created plugin_id: field label: '' exclude: false @@ -326,8 +392,8 @@ display: click_sort_column: value type: timestamp settings: - date_format: html_datetime - custom_date_format: '' + date_format: custom + custom_date_format: r timezone: '' tooltip: date_format: '' @@ -513,10 +579,10 @@ display: link_field: view_node description_field: field_teaser_text creator_field: uid - date_field: changed + date_field: created guid_field_options: - guid_field: view_node - guid_field_is_permalink: true + guid_field: nid + guid_field_is_permalink: false display_description: '' display_extenders: metatag_display_extender: { } @@ -656,6 +722,72 @@ display: text: zobrazit output_url_as_text: true absolute: false + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: '' + exclude: true + alter: + alter_text: true + text: '{{ nid }} at https://www.drupal.cz' + 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: false + 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: number_integer + settings: + thousand_separator: '' + prefix_suffix: 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 uid: id: uid table: node_field_data @@ -721,15 +853,15 @@ display: multi_type: separator separator: ', ' field_api_classes: false - changed: - id: changed + created: + id: created table: node_field_data - field: changed + field: created relationship: none group_type: group admin_label: '' entity_type: node - entity_field: changed + entity_field: created plugin_id: field label: '' exclude: false @@ -775,8 +907,8 @@ display: click_sort_column: value type: timestamp settings: - date_format: html_datetime - custom_date_format: '' + date_format: custom + custom_date_format: r timezone: '' tooltip: date_format: '' @@ -931,10 +1063,10 @@ display: link_field: view_node description_field: body creator_field: uid - date_field: changed + date_field: created guid_field_options: - guid_field: view_node - guid_field_is_permalink: true + guid_field: nid + guid_field_is_permalink: false defaults: fields: false filters: false