From ffcfa45dbed48045ff6f5ff0cd0759ad97910535 Mon Sep 17 00:00:00 2001 From: Richard Towers Date: Fri, 27 Sep 2024 09:04:27 +0100 Subject: [PATCH 1/3] Add a landing page document type --- content_schemas/allowed_document_types.yml | 1 + content_schemas/dist/formats/generic/frontend/schema.json | 1 + content_schemas/dist/formats/generic/notification/schema.json | 1 + content_schemas/dist/formats/generic/publisher_v2/schema.json | 1 + .../generic_with_external_related_links/frontend/schema.json | 1 + .../generic_with_external_related_links/notification/schema.json | 1 + .../generic_with_external_related_links/publisher_v2/schema.json | 1 + 7 files changed, 7 insertions(+) diff --git a/content_schemas/allowed_document_types.yml b/content_schemas/allowed_document_types.yml index 520a1a91f..ac222f8ab 100644 --- a/content_schemas/allowed_document_types.yml +++ b/content_schemas/allowed_document_types.yml @@ -78,6 +78,7 @@ - independent_report - international_development_fund - international_treaty +- landing_page - licence - license_finder - licence_transaction diff --git a/content_schemas/dist/formats/generic/frontend/schema.json b/content_schemas/dist/formats/generic/frontend/schema.json index d08c072f6..31445df1b 100644 --- a/content_schemas/dist/formats/generic/frontend/schema.json +++ b/content_schemas/dist/formats/generic/frontend/schema.json @@ -114,6 +114,7 @@ "independent_report", "international_development_fund", "international_treaty", + "landing_page", "licence", "license_finder", "licence_transaction", diff --git a/content_schemas/dist/formats/generic/notification/schema.json b/content_schemas/dist/formats/generic/notification/schema.json index 036ed6892..5775cb9c1 100644 --- a/content_schemas/dist/formats/generic/notification/schema.json +++ b/content_schemas/dist/formats/generic/notification/schema.json @@ -138,6 +138,7 @@ "independent_report", "international_development_fund", "international_treaty", + "landing_page", "licence", "license_finder", "licence_transaction", diff --git a/content_schemas/dist/formats/generic/publisher_v2/schema.json b/content_schemas/dist/formats/generic/publisher_v2/schema.json index fab4dfdb9..950dd161f 100644 --- a/content_schemas/dist/formats/generic/publisher_v2/schema.json +++ b/content_schemas/dist/formats/generic/publisher_v2/schema.json @@ -124,6 +124,7 @@ "independent_report", "international_development_fund", "international_treaty", + "landing_page", "licence", "license_finder", "licence_transaction", diff --git a/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json b/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json index f53324c44..9e46e905b 100644 --- a/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json +++ b/content_schemas/dist/formats/generic_with_external_related_links/frontend/schema.json @@ -114,6 +114,7 @@ "independent_report", "international_development_fund", "international_treaty", + "landing_page", "licence", "license_finder", "licence_transaction", diff --git a/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json b/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json index ef8b6f6dd..2ef3dbe1e 100644 --- a/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json +++ b/content_schemas/dist/formats/generic_with_external_related_links/notification/schema.json @@ -138,6 +138,7 @@ "independent_report", "international_development_fund", "international_treaty", + "landing_page", "licence", "license_finder", "licence_transaction", diff --git a/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json b/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json index b9a5402b8..cab34c98b 100644 --- a/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json +++ b/content_schemas/dist/formats/generic_with_external_related_links/publisher_v2/schema.json @@ -124,6 +124,7 @@ "independent_report", "international_development_fund", "international_treaty", + "landing_page", "licence", "license_finder", "licence_transaction", From 56bb0fa91525a71479d18cb2d6cc651d686a9085 Mon Sep 17 00:00:00 2001 From: Richard Towers Date: Mon, 30 Sep 2024 11:41:11 +0100 Subject: [PATCH 2/3] Add a landing page schema Like the coronavirus landing page schema, this will permit details objects of any structure. This is to give us an initial blank canvas while we establish the correct content model, and may be restricted further down the line. --- .../formats/landing_page/frontend/schema.json | 610 ++++++++++++++ .../landing_page/notification/schema.json | 742 ++++++++++++++++++ .../landing_page/publisher_v2/links.json | 86 ++ .../landing_page/publisher_v2/schema.json | 371 +++++++++ content_schemas/formats/landing_page.jsonnet | 10 + 5 files changed, 1819 insertions(+) create mode 100644 content_schemas/dist/formats/landing_page/frontend/schema.json create mode 100644 content_schemas/dist/formats/landing_page/notification/schema.json create mode 100644 content_schemas/dist/formats/landing_page/publisher_v2/links.json create mode 100644 content_schemas/dist/formats/landing_page/publisher_v2/schema.json create mode 100644 content_schemas/formats/landing_page.jsonnet diff --git a/content_schemas/dist/formats/landing_page/frontend/schema.json b/content_schemas/dist/formats/landing_page/frontend/schema.json new file mode 100644 index 000000000..62ed8e561 --- /dev/null +++ b/content_schemas/dist/formats/landing_page/frontend/schema.json @@ -0,0 +1,610 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [ + "base_path", + "content_id", + "description", + "details", + "document_type", + "links", + "locale", + "public_updated_at", + "schema_name", + "title", + "updated_at" + ], + "additionalProperties": false, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "description": { + "$ref": "#/definitions/description_optional" + }, + "details": { + "$ref": "#/definitions/details" + }, + "document_type": { + "type": "string", + "enum": [ + "landing_page" + ] + }, + "first_published_at": { + "anyOf": [ + { + "$ref": "#/definitions/first_published_at" + }, + { + "type": "null" + } + ] + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "available_translations": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "child_taxons": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "children": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "document_collections": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "embed": { + "description": "Content that will be embedded within the document, using embed tags.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "level_one_taxons": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "ministers": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/frontend_links_with_base_path", + "maxItems": 1 + }, + "part_of_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "policies": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/frontend_links_with_base_path", + "maxItems": 1 + }, + "related_to_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "role_appointments": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links" + }, + "secondary_to_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/frontend_links_with_base_path" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "need_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "phase": { + "description": "The service design phase of this content item - https://www.gov.uk/service-manual/phases", + "type": "string", + "enum": [ + "alpha", + "beta", + "live" + ] + }, + "public_updated_at": { + "anyOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "publishing_app": { + "$ref": "#/definitions/publishing_app_name" + }, + "publishing_request_id": { + "$ref": "#/definitions/publishing_request_id" + }, + "publishing_scheduled_at": { + "anyOf": [ + { + "$ref": "#/definitions/publishing_scheduled_at" + }, + { + "type": "null" + } + ] + }, + "rendering_app": { + "$ref": "#/definitions/rendering_app" + }, + "scheduled_publishing_delay_seconds": { + "anyOf": [ + { + "$ref": "#/definitions/scheduled_publishing_delay_seconds" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string", + "enum": [ + "landing_page" + ] + }, + "title": { + "$ref": "#/definitions/title" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "withdrawn_notice": { + "$ref": "#/definitions/withdrawn_notice" + } + }, + "definitions": { + "description": { + "type": "string" + }, + "absolute_path": { + "description": "A path only. Query string and/or fragment are not allowed.", + "type": "string", + "pattern": "^/(([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})+(/([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)*)?$" + }, + "analytics_identifier": { + "description": "A short identifier we send to Google Analytics for multi-valued fields. This means we avoid the truncated values we would get if we sent the path or slug of eg organisations.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "change_history": { + "type": "array", + "items": { + "type": "object", + "required": [ + "public_timestamp", + "note" + ], + "additionalProperties": false, + "properties": { + "note": { + "description": "A summary of the change", + "type": "string" + }, + "public_timestamp": { + "type": "string", + "format": "date-time" + } + } + } + }, + "description_optional": { + "anyOf": [ + { + "$ref": "#/definitions/description" + }, + { + "type": "null" + } + ] + }, + "details": { + "type": "object", + "additionalProperties": true, + "properties": { + "change_history": { + "$ref": "#/definitions/change_history" + } + } + }, + "first_published_at": { + "description": "The date the content was first published. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "frontend_links": { + "type": "array", + "items": { + "type": "object", + "required": [ + "content_id", + "locale", + "title" + ], + "additionalProperties": true, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "api_path": { + "$ref": "#/definitions/absolute_path" + }, + "api_url": { + "description": "DEPRECATED: api_path should be used instead of api_url. This is due to values of api_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "document_type": { + "type": "string" + }, + "links": { + "type": "object", + "patternProperties": { + "^[a-z_]+$": { + "$ref": "#/definitions/frontend_links" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "public_updated_at": { + "oneOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "web_url": { + "description": "DEPRECATED: base_path should be used instead of web_url. This is due to values of web_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + } + } + } + }, + "frontend_links_with_base_path": { + "type": "array", + "items": { + "type": "object", + "required": [ + "base_path", + "content_id", + "locale", + "title" + ], + "additionalProperties": true, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "api_path": { + "$ref": "#/definitions/absolute_path" + }, + "api_url": { + "description": "DEPRECATED: api_path should be used instead of api_url. This is due to values of api_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "document_type": { + "type": "string" + }, + "links": { + "type": "object", + "patternProperties": { + "^[a-z_]+$": { + "$ref": "#/definitions/frontend_links_with_base_path" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "public_updated_at": { + "oneOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "web_url": { + "description": "DEPRECATED: base_path should be used instead of web_url. This is due to values of web_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + } + } + } + }, + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "locale": { + "type": "string", + "enum": [ + "ar", + "az", + "be", + "bg", + "bn", + "cs", + "cy", + "da", + "de", + "dr", + "el", + "en", + "es", + "es-419", + "et", + "fa", + "fi", + "fr", + "gd", + "gu", + "he", + "hi", + "hr", + "hu", + "hy", + "id", + "is", + "it", + "ja", + "ka", + "kk", + "ko", + "lt", + "lv", + "ms", + "mt", + "ne", + "nl", + "no", + "pa", + "pa-pk", + "pl", + "ps", + "pt", + "ro", + "ru", + "si", + "sk", + "sl", + "so", + "sq", + "sr", + "sv", + "sw", + "ta", + "th", + "tk", + "tr", + "uk", + "ur", + "uz", + "vi", + "yi", + "zh", + "zh-hk", + "zh-tw" + ] + }, + "public_updated_at": { + "description": "When the content was last significantly changed (a major update). Shown to users. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "publishing_app_name": { + "description": "The application that published this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections-publisher", + "contacts", + "content-publisher", + "content-tagger", + "email-alert-frontend", + "external-link-tracker", + "feedback", + "frontend", + "government-frontend", + "hmrc-manuals-api", + "local-links-manager", + "manuals-publisher", + "maslow", + "performanceplatform-big-screen-view", + "publisher", + "publishing-api", + "rummager", + "search-admin", + "search-api", + "service-manual-publisher", + "share-sale-publisher", + "short-url-manager", + "smartanswers", + "specialist-publisher", + "static", + "tariff", + "travel-advice-publisher", + "whitehall" + ] + }, + "publishing_request_id": { + "description": "A unique identifier used to track publishing requests to rendered content", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "publishing_scheduled_at": { + "description": "When this content was last scheduled for publishing. Determined by the publishing intent sent by the publishing API.", + "type": "string", + "format": "date-time" + }, + "rendering_app": { + "description": "The application that renders this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections", + "content-store", + "email-alert-frontend", + "email-campaign-frontend", + "feedback", + "finder-frontend", + "frontend", + "government-frontend", + "info-frontend", + "performanceplatform-big-screen-view", + "rummager", + "search-api", + "smartanswers", + "spotlight", + "static", + "tariff", + "whitehall-admin", + "whitehall-frontend" + ] + }, + "scheduled_publishing_delay_seconds": { + "description": "The delay between the most recent scheduled and actual publishing times. Determined by the content store based on the publishing intent.", + "type": "integer" + }, + "title": { + "type": "string" + }, + "withdrawn_notice": { + "type": "object", + "additionalProperties": false, + "properties": { + "explanation": { + "type": "string" + }, + "withdrawn_at": { + "format": "date-time" + } + } + } + } +} diff --git a/content_schemas/dist/formats/landing_page/notification/schema.json b/content_schemas/dist/formats/landing_page/notification/schema.json new file mode 100644 index 000000000..a3a3918fb --- /dev/null +++ b/content_schemas/dist/formats/landing_page/notification/schema.json @@ -0,0 +1,742 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [ + "analytics_identifier", + "base_path", + "content_id", + "description", + "details", + "document_type", + "email_document_supertype", + "expanded_links", + "first_published_at", + "government_document_supertype", + "govuk_request_id", + "links", + "locale", + "payload_version", + "phase", + "public_updated_at", + "publishing_app", + "redirects", + "rendering_app", + "routes", + "schema_name", + "title", + "update_type" + ], + "additionalProperties": false, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "content_purpose_document_supertype": { + "description": "DEPRECATED. Use `content_purpose_subgroup`.", + "type": "string" + }, + "content_purpose_subgroup": { + "description": "Document subgroup grouping documents by purpose. Narrows down the purpose defined in content_purpose_supergroup.", + "type": "string" + }, + "content_purpose_supergroup": { + "description": "Document supergroup grouping documents by a purpose", + "type": "string" + }, + "description": { + "$ref": "#/definitions/description_optional" + }, + "details": { + "$ref": "#/definitions/details" + }, + "document_type": { + "type": "string", + "enum": [ + "landing_page" + ] + }, + "email_document_supertype": { + "description": "Document supertype grouping intended to power the Whitehall finders and email subscriptions", + "type": "string" + }, + "expanded_links": { + "type": "object", + "additionalProperties": false, + "properties": { + "available_translations": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "child_taxons": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "children": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "document_collections": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "embed": { + "description": "Content that will be embedded within the document, using embed tags.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "level_one_taxons": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "ministers": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/frontend_links_with_base_path", + "maxItems": 1 + }, + "part_of_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "policies": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/frontend_links_with_base_path", + "maxItems": 1 + }, + "related_to_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "role_appointments": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links" + }, + "secondary_to_step_navs": { + "description": "Link type automatically added by Publishing API", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/frontend_links_with_base_path" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/frontend_links_with_base_path" + } + } + }, + "first_published_at": { + "$ref": "#/definitions/first_published_at" + }, + "government_document_supertype": { + "description": "Document supertype grouping intended to power the Whitehall finders and email subscriptions", + "type": "string" + }, + "govuk_request_id": { + "$ref": "#/definitions/govuk_request_id" + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "embed": { + "description": "Content that will be embedded within the document, using embed tags.", + "$ref": "#/definitions/guid_list" + }, + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/guid_list" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/guid_list" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/guid_list" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/guid_list" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/guid_list" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/guid_list" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/guid_list" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/guid_list" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "navigation_document_supertype": { + "description": "Document type grouping powering the new taxonomy-based navigation pages", + "type": "string" + }, + "need_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "payload_version": { + "$ref": "#/definitions/payload_version" + }, + "phase": { + "description": "The service design phase of this content item - https://www.gov.uk/service-manual/phases", + "type": "string", + "enum": [ + "alpha", + "beta", + "live" + ] + }, + "public_updated_at": { + "$ref": "#/definitions/public_updated_at" + }, + "publishing_app": { + "$ref": "#/definitions/publishing_app_name" + }, + "publishing_request_id": { + "$ref": "#/definitions/publishing_request_id" + }, + "redirects": { + "type": "array", + "additionalItems": false, + "items": {} + }, + "rendering_app": { + "$ref": "#/definitions/rendering_app" + }, + "routes": { + "$ref": "#/definitions/routes" + }, + "schema_name": { + "type": "string", + "enum": [ + "landing_page" + ] + }, + "search_user_need_document_supertype": { + "description": "Document supertype grouping core and government documents", + "type": "string" + }, + "title": { + "$ref": "#/definitions/title" + }, + "update_type": { + "$ref": "#/definitions/update_type" + }, + "user_journey_document_supertype": { + "description": "Document type grouping powering analytics of user journeys", + "type": "string" + }, + "user_need_document_supertype": { + "description": "DEPRECATED. Use `content_purpose_document_supertype`.", + "type": "string" + }, + "withdrawn_notice": { + "$ref": "#/definitions/withdrawn_notice" + } + }, + "definitions": { + "description": { + "type": "string" + }, + "absolute_path": { + "description": "A path only. Query string and/or fragment are not allowed.", + "type": "string", + "pattern": "^/(([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})+(/([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)*)?$" + }, + "analytics_identifier": { + "description": "A short identifier we send to Google Analytics for multi-valued fields. This means we avoid the truncated values we would get if we sent the path or slug of eg organisations.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "change_history": { + "type": "array", + "items": { + "type": "object", + "required": [ + "public_timestamp", + "note" + ], + "additionalProperties": false, + "properties": { + "note": { + "description": "A summary of the change", + "type": "string" + }, + "public_timestamp": { + "type": "string", + "format": "date-time" + } + } + } + }, + "description_optional": { + "anyOf": [ + { + "$ref": "#/definitions/description" + }, + { + "type": "null" + } + ] + }, + "details": { + "type": "object", + "additionalProperties": true, + "properties": { + "change_history": { + "$ref": "#/definitions/change_history" + } + } + }, + "first_published_at": { + "description": "The date the content was first published. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "frontend_links": { + "type": "array", + "items": { + "type": "object", + "required": [ + "content_id", + "locale", + "title" + ], + "additionalProperties": true, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "api_path": { + "$ref": "#/definitions/absolute_path" + }, + "api_url": { + "description": "DEPRECATED: api_path should be used instead of api_url. This is due to values of api_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "document_type": { + "type": "string" + }, + "links": { + "type": "object", + "patternProperties": { + "^[a-z_]+$": { + "$ref": "#/definitions/frontend_links" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "public_updated_at": { + "oneOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "web_url": { + "description": "DEPRECATED: base_path should be used instead of web_url. This is due to values of web_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + } + } + } + }, + "frontend_links_with_base_path": { + "type": "array", + "items": { + "type": "object", + "required": [ + "base_path", + "content_id", + "locale", + "title" + ], + "additionalProperties": true, + "properties": { + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "api_path": { + "$ref": "#/definitions/absolute_path" + }, + "api_url": { + "description": "DEPRECATED: api_path should be used instead of api_url. This is due to values of api_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "content_id": { + "$ref": "#/definitions/guid" + }, + "document_type": { + "type": "string" + }, + "links": { + "type": "object", + "patternProperties": { + "^[a-z_]+$": { + "$ref": "#/definitions/frontend_links_with_base_path" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "public_updated_at": { + "oneOf": [ + { + "$ref": "#/definitions/public_updated_at" + }, + { + "type": "null" + } + ] + }, + "schema_name": { + "type": "string" + }, + "title": { + "type": "string" + }, + "web_url": { + "description": "DEPRECATED: base_path should be used instead of web_url. This is due to values of web_url being tied to an environment which can cause problems when data is synced between environments. In time this field will be removed by the Publishing Platform team.", + "type": "string", + "format": "uri" + } + } + } + }, + "govuk_request_id": { + "type": [ + "string", + "null" + ] + }, + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "guid_list": { + "type": "array", + "items": { + "$ref": "#/definitions/guid" + }, + "uniqueItems": true + }, + "locale": { + "type": "string", + "enum": [ + "ar", + "az", + "be", + "bg", + "bn", + "cs", + "cy", + "da", + "de", + "dr", + "el", + "en", + "es", + "es-419", + "et", + "fa", + "fi", + "fr", + "gd", + "gu", + "he", + "hi", + "hr", + "hu", + "hy", + "id", + "is", + "it", + "ja", + "ka", + "kk", + "ko", + "lt", + "lv", + "ms", + "mt", + "ne", + "nl", + "no", + "pa", + "pa-pk", + "pl", + "ps", + "pt", + "ro", + "ru", + "si", + "sk", + "sl", + "so", + "sq", + "sr", + "sv", + "sw", + "ta", + "th", + "tk", + "tr", + "uk", + "ur", + "uz", + "vi", + "yi", + "zh", + "zh-hk", + "zh-tw" + ] + }, + "payload_version": { + "description": "Counter to indicate when the payload was generated", + "type": "integer" + }, + "public_updated_at": { + "description": "When the content was last significantly changed (a major update). Shown to users. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "publishing_app_name": { + "description": "The application that published this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections-publisher", + "contacts", + "content-publisher", + "content-tagger", + "email-alert-frontend", + "external-link-tracker", + "feedback", + "frontend", + "government-frontend", + "hmrc-manuals-api", + "local-links-manager", + "manuals-publisher", + "maslow", + "performanceplatform-big-screen-view", + "publisher", + "publishing-api", + "rummager", + "search-admin", + "search-api", + "service-manual-publisher", + "share-sale-publisher", + "short-url-manager", + "smartanswers", + "specialist-publisher", + "static", + "tariff", + "travel-advice-publisher", + "whitehall" + ] + }, + "publishing_request_id": { + "description": "A unique identifier used to track publishing requests to rendered content", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "rendering_app": { + "description": "The application that renders this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections", + "content-store", + "email-alert-frontend", + "email-campaign-frontend", + "feedback", + "finder-frontend", + "frontend", + "government-frontend", + "info-frontend", + "performanceplatform-big-screen-view", + "rummager", + "search-api", + "smartanswers", + "spotlight", + "static", + "tariff", + "whitehall-admin", + "whitehall-frontend" + ] + }, + "route": { + "type": "object", + "required": [ + "path", + "type" + ], + "additionalProperties": false, + "properties": { + "path": { + "type": "string" + }, + "type": { + "enum": [ + "prefix", + "exact" + ] + } + } + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/route" + }, + "minItems": 1 + }, + "title": { + "type": "string" + }, + "update_type": { + "enum": [ + "major", + "minor", + "republish" + ] + }, + "withdrawn_notice": { + "type": "object", + "additionalProperties": false, + "properties": { + "explanation": { + "type": "string" + }, + "withdrawn_at": { + "format": "date-time" + } + } + } + } +} diff --git a/content_schemas/dist/formats/landing_page/publisher_v2/links.json b/content_schemas/dist/formats/landing_page/publisher_v2/links.json new file mode 100644 index 000000000..d3e7fac0a --- /dev/null +++ b/content_schemas/dist/formats/landing_page/publisher_v2/links.json @@ -0,0 +1,86 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "additionalProperties": false, + "properties": { + "bulk_publishing": { + "type": "boolean" + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "finder": { + "description": "Powers links from content back to finders the content is surfaced on", + "$ref": "#/definitions/guid_list" + }, + "lead_organisations": { + "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.", + "$ref": "#/definitions/guid_list" + }, + "mainstream_browse_pages": { + "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.", + "$ref": "#/definitions/guid_list" + }, + "meets_user_needs": { + "description": "The user needs this piece of content meets.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items": { + "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.", + "$ref": "#/definitions/guid_list" + }, + "ordered_related_items_overrides": { + "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.", + "$ref": "#/definitions/guid_list" + }, + "organisations": { + "description": "All organisations linked to this content item. This should include lead organisations.", + "$ref": "#/definitions/guid_list" + }, + "original_primary_publishing_organisation": { + "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list" + }, + "parent": { + "description": "The parent content item.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/guid_list" + }, + "primary_publishing_organisation": { + "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.", + "$ref": "#/definitions/guid_list", + "maxItems": 1 + }, + "suggested_ordered_related_items": { + "description": "Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms.", + "$ref": "#/definitions/guid_list" + }, + "taxons": { + "description": "Prototype-stage taxonomy label for this content item", + "$ref": "#/definitions/guid_list" + } + } + }, + "previous_version": { + "type": "string" + } + }, + "definitions": { + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "guid_list": { + "type": "array", + "items": { + "$ref": "#/definitions/guid" + }, + "uniqueItems": true + } + } +} diff --git a/content_schemas/dist/formats/landing_page/publisher_v2/schema.json b/content_schemas/dist/formats/landing_page/publisher_v2/schema.json new file mode 100644 index 000000000..3b8c2d29e --- /dev/null +++ b/content_schemas/dist/formats/landing_page/publisher_v2/schema.json @@ -0,0 +1,371 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [ + "base_path", + "details", + "document_type", + "publishing_app", + "rendering_app", + "routes", + "schema_name", + "title" + ], + "additionalProperties": false, + "properties": { + "access_limited": { + "$ref": "#/definitions/access_limited" + }, + "analytics_identifier": { + "$ref": "#/definitions/analytics_identifier" + }, + "auth_bypass_ids": { + "description": "A list of ids that will allow access to this item for non-authenticated users", + "$ref": "#/definitions/guid_list" + }, + "base_path": { + "$ref": "#/definitions/absolute_path" + }, + "bulk_publishing": { + "type": "boolean" + }, + "change_note": { + "type": [ + "null", + "string" + ] + }, + "description": { + "$ref": "#/definitions/description_optional" + }, + "details": { + "$ref": "#/definitions/details" + }, + "document_type": { + "type": "string", + "enum": [ + "landing_page" + ] + }, + "first_published_at": { + "$ref": "#/definitions/first_published_at" + }, + "last_edited_at": { + "description": "Last time when the content received a major or minor update.", + "type": "string", + "format": "date-time" + }, + "links": { + "type": "object", + "additionalProperties": false, + "properties": { + "embed": { + "description": "Content that will be embedded within the document, using embed tags.", + "$ref": "#/definitions/guid_list" + }, + "policy_areas": { + "description": "A largely deprecated tag currently only used to power email alerts.", + "$ref": "#/definitions/guid_list" + } + } + }, + "locale": { + "$ref": "#/definitions/locale" + }, + "need_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "phase": { + "description": "The service design phase of this content item - https://www.gov.uk/service-manual/phases", + "type": "string", + "enum": [ + "alpha", + "beta", + "live" + ] + }, + "previous_version": { + "type": "string" + }, + "public_updated_at": { + "$ref": "#/definitions/public_updated_at" + }, + "publishing_app": { + "$ref": "#/definitions/publishing_app_name" + }, + "redirects": { + "type": "array", + "additionalItems": false, + "items": {} + }, + "rendering_app": { + "$ref": "#/definitions/rendering_app" + }, + "routes": { + "$ref": "#/definitions/routes" + }, + "schema_name": { + "type": "string", + "enum": [ + "landing_page" + ] + }, + "title": { + "$ref": "#/definitions/title" + }, + "update_type": { + "$ref": "#/definitions/update_type" + } + }, + "definitions": { + "description": { + "type": "string" + }, + "absolute_path": { + "description": "A path only. Query string and/or fragment are not allowed.", + "type": "string", + "pattern": "^/(([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})+(/([a-zA-Z0-9._~!$&'()*+,;=:@-]|%[0-9a-fA-F]{2})*)*)?$" + }, + "access_limited": { + "type": "object", + "additionalProperties": false, + "properties": { + "auth_bypass_ids": { + "description": "Deprecated: auth_bypass_ids should be sent as a separate field", + "$ref": "#/definitions/guid_list" + }, + "organisations": { + "description": "A list of organisation content ids permitted access to this item", + "$ref": "#/definitions/guid_list" + }, + "users": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "analytics_identifier": { + "description": "A short identifier we send to Google Analytics for multi-valued fields. This means we avoid the truncated values we would get if we sent the path or slug of eg organisations.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "description_optional": { + "anyOf": [ + { + "$ref": "#/definitions/description" + }, + { + "type": "null" + } + ] + }, + "details": { + "type": "object", + "additionalProperties": true, + "properties": {} + }, + "first_published_at": { + "description": "The date the content was first published. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "guid": { + "type": "string", + "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$" + }, + "guid_list": { + "type": "array", + "items": { + "$ref": "#/definitions/guid" + }, + "uniqueItems": true + }, + "locale": { + "type": "string", + "enum": [ + "ar", + "az", + "be", + "bg", + "bn", + "cs", + "cy", + "da", + "de", + "dr", + "el", + "en", + "es", + "es-419", + "et", + "fa", + "fi", + "fr", + "gd", + "gu", + "he", + "hi", + "hr", + "hu", + "hy", + "id", + "is", + "it", + "ja", + "ka", + "kk", + "ko", + "lt", + "lv", + "ms", + "mt", + "ne", + "nl", + "no", + "pa", + "pa-pk", + "pl", + "ps", + "pt", + "ro", + "ru", + "si", + "sk", + "sl", + "so", + "sq", + "sr", + "sv", + "sw", + "ta", + "th", + "tk", + "tr", + "uk", + "ur", + "uz", + "vi", + "yi", + "zh", + "zh-hk", + "zh-tw" + ] + }, + "public_updated_at": { + "description": "When the content was last significantly changed (a major update). Shown to users. Automatically determined by the publishing-api, unless overridden by the publishing application.", + "type": "string", + "format": "date-time" + }, + "publishing_app_name": { + "description": "The application that published this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections-publisher", + "contacts", + "content-publisher", + "content-tagger", + "email-alert-frontend", + "external-link-tracker", + "feedback", + "frontend", + "government-frontend", + "hmrc-manuals-api", + "local-links-manager", + "manuals-publisher", + "maslow", + "performanceplatform-big-screen-view", + "publisher", + "publishing-api", + "rummager", + "search-admin", + "search-api", + "service-manual-publisher", + "share-sale-publisher", + "short-url-manager", + "smartanswers", + "specialist-publisher", + "static", + "tariff", + "travel-advice-publisher", + "whitehall" + ] + }, + "rendering_app": { + "description": "The application that renders this item.", + "type": "string", + "enum": [ + "account-api", + "calculators", + "calendars", + "collections", + "content-store", + "email-alert-frontend", + "email-campaign-frontend", + "feedback", + "finder-frontend", + "frontend", + "government-frontend", + "info-frontend", + "performanceplatform-big-screen-view", + "rummager", + "search-api", + "smartanswers", + "spotlight", + "static", + "tariff", + "whitehall-admin", + "whitehall-frontend" + ] + }, + "route": { + "type": "object", + "required": [ + "path", + "type" + ], + "additionalProperties": false, + "properties": { + "path": { + "type": "string" + }, + "type": { + "enum": [ + "prefix", + "exact" + ] + } + } + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/route" + }, + "minItems": 1 + }, + "title": { + "type": "string" + }, + "update_type": { + "enum": [ + "major", + "minor", + "republish" + ] + } + } +} diff --git a/content_schemas/formats/landing_page.jsonnet b/content_schemas/formats/landing_page.jsonnet new file mode 100644 index 000000000..f88e843a2 --- /dev/null +++ b/content_schemas/formats/landing_page.jsonnet @@ -0,0 +1,10 @@ +(import "shared/default_format.jsonnet") + { + document_type: "landing_page", + definitions: { + details: { + type: "object", + additionalProperties: true, + properties: {} + } + } +} From c004000c7d64fef4c7ad9dc72b6fce88763c43c8 Mon Sep 17 00:00:00 2001 From: Richard Towers Date: Tue, 8 Oct 2024 15:38:01 +0100 Subject: [PATCH 3/3] Add example landing page content item --- .../landing_page/frontend/landing_page.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content_schemas/examples/landing_page/frontend/landing_page.json diff --git a/content_schemas/examples/landing_page/frontend/landing_page.json b/content_schemas/examples/landing_page/frontend/landing_page.json new file mode 100644 index 000000000..c1ea86005 --- /dev/null +++ b/content_schemas/examples/landing_page/frontend/landing_page.json @@ -0,0 +1,17 @@ +{ + "base_path": "/landing-page", + "content_id": "774cee22-d896-44c1-a611-e3109cce8eae", + "document_type": "landing_page", + "description": "some description", + "publishing_app": "whitehall", + "public_updated_at": "2020-03-25T14:40:22Z", + "rendering_app": "frontend", + "schema_name": "landing_page", + "title": "Some landing page", + "locale": "en", + "updated_at": "2024-10-08T15:37:00Z", + "links": { + }, + "details": { + } +}