Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
d7b109c
feat: add external site link content type
lambry May 22, 2026
f8d014f
fix: remove tide_site_restriction from for display conf in tide_exter…
lambry May 22, 2026
e82bf4d
feat: add content category to external site link, update keyword type…
lambry May 26, 2026
fdeecc9
feat: switch to select2 for content category
lambry May 26, 2026
5d17f56
feat: disable share and preview links for external_site_links
lambry May 29, 2026
18c26a7
feat: remove sections for external site link node form, update status…
lambry May 29, 2026
5947a3c
fix: appease the linter
lambry May 29, 2026
a651e63
feat: remove preview button from external site link node form and add…
lambry May 29, 2026
135cb86
feat: add extra test to check external site link path
lambry May 31, 2026
8686e8f
chore: fix content type reference
lambry Jun 9, 2026
7bd043e
chore: remove tide_external_site_link.permissions.yml file
lambry Jun 12, 2026
de07707
Merge branch 'develop' into feature/SD-1738-external-site-links
lambry Jun 16, 2026
4307b8f
feat: add site restriction support to external site link
lambry Jun 18, 2026
2da6d54
Merge branch 'develop' into feature/SD-1738-external-site-links
lambry Jun 18, 2026
1e830e7
feat: add featured image help text, update external site link permiss…
lambry Jun 22, 2026
50d1783
fix: external site link role permission
lambry Jun 22, 2026
977e2b8
chore: add approver plus permissions
lambry Jun 23, 2026
e06d263
chore: more permissions updates, add core install hook
lambry Jun 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .circleci/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@ ahoy cli "drush en tide_api -y"
ahoy cli "drush en tide_content_collection_ui -y"
ahoy cli "drush en tide_share_link -y"
ahoy cli "./vendor/bin/behat --strict --colors --tags="~@skipped" modules/tide_api"
ahoy cli "drush en tide_external_site_link -y"
ahoy cli "./vendor/bin/behat --strict --colors --tags="~@skipped" modules/tide_external_site_link"
1 change: 1 addition & 0 deletions behat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ default:
- '%paths.base%/modules/tide_media/tests/behat/features'
- '%paths.base%/modules/tide_webform/tests/behat/features'
- '%paths.base%/modules/tide_publication/tests/behat/features'
- '%paths.base%/modules/tide_external_site_link/tests/behat/features'
- '%paths.base%/modules/tide_alert/tests/behat/features'
- '%paths.base%/modules/tide_tfa/tests/behat/features'
contexts:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,14 @@ function tide_share_link_form_revision_overview_form_alter(&$form, FormStateInte
return;
}

// Allow 'removing' the create share link button for revisions.
$access = AccessResult::allowed();
\Drupal::moduleHandler()->alter('tide_share_link_form_revision_overview_form_access', $access, $node);

if ($access->isForbidden()) {
return;
}

foreach (Element::children($form['node_revisions_table']) as $delta) {
// The current revision.
if (empty($form['node_revisions_table'][$delta]['operations']['#type'])) {
Expand Down
8 changes: 8 additions & 0 deletions modules/tide_external_site_link/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# tide_external_site_link
External site link content type for Tide distribution

[![CircleCI](https://circleci.com/gh/dpc-sdp/tide_external_site_link.svg?style=svg&circle-token=ed8f970fb288fe68b6045a6a7c9ee968859bd244)](https://circleci.com/gh/dpc-sdp/tide_external_site_link)

# INTRODUCTION
The Tide external site link module provides the External site link content type and related configurations.
This module defines the needed fields, paragraph types and block types used in External site links.
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
langcode: en
status: true
dependencies:
config:
- entity_browser.browser.tide_image_browser
- field.field.node.external_site_link.field_content_category
- field.field.node.external_site_link.field_content_keywords
- field.field.node.external_site_link.field_featured_image
- field.field.node.external_site_link.field_landing_page_summary
- field.field.node.external_site_link.field_node_department
- field.field.node.external_site_link.field_node_link
- field.field.node.external_site_link.field_node_primary_site
- field.field.node.external_site_link.field_node_site
- field.field.node.external_site_link.field_tags
- field.field.node.external_site_link.field_topic
- node.type.external_site_link
- workflows.workflow.editorial
module:
- content_moderation
- entity_browser
- field_group
- link
- path
- select2
third_party_settings:
field_group:
group_tags_and_metadata:
children:
- group_page_tags
- group_page_metadata
label: 'Tags and Metadata'
region: content
parent_name: ''
weight: 5
format_type: tabs
format_settings:
classes: ''
show_empty_fields: false
id: ''
label_as_html: false
direction: horizontal
width_breakpoint: 640
group_page_tags:
children:
- field_topic
- field_tags
label: 'Page tags'
region: content
parent_name: group_tags_and_metadata
weight: 10
format_type: tab
format_settings:
classes: ''
show_empty_fields: true
id: ''
label_as_html: false
formatter: open
description: ''
required_fields: true
group_page_metadata:
children:
- field_content_category
- field_node_department
- group_sites
label: 'Page metadata'
region: content
parent_name: group_tags_and_metadata
weight: 11
format_type: tab
format_settings:
classes: ''
show_empty_fields: true
id: ''
label_as_html: false
formatter: closed
description: ''
required_fields: true
group_sites:
children:
- field_node_site
- field_node_primary_site
label: Sites
region: content
parent_name: group_page_metadata
weight: 6
format_type: details
format_settings:
classes: ''
show_empty_fields: true
id: ''
label_as_html: false
open: true
description: ''
required_fields: true
id: node.external_site_link.default
targetEntityType: node
bundle: external_site_link
mode: default
content:
created:
type: datetime_timestamp
weight: 7
region: content
settings: { }
third_party_settings: { }
field_content_category:
type: select2_entity_reference
weight: 4
region: content
settings:
width: 100%
autocomplete: false
match_operator: CONTAINS
match_limit: 10
third_party_settings: { }
field_content_keywords:
type: string_textfield
weight: 4
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
field_featured_image:
type: entity_browser_entity_reference
weight: 3
region: content
settings:
entity_browser: tide_image_browser
field_widget_display: rendered_entity
field_widget_edit: true
field_widget_remove: true
field_widget_replace: false
open: false
field_widget_display_settings:
view_mode: media_browser_preview
selection_mode: selection_append
third_party_settings: { }
field_landing_page_summary:
type: string_textarea
weight: 1
region: content
settings:
rows: 5
placeholder: ''
third_party_settings:
maxlength:
maxlength_js: 200
maxlength_js_label: 'Content limited to @limit characters, remaining: <strong>@remaining</strong>'
maxlength_js_enforce: false
maxlength_js_truncate_html: false
field_node_department:
type: select2_entity_reference
weight: 5
region: content
settings:
width: 100%
autocomplete: false
match_operator: CONTAINS
match_limit: 10
third_party_settings: { }
field_node_link:
type: link_default
weight: 2
region: content
settings:
placeholder_url: ''
placeholder_title: ''
third_party_settings: { }
field_node_primary_site:
type: options_buttons
weight: 6
region: content
settings: { }
third_party_settings: { }
field_name: field_node_primary_site
field_node_site:
type: options_buttons
weight: 5
region: content
settings: { }
third_party_settings: { }
field_name: field_node_site
field_tags:
type: select2_entity_reference
weight: 14
region: content
settings:
width: 100%
autocomplete: false
match_operator: CONTAINS
match_limit: 10
third_party_settings: { }
field_topic:
type: select2_entity_reference
weight: 13
region: content
settings:
width: 100%
autocomplete: false
match_operator: CONTAINS
match_limit: 10
third_party_settings: { }
moderation_state:
type: moderation_state_default
weight: 13
region: content
settings: { }
third_party_settings: { }
path:
type: path
weight: 11
region: content
settings: { }
third_party_settings: { }
promote:
type: boolean_checkbox
weight: 9
region: content
settings:
display_label: true
third_party_settings: { }
simple_sitemap:
weight: 8
region: content
settings: { }
third_party_settings: { }
status:
type: boolean_checkbox
weight: 14
region: content
settings:
display_label: true
third_party_settings: { }
sticky:
type: boolean_checkbox
weight: 10
region: content
settings:
display_label: true
third_party_settings: { }
title:
type: string_textfield
weight: 0
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
uid:
type: entity_reference_autocomplete
weight: 6
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
url_redirects:
weight: 12
region: content
settings: { }
third_party_settings: { }
hidden: { }
Loading
Loading