Start adding testimonials

This commit is contained in:
Oliver Davies 2025-05-16 00:15:51 +01:00
parent 811ac5d9f2
commit b8ca93ff2b
29 changed files with 1649 additions and 3 deletions

View file

@ -0,0 +1,22 @@
uuid: 592e2538-47ff-4ab9-a213-d0657f975bae
langcode: en
status: true
dependencies:
config:
- node.type.testimonial
id: node.testimonial.promote
field_name: promote
entity_type: node
bundle: testimonial
label: 'Promoted to front page'
description: ''
required: false
translatable: true
default_value:
-
value: 0
default_value_callback: ''
settings:
on_label: 'On'
off_label: 'Off'
field_type: boolean

View file

@ -0,0 +1,18 @@
uuid: bfc7affd-f035-4412-ac31-1bf84d11fc52
langcode: en
status: true
dependencies:
config:
- node.type.testimonial
id: node.testimonial.title
field_name: title
entity_type: node
bundle: testimonial
label: Name
description: ''
required: true
translatable: true
default_value: { }
default_value_callback: ''
settings: { }
field_type: string

View file

@ -0,0 +1,112 @@
uuid: b20a3539-3067-458a-b0ee-28b7d79f37db
langcode: en
status: true
dependencies:
config:
- field.field.node.testimonial.body
- field.field.node.testimonial.field_image
- field.field.node.testimonial.field_role
- field.field.node.testimonial.field_url
- image.style.thumbnail
- node.type.testimonial
module:
- image
- link
- path
- text
id: node.testimonial.default
targetEntityType: node
bundle: testimonial
mode: default
content:
body:
type: text_textarea_with_summary
weight: 2
region: content
settings:
rows: 9
summary_rows: 3
placeholder: ''
show_summary: false
third_party_settings: { }
created:
type: datetime_timestamp
weight: 10
region: content
settings: { }
third_party_settings: { }
field_image:
type: image_image
weight: 1
region: content
settings:
progress_indicator: throbber
preview_image_style: thumbnail
third_party_settings: { }
field_role:
type: string_textfield
weight: 121
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
field_url:
type: link_default
weight: 122
region: content
settings:
placeholder_url: ''
placeholder_title: ''
third_party_settings: { }
path:
type: path
weight: 30
region: content
settings: { }
third_party_settings: { }
promote:
type: boolean_checkbox
weight: 15
region: content
settings:
display_label: true
third_party_settings: { }
simple_sitemap:
weight: 10
region: content
settings: { }
third_party_settings: { }
status:
type: boolean_checkbox
weight: 120
region: content
settings:
display_label: true
third_party_settings: { }
sticky:
type: boolean_checkbox
weight: 16
region: content
settings:
display_label: true
third_party_settings: { }
title:
type: string_textfield
weight: -5
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
uid:
type: entity_reference_autocomplete
weight: 5
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
hidden: { }

View file

@ -0,0 +1,65 @@
uuid: 046819a6-eb81-4ab6-8840-19d16df1623f
langcode: en
status: true
dependencies:
config:
- field.field.node.testimonial.body
- field.field.node.testimonial.field_image
- field.field.node.testimonial.field_role
- field.field.node.testimonial.field_url
- image.style.wide
- node.type.testimonial
module:
- image
- link
- text
- user
id: node.testimonial.default
targetEntityType: node
bundle: testimonial
mode: default
content:
body:
type: text_default
label: hidden
settings: { }
third_party_settings: { }
weight: 0
region: content
field_image:
type: image
label: hidden
settings:
image_link: ''
image_style: wide
image_loading:
attribute: eager
third_party_settings: { }
weight: -1
region: content
field_role:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
weight: 101
region: content
field_url:
type: link
label: above
settings:
trim_length: 80
url_only: false
url_plain: false
rel: ''
target: ''
third_party_settings: { }
weight: 102
region: content
links:
settings: { }
third_party_settings: { }
weight: 100
region: content
hidden: { }

View file

@ -0,0 +1,48 @@
uuid: 057f8496-ab40-4cf3-8055-0984ce62d37a
langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.node.teaser
- field.field.node.testimonial.body
- field.field.node.testimonial.field_image
- field.field.node.testimonial.field_role
- field.field.node.testimonial.field_url
- image.style.medium
- node.type.testimonial
module:
- image
- text
- user
id: node.testimonial.teaser
targetEntityType: node
bundle: testimonial
mode: teaser
content:
body:
type: text_summary_or_trimmed
label: hidden
settings:
trim_length: 600
third_party_settings: { }
weight: 0
region: content
field_image:
type: image
label: hidden
settings:
image_link: content
image_style: medium
image_loading:
attribute: lazy
third_party_settings: { }
weight: -1
region: content
links:
settings: { }
third_party_settings: { }
weight: 100
region: content
hidden:
field_role: true
field_url: true

View file

@ -0,0 +1,24 @@
uuid: eb0dc10b-1f51-403a-a29c-81a514d3c1fb
langcode: en
status: true
dependencies:
config:
- field.storage.node.body
- node.type.testimonial
module:
- text
id: node.testimonial.body
field_name: body
entity_type: node
bundle: testimonial
label: Body
description: ''
required: true
translatable: false
default_value: { }
default_value_callback: ''
settings:
display_summary: false
required_summary: false
allowed_formats: { }
field_type: text_with_summary

View file

@ -0,0 +1,38 @@
uuid: 45b17dac-d3d3-404c-9cbd-1849d5313faf
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_image
- node.type.testimonial
module:
- image
id: node.testimonial.field_image
field_name: field_image
entity_type: node
bundle: testimonial
label: Image
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:file'
handler_settings: { }
file_directory: '[date:custom:Y]-[date:custom:m]'
file_extensions: 'png gif jpg jpeg webp'
max_filesize: ''
max_resolution: ''
min_resolution: ''
alt_field: true
alt_field_required: true
title_field: false
title_field_required: false
default_image:
uuid: ''
alt: ''
title: ''
width: null
height: null
field_type: image

View file

@ -0,0 +1,19 @@
uuid: deca6bdc-45c1-440a-9cd1-acc4efcb56d1
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_role
- node.type.testimonial
id: node.testimonial.field_role
field_name: field_role
entity_type: node
bundle: testimonial
label: Role
description: ''
required: true
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string

View file

@ -0,0 +1,23 @@
uuid: db0e9a12-0bbf-48b6-8222-35953e834107
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_url
- node.type.testimonial
module:
- link
id: node.testimonial.field_url
field_name: field_url
entity_type: node
bundle: testimonial
label: URL
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
title: 0
link_type: 16
field_type: link

View file

@ -15,10 +15,10 @@ type: image
settings:
target_type: file
display_field: false
display_default: false
display_default: true
uri_scheme: public
default_image:
uuid: null
uuid: ''
alt: ''
title: ''
width: null

View file

@ -0,0 +1,21 @@
uuid: 3fe93000-f6bb-4831-9119-6e66c6b398a8
langcode: en
status: true
dependencies:
module:
- node
id: node.field_role
field_name: field_role
entity_type: node
type: string
settings:
max_length: 255
case_sensitive: false
is_ascii: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View file

@ -0,0 +1,19 @@
uuid: 1093e57b-ddc1-44c2-944f-6b00de29706c
langcode: en
status: true
dependencies:
module:
- link
- node
id: node.field_url
field_name: field_url
entity_type: node
type: link
settings: { }
module: link
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View file

@ -0,0 +1,17 @@
uuid: 6ea76ee7-ab35-489e-af1b-68f67b60729d
langcode: en
status: true
dependencies:
module:
- menu_ui
third_party_settings:
menu_ui:
available_menus: { }
parent: ''
name: Testimonial
type: testimonial
description: 'A testimonial from a client.'
help: null
new_revision: true
preview_mode: 0
display_submitted: false

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "58102531-9d71-4f0c-b8d4-f199f7e3df41"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 7
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/jon-hallett.jpeg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 50
}
],
"y": [
{
"value": 50
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:11:25+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "96ed7989-41ac-41e8-8df3-94a6cc10b1e2"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 6
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/joe-howell.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 69
}
],
"y": [
{
"value": 69
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:07:22+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "c54aafc0-df7d-4e4a-a3eb-4d1a957c8b18"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 10
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/duncan.jpeg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 50
}
],
"y": [
{
"value": 50
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:14:44+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "cecf5d08-92da-4cbe-a5ed-129916a6452f"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 9
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/mick-felton.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 100
}
],
"y": [
{
"value": 100
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:13:43+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,66 @@
{
"uuid": [
{
"value": "e0ff6d72-8f97-43ac-bda5-ecd3c16f962b"
}
],
"type": [
{
"target_id": "focal_point"
}
],
"langcode": [
{
"value": "en"
}
],
"entity_id": [
{
"value": 8
}
],
"entity_type": [
{
"value": "file"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/michael-itkoff.jpg"
}
],
"height": [],
"width": [],
"x": [
{
"value": 200
}
],
"y": [
{
"value": 200
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:12:27+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "135c0b07-adf7-405b-8f4b-f44e40b52598"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "michael-itkoff.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/michael-itkoff.jpg",
"url": "\/sites\/default\/files\/2025-05\/michael-itkoff.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 16868
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-05-15T23:12:13+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:12:27+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "5463794b-84e1-4710-b9d6-02a5e4d8a00c"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "jon-hallett.jpeg"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/jon-hallett.jpeg",
"url": "\/sites\/default\/files\/2025-05\/jon-hallett.jpeg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 3487
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-05-15T23:10:49+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:11:25+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "6b75d278-4887-4d43-819b-cb335ceac9a7"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "mick-felton.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/mick-felton.jpg",
"url": "\/sites\/default\/files\/2025-05\/mick-felton.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 9672
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-05-15T23:13:27+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:13:43+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "bf5bcd01-5c93-46fb-897d-5dc69c3cbc7f"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "joe-howell.jpg"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/joe-howell.jpg",
"url": "\/sites\/default\/files\/2025-05\/joe-howell.jpg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 6187
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-05-15T23:06:50+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:07:22+00:00"
}
]
}

View file

@ -0,0 +1,54 @@
{
"uuid": [
{
"value": "c92327fa-f288-445e-8441-b9506933d6b8"
}
],
"langcode": [
{
"value": "en"
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"filename": [
{
"value": "duncan.jpeg"
}
],
"uri": [
{
"value": "public:\/\/2025-05\/duncan.jpeg",
"url": "\/sites\/default\/files\/2025-05\/duncan.jpeg"
}
],
"filemime": [
{
"value": "image\/jpeg"
}
],
"filesize": [
{
"value": 6065
}
],
"status": [
{
"value": true
}
],
"created": [
{
"value": "2025-05-15T23:14:23+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:14:44+00:00"
}
]
}

View file

@ -6315,5 +6315,55 @@
"paragraph.81b18409-0f9d-49de-a8ff-c75c7c4852c0": [],
"paragraph.e89e2456-b6b5-4c5f-922f-9f34f6e77e68": [],
"paragraph.2f7f892b-75ff-48a0-9034-b9af048efd84": [],
"paragraph.c4f743d0-4cf5-40ea-96e5-8fe5dd1092fa": []
"paragraph.c4f743d0-4cf5-40ea-96e5-8fe5dd1092fa": [],
"file.bf5bcd01-5c93-46fb-897d-5dc69c3cbc7f": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.96ed7989-41ac-41e8-8df3-94a6cc10b1e2": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.e0857657-a20c-4449-81b3-0e38bc7ddfa0": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.bf5bcd01-5c93-46fb-897d-5dc69c3cbc7f"
],
"file.5463794b-84e1-4710-b9d6-02a5e4d8a00c": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.58102531-9d71-4f0c-b8d4-f199f7e3df41": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.6014dd95-0f42-46db-bf3d-374af33c4d50": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.5463794b-84e1-4710-b9d6-02a5e4d8a00c"
],
"file.135c0b07-adf7-405b-8f4b-f44e40b52598": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.e0ff6d72-8f97-43ac-bda5-ecd3c16f962b": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.3b5e623f-380d-400b-9ab3-a5820435308d": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.135c0b07-adf7-405b-8f4b-f44e40b52598"
],
"file.6b75d278-4887-4d43-819b-cb335ceac9a7": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.cecf5d08-92da-4cbe-a5ed-129916a6452f": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.839c2e94-c8a7-48f8-9af3-9be39ac3734c": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.6b75d278-4887-4d43-819b-cb335ceac9a7"
],
"file.c92327fa-f288-445e-8441-b9506933d6b8": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"crop.c54aafc0-df7d-4e4a-a3eb-4d1a957c8b18": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849"
],
"node.530c4270-2e61-4e03-af91-4969a5ac9b01": [
"user.b8966985-d4b2-42a7-a319-2e94ccfbb849",
"file.c92327fa-f288-445e-8441-b9506933d6b8"
]
}

View file

@ -0,0 +1,114 @@
{
"uuid": [
{
"value": "3b5e623f-380d-400b-9ab3-a5820435308d"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:12:27+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Michael Itkoff"
}
],
"created": [
{
"value": "2025-05-15T23:11:46+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:12:27+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "<p>For over a decade we have worked with Oliver on a number of different projects. Initially our collaboration consisted of web maintenance and troubleshooting but we soon tapped Oliver to design, build and maintain a custom awards site which includes both submission and judging functionality. Oliver has deep and wide-ranging skills and I would certainly recommend his services!<\/p>",
"format": "basic_html",
"processed": "<p>For over a decade we have worked with Oliver on a number of different projects. Initially our collaboration consisted of web maintenance and troubleshooting but we soon tapped Oliver to design, build and maintain a custom awards site which includes both submission and judging functionality. Oliver has deep and wide-ranging skills and I would certainly recommend his services!<\/p>",
"summary": ""
}
],
"field_image": [
{
"alt": "Michael Itkoff",
"title": "",
"width": 399,
"height": 399,
"target_type": "file",
"target_uuid": "135c0b07-adf7-405b-8f4b-f44e40b52598"
}
],
"field_role": [
{
"value": "Cofounder"
}
],
"field_url": [
{
"uri": "https:\/\/www.daylightbooks.org",
"title": "",
"options": []
}
]
}

View file

@ -0,0 +1,114 @@
{
"uuid": [
{
"value": "530c4270-2e61-4e03-af91-4969a5ac9b01"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:14:44+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Duncan Davidson"
}
],
"created": [
{
"value": "2025-05-15T23:13:55+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:14:44+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "<p>Oliver is a pleasure to work with, and I would engage him again without hesitation. He communicates regularly, ensures that he meets requirements, and suggests improvements to the potential solutions to the brief.<\/p>",
"format": "basic_html",
"processed": "<p>Oliver is a pleasure to work with, and I would engage him again without hesitation. He communicates regularly, ensures that he meets requirements, and suggests improvements to the potential solutions to the brief.<\/p>",
"summary": ""
}
],
"field_image": [
{
"alt": "Duncan Davidson",
"title": "",
"width": 100,
"height": 100,
"target_type": "file",
"target_uuid": "c92327fa-f288-445e-8441-b9506933d6b8"
}
],
"field_role": [
{
"value": "Director at Rohallion"
}
],
"field_url": [
{
"uri": "https:\/\/rohallion.agency",
"title": "",
"options": []
}
]
}

View file

@ -0,0 +1,114 @@
{
"uuid": [
{
"value": "6014dd95-0f42-46db-bf3d-374af33c4d50"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:11:25+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Jon Hallett"
}
],
"created": [
{
"value": "2025-05-15T23:10:26+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:11:25+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "<p>We use Oliver for maintaining a couple of Drupal sites for which we no longer have the skills ourselves. We became aware of Oliver through his work in the Drupal community, and about a year ago we approached him to help us with the deep dive aspects of maintaining and developing Drupal sites. He's been really helpful and very responsive. Much appreciated!<\/p>",
"format": "basic_html",
"processed": "<p>We use Oliver for maintaining a couple of Drupal sites for which we no longer have the skills ourselves. We became aware of Oliver through his work in the Drupal community, and about a year ago we approached him to help us with the deep dive aspects of maintaining and developing Drupal sites. He's been really helpful and very responsive. Much appreciated!<\/p>",
"summary": ""
}
],
"field_image": [
{
"alt": "Jon Hallett",
"title": "",
"width": 100,
"height": 100,
"target_type": "file",
"target_uuid": "5463794b-84e1-4710-b9d6-02a5e4d8a00c"
}
],
"field_role": [
{
"value": "Senior Systems Administrator at the University of Bristol"
}
],
"field_url": [
{
"uri": "https:\/\/bristol.ac.uk",
"title": "",
"options": []
}
]
}

View file

@ -0,0 +1,114 @@
{
"uuid": [
{
"value": "839c2e94-c8a7-48f8-9af3-9be39ac3734c"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:13:43+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Mick Felton"
}
],
"created": [
{
"value": "2025-05-15T23:12:58+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:13:43+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "<p>Working with Oliver on the Seren website has been easy and beneficial.<\/p><p>As well as providing general maintenance support, he built a new Drupal module which integrated with our partners Glassboxx so that we could sell ebooks directly from our website. Oliver worked closely with the team at Glassboxx to create the integration which needed to communicate with the Glassboxx app so that users could download their purchases. He was able to resolve issues which came up along the way in order to create a functioning module which we now use on our site.<\/p><p>Oliver has extensive knowledge of Drupal and his familiarity with the Seren site meant he was able to fix problems quickly and efficiently as they arose.<\/p><p>He is reliable and has always been willing to discuss new ideas for how the site could function.<\/p><p>We would recommend working with him for his invaluable knowledge and ability to find solutions to problems at short notice. It has been a pleasure to work with him over the years.<\/p>",
"format": "basic_html",
"processed": "<p>Working with Oliver on the Seren website has been easy and beneficial.<\/p><p>As well as providing general maintenance support, he built a new Drupal module which integrated with our partners Glassboxx so that we could sell ebooks directly from our website. Oliver worked closely with the team at Glassboxx to create the integration which needed to communicate with the Glassboxx app so that users could download their purchases. He was able to resolve issues which came up along the way in order to create a functioning module which we now use on our site.<\/p><p>Oliver has extensive knowledge of Drupal and his familiarity with the Seren site meant he was able to fix problems quickly and efficiently as they arose.<\/p><p>He is reliable and has always been willing to discuss new ideas for how the site could function.<\/p><p>We would recommend working with him for his invaluable knowledge and ability to find solutions to problems at short notice. It has been a pleasure to work with him over the years.<\/p>",
"summary": ""
}
],
"field_image": [
{
"alt": "Mick Felton",
"title": "",
"width": 200,
"height": 200,
"target_type": "file",
"target_uuid": "6b75d278-4887-4d43-819b-cb335ceac9a7"
}
],
"field_role": [
{
"value": "Publisher at Poetry Wales Press Ltd (Seren Books)"
}
],
"field_url": [
{
"uri": "https:\/\/www.serenbooks.com",
"title": "",
"options": []
}
]
}

View file

@ -0,0 +1,114 @@
{
"uuid": [
{
"value": "e0857657-a20c-4449-81b3-0e38bc7ddfa0"
}
],
"langcode": [
{
"value": "en"
}
],
"type": [
{
"target_id": "testimonial",
"target_type": "node_type",
"target_uuid": "6ea76ee7-ab35-489e-af1b-68f67b60729d"
}
],
"revision_timestamp": [
{
"value": "2025-05-15T23:10:08+00:00"
}
],
"revision_uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"revision_log": [],
"status": [
{
"value": true
}
],
"uid": [
{
"target_type": "user",
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
}
],
"title": [
{
"value": "Joe Howell"
}
],
"created": [
{
"value": "2025-05-15T23:06:19+00:00"
}
],
"changed": [
{
"value": "2025-05-15T23:10:08+00:00"
}
],
"promote": [
{
"value": false
}
],
"sticky": [
{
"value": false
}
],
"default_langcode": [
{
"value": true
}
],
"revision_translation_affected": [
{
"value": true
}
],
"path": [
{
"alias": "",
"pid": null,
"langcode": "en"
}
],
"body": [
{
"value": "<p>I've worked with Oliver for a number of years on B2C and B2B web projects and he has always demonstrated himself to be an expert in his field.<\/p><p>As an insurance provider, some of our products and services don't naturally fit within a traditional ecommerce journey - but Oliver has always been able to come up with innovative ways to leverage core Drupal functionality and develop custom modules to meet our needs.<\/p><p>Friendly, flexible and diligent - I wouldn't hesitate to recommend Oliver to anyone looking for a Drupal developer to progress their next project.<\/p>",
"format": "basic_html",
"processed": "<p>I've worked with Oliver for a number of years on B2C and B2B web projects and he has always demonstrated himself to be an expert in his field.<\/p><p>As an insurance provider, some of our products and services don't naturally fit within a traditional ecommerce journey - but Oliver has always been able to come up with innovative ways to leverage core Drupal functionality and develop custom modules to meet our needs.<\/p><p>Friendly, flexible and diligent - I wouldn't hesitate to recommend Oliver to anyone looking for a Drupal developer to progress their next project.<\/p>",
"summary": ""
}
],
"field_image": [
{
"alt": "Joe Howell",
"title": "",
"width": 138,
"height": 138,
"target_type": "file",
"target_uuid": "bf5bcd01-5c93-46fb-897d-5dc69c3cbc7f"
}
],
"field_role": [
{
"value": "Director, Bastion Insurance"
}
],
"field_url": [
{
"uri": "https:\/\/www.bastioninsurance.co.uk",
"title": "",
"options": []
}
]
}