diff --git a/.gitignore b/.gitignore index 9ac46373a..67280ff4f 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,10 @@ lambda_functions/alerter/.DS_Store lambda_functions/healthcheck.DS_Store content/.DS_Store /.idea + +# Contentful ignored data +contentful-data/audits +contentful-data/content-exports +contentful-data/migrations +contentful-data/rollbacks +contentful-data/migration-log.txt diff --git a/contentful-data/content-exports/preprod-export.json b/contentful-data/content-exports/preprod-export.json index 1c83e5984..8849732fb 100644 --- a/contentful-data/content-exports/preprod-export.json +++ b/contentful-data/content-exports/preprod-export.json @@ -6,13 +6,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "heroHomePage", "type": "ContentType", - "createdAt": "2022-12-27T00:23:10.109Z", - "updatedAt": "2024-04-09T15:06:02.980Z", + "createdAt": "2024-05-09T15:45:16.195Z", + "updatedAt": "2024-09-06T11:59:49.591Z", "environment": { "sys": { "id": "preprod", @@ -20,33 +20,33 @@ "linkType": "Environment" } }, - "publishedVersion": 79, - "publishedAt": "2024-04-09T15:06:02.980Z", - "firstPublishedAt": "2022-12-27T00:23:10.514Z", + "publishedVersion": 17, + "publishedAt": "2024-09-06T11:59:49.591Z", + "firstPublishedAt": "2024-05-09T15:45:17.455Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 40, - "version": 80, + "publishedCounter": 9, + "version": 18, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/heroHomePage" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/heroHomePage" }, "displayField": "heroTitle", "name": "Home Page", @@ -91,120 +91,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "methodsCatalogue", - "type": "ContentType", - "createdAt": "2022-12-27T00:25:24.006Z", - "updatedAt": "2024-04-09T15:06:03.624Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 89, - "publishedAt": "2024-04-09T15:06:03.624Z", - "firstPublishedAt": "2022-12-27T00:25:24.279Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 45, - "version": 90, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/methodsCatalogue" - }, - "displayField": "heading1", - "name": "Methods Catalogue Page", - "description": "The content model for the methods catalogue page.", - "fields": [ - { - "id": "heading1", - "name": "Title", - "type": "Symbol", - "localized": false, - "required": true, - "validations": [ - { - "unique": true - } - ], - "disabled": false, - "omitted": false - }, - { - "id": "paragraph", - "name": "Paragraph", - "type": "Symbol", - "localized": false, - "required": true, - "validations": [ - { - "unique": true - } - ], - "disabled": false, - "omitted": false - }, - { - "id": "detail", - "name": "Detail Text", - "type": "Symbol", - "localized": false, - "required": true, - "validations": [ - { - "unique": true - } - ], - "disabled": false, - "omitted": false - }, - { - "id": "detailContent", - "name": "Detail Content", - "type": "Text", - "localized": false, - "required": true, - "validations": [ - ], - "disabled": false, - "omitted": false - } - ] - }, - { - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "catalogueTableOfMethods2", "type": "ContentType", - "createdAt": "2022-12-27T17:42:16.833Z", - "updatedAt": "2024-04-09T15:06:04.244Z", + "createdAt": "2024-05-09T15:45:16.239Z", + "updatedAt": "2024-09-06T11:59:50.392Z", "environment": { "sys": { "id": "preprod", @@ -212,37 +105,37 @@ "linkType": "Environment" } }, - "publishedVersion": 231, - "publishedAt": "2024-04-09T15:06:04.244Z", - "firstPublishedAt": "2022-12-27T17:42:17.269Z", + "publishedVersion": 23, + "publishedAt": "2024-09-06T11:59:50.392Z", + "firstPublishedAt": "2024-05-09T15:45:18.379Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 116, - "version": 232, + "publishedCounter": 12, + "version": 24, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/catalogueTableOfMethods2" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/catalogueTableOfMethods2" }, "displayField": "id", - "name": "Methods Table", - "description": "This is the content model for adding items to the methods table that is on the methods catalogue page.", + "name": "Methods Table and Summary", + "description": "This is the content model for adding a new method to the catalogue.", "fields": [ { "id": "id", @@ -265,9 +158,6 @@ "localized": false, "required": true, "validations": [ - { - "unique": true - } ], "disabled": false, "omitted": false @@ -382,8 +272,8 @@ "required": false, "validations": [ ], - "disabled": false, - "omitted": false + "disabled": true, + "omitted": true }, { "id": "codeLink", @@ -426,13 +316,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "about", + "id": "methodsCatalogue", "type": "ContentType", - "createdAt": "2022-12-28T03:44:01.571Z", - "updatedAt": "2024-04-09T15:06:04.841Z", + "createdAt": "2024-05-09T15:45:16.379Z", + "updatedAt": "2024-09-06T11:59:50.895Z", "environment": { "sys": { "id": "preprod", @@ -440,41 +330,83 @@ "linkType": "Environment" } }, - "publishedVersion": 64, - "publishedAt": "2024-04-09T15:06:04.841Z", - "firstPublishedAt": "2022-12-28T03:44:01.938Z", + "publishedVersion": 17, + "publishedAt": "2024-09-06T11:59:50.895Z", + "firstPublishedAt": "2024-05-09T15:45:17.922Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 32, - "version": 65, + "publishedCounter": 9, + "version": 18, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/about" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/methodsCatalogue" }, - "displayField": "about", - "name": "About Page", - "description": "This is the content model for displaying content on the about page. This uses Markdown (enables you to embed links etc onto the page).", + "displayField": "heading1", + "name": "Methods Catalogue Page", + "description": "The content model for the methods catalogue page.", "fields": [ { - "id": "about", - "name": "About Page Content", + "id": "heading1", + "name": "Title", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "unique": true + } + ], + "disabled": false, + "omitted": false + }, + { + "id": "paragraph", + "name": "Paragraph", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "unique": true + } + ], + "disabled": false, + "omitted": false + }, + { + "id": "detail", + "name": "Detail Text", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "unique": true + } + ], + "disabled": false, + "omitted": false + }, + { + "id": "detailContent", + "name": "Detail Content", "type": "Text", "localized": false, "required": true, @@ -491,13 +423,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "helpCentreInformation", "type": "ContentType", - "createdAt": "2023-01-20T15:30:32.071Z", - "updatedAt": "2024-04-09T15:06:05.333Z", + "createdAt": "2024-05-09T15:45:16.403Z", + "updatedAt": "2024-10-09T10:57:17.394Z", "environment": { "sys": { "id": "preprod", @@ -505,33 +437,33 @@ "linkType": "Environment" } }, - "publishedVersion": 82, - "publishedAt": "2024-04-09T15:06:05.333Z", - "firstPublishedAt": "2023-01-20T15:30:32.480Z", + "publishedVersion": 18, + "publishedAt": "2024-10-09T10:57:17.394Z", + "firstPublishedAt": "2024-05-09T15:45:19.286Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 41, - "version": 83, + "publishedCounter": 9, + "version": 19, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/helpCentreInformation" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/helpCentreInformation" }, "displayField": "id", "name": "Help Centre", @@ -575,6 +507,26 @@ ], "disabled": false, "omitted": false + }, + { + "id": "help_centre_category", + "name": "Category", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "in": [ + "Information", + "Access (and usage)", + "Feedback", + "Support" + ], + "message": "Please select a category from the drop down menu" + } + ], + "disabled": false, + "omitted": false } ] }, @@ -584,13 +536,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "privacycontent", "type": "ContentType", - "createdAt": "2023-11-14T13:44:21.564Z", - "updatedAt": "2024-04-09T15:06:05.987Z", + "createdAt": "2024-05-09T15:45:16.412Z", + "updatedAt": "2024-09-06T11:59:51.928Z", "environment": { "sys": { "id": "preprod", @@ -598,33 +550,33 @@ "linkType": "Environment" } }, - "publishedVersion": 74, - "publishedAt": "2024-04-09T15:06:05.987Z", - "firstPublishedAt": "2023-11-14T13:44:21.906Z", + "publishedVersion": 16, + "publishedAt": "2024-09-06T11:59:51.928Z", + "firstPublishedAt": "2024-05-09T15:45:19.916Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 37, - "version": 75, + "publishedCounter": 8, + "version": 17, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/privacycontent" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/privacycontent" }, "displayField": "privacy_content", "name": "Privacy Page", @@ -649,13 +601,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "helpCentreStructure", + "id": "about", "type": "ContentType", - "createdAt": "2023-11-28T12:32:31.408Z", - "updatedAt": "2024-04-09T15:06:06.589Z", + "createdAt": "2024-05-09T15:45:16.430Z", + "updatedAt": "2024-09-06T11:59:52.438Z", "environment": { "sys": { "id": "preprod", @@ -663,9 +615,9 @@ "linkType": "Environment" } }, - "publishedVersion": 58, - "publishedAt": "2024-04-09T15:06:06.589Z", - "firstPublishedAt": "2023-11-28T12:32:31.794Z", + "publishedVersion": 17, + "publishedAt": "2024-09-06T11:59:52.438Z", + "firstPublishedAt": "2024-05-09T15:45:18.862Z", "createdBy": { "sys": { "type": "Link", @@ -677,23 +629,88 @@ "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 29, - "version": 59, + "publishedCounter": 9, + "version": 18, "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/about" + }, + "displayField": "about", + "name": "About Page", + "description": "This is the content model for displaying content on the about page. This uses Markdown (enables you to embed links etc onto the page).", + "fields": [ + { + "id": "about", + "name": "About Page Content", + "type": "Text", + "localized": false, + "required": true, + "validations": [ + ], + "disabled": false, + "omitted": false + } + ] + }, + { + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "helpCentreStructure", + "type": "ContentType", + "createdAt": "2024-05-09T15:45:16.978Z", + "updatedAt": "2024-09-06T11:59:52.876Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 16, + "publishedAt": "2024-09-06T11:59:52.876Z", + "firstPublishedAt": "2024-05-09T15:45:20.279Z", + "createdBy": { "sys": { "type": "Link", "linkType": "User", "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/helpCentreStructure" + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 8, + "version": 17, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/helpCentreStructure" }, "displayField": "name", "name": "Help Centre Structure", - "description": "test model to discover the best way to implement the help centre", + "description": "This is the content model which describes the layout of the help centre landing page.", "fields": [ { "id": "name", @@ -725,13 +742,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "helpCentreMethodRequest", + "id": "accessibilityPage", "type": "ContentType", - "createdAt": "2023-11-30T17:08:47.100Z", - "updatedAt": "2024-04-09T15:06:07.102Z", + "createdAt": "2024-05-09T15:45:16.988Z", + "updatedAt": "2024-09-06T11:59:53.358Z", "environment": { "sys": { "id": "preprod", @@ -739,9 +756,9 @@ "linkType": "Environment" } }, - "publishedVersion": 70, - "publishedAt": "2024-04-09T15:06:07.102Z", - "firstPublishedAt": "2023-11-30T17:08:47.583Z", + "publishedVersion": 16, + "publishedAt": "2024-09-06T11:59:53.358Z", + "firstPublishedAt": "2024-05-09T15:45:21.171Z", "createdBy": { "sys": { "type": "Link", @@ -753,37 +770,113 @@ "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 35, - "version": 71, + "publishedCounter": 8, + "version": 17, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/helpCentreMethodRequest" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/accessibilityPage" }, - "displayField": "name", - "name": "Help Centre Method Request", - "description": "Customised template for the methods request page in the help centre", + "displayField": "title", + "name": "Accessibility Page", + "description": "", "fields": [ { - "id": "name", - "name": "Name", + "id": "title", + "name": "Title", "type": "Symbol", "localized": false, - "required": false, + "required": true, "validations": [ ], "disabled": false, "omitted": false }, { - "id": "internalUserTitle", + "id": "mainContent", + "name": "Main content", + "type": "Text", + "localized": false, + "required": true, + "validations": [ + ], + "disabled": false, + "omitted": false + } + ] + }, + { + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "helpCentreMethodRequest", + "type": "ContentType", + "createdAt": "2024-05-09T15:45:17.086Z", + "updatedAt": "2024-09-06T11:59:53.766Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 16, + "publishedAt": "2024-09-06T11:59:53.766Z", + "firstPublishedAt": "2024-05-09T15:45:20.687Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "0RE3J0ImbZ27ZHNVtOJhsd" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 8, + "version": 17, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/helpCentreMethodRequest" + }, + "displayField": "name", + "name": "Help Centre Method Request", + "description": "Customised template for the methods request page in the help centre", + "fields": [ + { + "id": "name", + "name": "Name", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "internalUserTitle", "name": "Internal User Title", "type": "Symbol", "localized": false, @@ -834,13 +927,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "accessibilityPage", + "id": "glossaryEntry", "type": "ContentType", - "createdAt": "2024-01-04T11:41:42.321Z", - "updatedAt": "2024-04-09T15:06:07.614Z", + "createdAt": "2024-08-27T09:22:22.840Z", + "updatedAt": "2024-09-06T11:59:54.293Z", "environment": { "sys": { "id": "preprod", @@ -848,9 +941,9 @@ "linkType": "Environment" } }, - "publishedVersion": 54, - "publishedAt": "2024-04-09T15:06:07.614Z", - "firstPublishedAt": "2024-01-04T11:41:42.725Z", + "publishedVersion": 11, + "publishedAt": "2024-09-06T11:59:54.293Z", + "firstPublishedAt": "2024-08-27T09:22:23.214Z", "createdBy": { "sys": { "type": "Link", @@ -862,27 +955,38 @@ "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 27, - "version": 55, + "publishedCounter": 6, + "version": 12, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/accessibilityPage" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/glossaryEntry" }, - "displayField": "title", - "name": "Accessibility Page", + "displayField": "id", + "name": "Glossary Entry", "description": "", "fields": [ { - "id": "title", - "name": "Title", + "id": "id", + "name": "ID", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "term", + "name": "term", "type": "Symbol", "localized": false, "required": true, @@ -892,8 +996,8 @@ "omitted": false }, { - "id": "mainContent", - "name": "Main content", + "id": "meaning", + "name": "meaning", "type": "Text", "localized": false, "required": true, @@ -901,6 +1005,44 @@ ], "disabled": false, "omitted": false + }, + { + "id": "relatedlist", + "name": "relatedlist", + "type": "Array", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false, + "items": { + "type": "Symbol", + "validations": [ + ] + } + }, + { + "id": "externalLinkTextShort", + "name": "external_link_text", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "externalUrl", + "name": "external_url", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false } ] } @@ -914,24 +1056,24 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 79, - "createdAt": "2022-12-27T00:23:10.567Z", + "version": 17, + "createdAt": "2024-05-09T15:45:17.596Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:10.765Z", + "updatedAt": "2024-09-06T11:59:56.296Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } @@ -955,20 +1097,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "sidebar": [ @@ -1040,31 +1182,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 89, - "createdAt": "2022-12-27T00:25:24.375Z", + "version": 22, + "createdAt": "2024-05-09T15:45:18.538Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:09.997Z", + "updatedAt": "2024-09-06T11:59:56.048Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "methodsCatalogue", + "id": "catalogueTableOfMethods2", "type": "Link", "linkType": "ContentType" } @@ -1081,20 +1223,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "sidebar": [ @@ -1143,36 +1285,118 @@ ], "controls": [ { - "fieldId": "heading1", + "fieldId": "id", "settings": { - "helpText": "E.g. All methods" + "helpText": "e.g ratio-of-means" }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "paragraph", + "fieldId": "name", "settings": { - "helpText": "E.g. Here you will discover statistical methods used by the Office for National Statistics." + "helpText": "E.g. Ratio of Means" }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "detail", + "fieldId": "theme", "settings": { - "helpText": "E.g. What are method themes and expert groups?" + "helpText": "E.g. Imputation" }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "detailContent", + "fieldId": "expertGroup", "settings": { - "helpText": "Please enter the text you want to display." + "helpText": "e.g. Editing & Imputation" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "language", + "settings": { + "helpText": "E.g. Python/ PySpark" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "author", + "settings": { + "helpText": "E.g. ONS" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "description", + "settings": { + "helpText": "Please enter the text you want to display for the summary section on the indvidual methods page." }, "widgetId": "markdown", "widgetNamespace": "builtin" + }, + { + "fieldId": "contactDetails", + "settings": { + "helpText": "E.g. smlhelp@ons.gov.uk" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "methodReady", + "widgetId": "boolean", + "widgetNamespace": "builtin" + }, + { + "fieldId": "releaseVersion", + "settings": { + "helpText": "Please enter the release version of this method (if the method is ready to use)" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "releaseLink", + "settings": { + "helpText": "Enter the URL for the method release." + }, + "widgetId": "urlEditor", + "widgetNamespace": "builtin" + }, + { + "fieldId": "additionalInformation", + "settings": { + "helpText": "E.g. Links to the method code and specification are provided for further reading." + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "codeLink", + "settings": { + "helpText": "Enter the URL of the GitHub Repo where the code is stored." + }, + "widgetId": "urlEditor", + "widgetNamespace": "builtin" + }, + { + "fieldId": "specificationLink", + "widgetId": "urlEditor", + "widgetNamespace": "builtin" + }, + { + "fieldId": "userDocumentationLink", + "settings": { + "helpText": "Enter the URL of the user documentation." + }, + "widgetId": "urlEditor", + "widgetNamespace": "builtin" } ] }, @@ -1182,31 +1406,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 231, - "createdAt": "2022-12-27T17:42:17.357Z", + "version": 17, + "createdAt": "2024-05-09T15:45:18.071Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:10.951Z", + "updatedAt": "2024-09-06T11:59:57.152Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "catalogueTableOfMethods2", + "id": "methodsCatalogue", "type": "Link", "linkType": "ContentType" } @@ -1223,20 +1447,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "sidebar": [ @@ -1285,117 +1509,110 @@ ], "controls": [ { - "fieldId": "id", + "fieldId": "heading1", "settings": { - "helpText": "e.g ratio-of-means" + "helpText": "E.g. All methods" }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "name", - "settings": { - "helpText": "E.g. Ratio of Means" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "theme", - "settings": { - "helpText": "E.g. Imputation" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "expertGroup", - "settings": { - "helpText": "e.g. Editing & Imputation" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "language", + "fieldId": "paragraph", "settings": { - "helpText": "E.g. Python/ PySpark" + "helpText": "E.g. Here you will discover statistical methods used by the Office for National Statistics." }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "author", + "fieldId": "detail", "settings": { - "helpText": "E.g. ONS" + "helpText": "E.g. What are method themes and expert groups?" }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "description", + "fieldId": "detailContent", "settings": { - "helpText": "Please enter the text you want to display for the summary section on the indvidual methods page." + "helpText": "Please enter the text you want to display." }, "widgetId": "markdown", "widgetNamespace": "builtin" + } + ] + }, + { + "sys": { + "id": "default", + "type": "EditorInterface", + "space": { + "sys": { + "id": "h6k5tsc4ytaf", + "type": "Link", + "linkType": "Space" + } }, - { - "fieldId": "contactDetails", - "settings": { - "helpText": "E.g. smlhelp@ons.gov.uk" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" + "version": 18, + "createdAt": "2024-05-09T15:45:19.588Z", + "createdBy": { + "sys": { + "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "type": "Link", + "linkType": "User" + } }, - { - "fieldId": "methodReady", - "widgetId": "boolean", - "widgetNamespace": "builtin" + "updatedAt": "2024-10-09T10:57:17.908Z", + "updatedBy": { + "sys": { + "id": "7BqQQLssfY5nUeZr8AO3cF", + "type": "Link", + "linkType": "User" + } }, - { - "fieldId": "releaseVersion", - "settings": { - "helpText": "Please enter the release version of this method (if the method is ready to use)" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" + "contentType": { + "sys": { + "id": "helpCentreInformation", + "type": "Link", + "linkType": "ContentType" + } }, + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + } + }, + "controls": [ { - "fieldId": "releaseLink", + "fieldId": "id", "settings": { - "helpText": "Enter the URL for the method release." + "helpText": "Please enter an ID for this content." }, - "widgetId": "urlEditor", + "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "additionalInformation", + "fieldId": "title", "settings": { - "helpText": "E.g. Links to the method code and specification are provided for further reading." + "helpText": "Pleas enter the title." }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "codeLink", + "fieldId": "content", "settings": { - "helpText": "Enter the URL of the GitHub Repo where the code is stored." + "helpText": "Pleas enter the text content." }, - "widgetId": "urlEditor", - "widgetNamespace": "builtin" - }, - { - "fieldId": "specificationLink", - "widgetId": "urlEditor", + "widgetId": "markdown", "widgetNamespace": "builtin" }, { - "fieldId": "userDocumentationLink", - "settings": { - "helpText": "Enter the URL of the user documentation." - }, - "widgetId": "urlEditor", + "fieldId": "help_centre_category", + "widgetId": "dropdown", "widgetNamespace": "builtin" } ] @@ -1406,31 +1623,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 64, - "createdAt": "2022-12-28T03:44:02.051Z", + "version": 16, + "createdAt": "2024-05-09T15:45:19.965Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:09.015Z", + "updatedAt": "2024-09-06T11:59:56.295Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "about", + "id": "privacycontent", "type": "Link", "linkType": "ContentType" } @@ -1443,11 +1660,31 @@ } } }, + "editors": [ + { + "settings": { + }, + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" + }, + { + "settings": { + }, + "widgetId": "tags-editor", + "widgetNamespace": "editor-builtin" + }, + { + "settings": { + }, + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" + } + ], "controls": [ { - "fieldId": "about", + "fieldId": "privacy_content", "settings": { - "helpText": "Please enter the text you want to display on the about page." + "helpText": "Please enter the privacy protection page content." }, "widgetId": "markdown", "widgetNamespace": "builtin" @@ -1460,31 +1697,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 82, - "createdAt": "2023-01-20T15:30:32.530Z", + "version": 17, + "createdAt": "2024-05-09T15:45:18.951Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:09.995Z", + "updatedAt": "2024-09-06T11:59:57.152Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "helpCentreInformation", + "id": "about", "type": "Link", "linkType": "ContentType" } @@ -1499,25 +1736,9 @@ }, "controls": [ { - "fieldId": "id", - "settings": { - "helpText": "Please enter an ID for this content." - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "title", - "settings": { - "helpText": "Pleas enter the title." - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "content", + "fieldId": "about", "settings": { - "helpText": "Pleas enter the text content." + "helpText": "Please enter the text you want to display on the about page." }, "widgetId": "markdown", "widgetNamespace": "builtin" @@ -1530,31 +1751,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 74, - "createdAt": "2023-11-14T13:44:22.044Z", + "version": 16, + "createdAt": "2024-05-09T15:45:20.382Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:10.820Z", + "updatedAt": "2024-09-06T11:59:57.021Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "privacycontent", + "id": "helpCentreStructure", "type": "Link", "linkType": "ContentType" } @@ -1567,33 +1788,15 @@ } } }, - "editors": [ - { - "settings": { - }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" - }, + "controls": [ { - "settings": { - }, - "widgetId": "default-editor", - "widgetNamespace": "editor-builtin" + "fieldId": "name", + "widgetId": "singleLine", + "widgetNamespace": "builtin" }, { - "settings": { - }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" - } - ], - "controls": [ - { - "fieldId": "privacy_content", - "settings": { - "helpText": "Please enter the privacy protection page content." - }, - "widgetId": "markdown", + "fieldId": "structure", + "widgetId": "objectEditor", "widgetNamespace": "builtin" } ] @@ -1604,13 +1807,13 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 58, - "createdAt": "2023-11-28T12:32:31.921Z", + "version": 16, + "createdAt": "2024-05-09T15:45:21.269Z", "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1618,17 +1821,17 @@ "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:10.975Z", + "updatedAt": "2024-09-06T11:59:57.155Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "helpCentreStructure", + "id": "accessibilityPage", "type": "Link", "linkType": "ContentType" } @@ -1643,13 +1846,15 @@ }, "controls": [ { - "fieldId": "name", + "fieldId": "title", + "settings": { + }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "structure", - "widgetId": "objectEditor", + "fieldId": "mainContent", + "widgetId": "markdown", "widgetNamespace": "builtin" } ] @@ -1660,13 +1865,13 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 70, - "createdAt": "2023-11-30T17:08:47.780Z", + "version": 16, + "createdAt": "2024-05-09T15:45:20.835Z", "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1674,10 +1879,10 @@ "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:10.102Z", + "updatedAt": "2024-09-06T11:59:57.160Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } @@ -1701,20 +1906,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "controls": [ @@ -1751,13 +1956,13 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 54, - "createdAt": "2024-01-04T11:41:42.874Z", + "version": 17, + "createdAt": "2024-08-27T09:22:23.425Z", "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1765,17 +1970,17 @@ "linkType": "User" } }, - "updatedAt": "2024-04-09T15:06:10.003Z", + "updatedAt": "2024-09-06T11:59:57.029Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "accessibilityPage", + "id": "glossaryEntry", "type": "Link", "linkType": "ContentType" } @@ -1790,2249 +1995,43 @@ }, "controls": [ { - "fieldId": "title", - "settings": { - }, + "fieldId": "id", "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "mainContent", + "fieldId": "term", + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "meaning", "widgetId": "markdown", "widgetNamespace": "builtin" + }, + { + "fieldId": "relatedlist", + "widgetId": "tagEditor", + "widgetNamespace": "builtin" + }, + { + "fieldId": "externalLinkTextShort", + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "externalUrl", + "widgetId": "urlEditor", + "widgetNamespace": "builtin" } ] } ], "entries": [ - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "9aLYC0VKLFNUkzW8RYhUO", - "type": "Entry", - "createdAt": "2023-01-10T19:14:59.649Z", - "updatedAt": "2024-04-09T15:06:14.928Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 85, - "publishedAt": "2024-04-09T15:06:14.928Z", - "firstPublishedAt": "2023-01-10T19:18:21.211Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 34, - "version": 86, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "about" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/9aLYC0VKLFNUkzW8RYhUO" - }, - "fields": { - "about": { - "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe statistical methods library is a central library for approved statistical methods for use within ONS and wider.\n\n## Overall mission\n\nThe Statistical Methods Library (SML) provides a central resource for consistent and reproducible statistical methods within the ONS and wider. The library ensures that methods for official statistical outputs are fully transparent. It provides proportionate governance and assurance processes, including peer review of methods for statistical production and analysis or exploration.\n\nThe library facilitates continuous improvement by providing users with the ability to add new methods or request changes to existing ones. It contains documentation on method specifications, how-to guidance and contact details for help and support. The SML will allow users to share methods and best practice with other government departments.\n\n## Current objectives\n\n- To act as a shared single point of reference for best practice methods and share methods across government departments.\n- To continuously update methods based on peer reviews, emerging facts and user feedback.\n- To provide clear evidence of audit and quality assurance for approved methods.\n\n## Future objectives\n- To standardise best practice methods across the ONS and government departments.\n- To act as a developmental tool, providing reference material and guides to approved methods.\n- To demonstrate, share and promote innovation in methodological practice across GSS/wider government.\n\n## Further information\nThe SML contains many features, including:\n\n- A catalogue of methods\n- Statistical methods specifications\n- A code repository\n- Downloadable Methods packages\n- Technical methods governance\n- A glossary of terms\n- How-to guidance" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "5WYN3VRdVncydnbqCYupCM", - "type": "Entry", - "createdAt": "2023-01-10T19:18:32.835Z", - "updatedAt": "2024-04-09T15:06:15.386Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 98, - "publishedAt": "2024-04-09T15:06:15.386Z", - "firstPublishedAt": "2023-01-10T19:18:47.011Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 48, - "version": 99, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "heroHomePage" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5WYN3VRdVncydnbqCYupCM" - }, - "fields": { - "heroTitle": { - "en-US": "An open source library for statistical code approved by the ONS" - }, - "heroButton": { - "en-US": "Find methods" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "78d7qRmxYSzox6ccAwoPII", - "type": "Entry", - "createdAt": "2023-01-10T19:19:09.326Z", - "updatedAt": "2024-04-09T15:06:15.957Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 87, - "publishedAt": "2024-04-09T15:06:15.957Z", - "firstPublishedAt": "2023-01-10T19:30:16.790Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 38, - "version": 88, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "methodsCatalogue" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/78d7qRmxYSzox6ccAwoPII" - }, - "fields": { - "heading1": { - "en-US": "Methods catalogue" - }, - "paragraph": { - "en-US": "Here you will discover statistical methods used by the Office for National Statistics." - }, - "detail": { - "en-US": "What are method themes and expert groups?" - }, - "detailContent": { - "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "68ETsCxLbjjKpd0j9fuvWk", - "type": "Entry", - "createdAt": "2023-02-07T16:55:38.468Z", - "updatedAt": "2024-04-09T15:06:16.949Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 81, - "publishedAt": "2024-04-09T15:06:16.949Z", - "firstPublishedAt": "2023-02-07T16:56:59.278Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 34, - "version": 82, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/68ETsCxLbjjKpd0j9fuvWk" - }, - "fields": { - "id": { - "en-US": "ht-ratio-estimation" - }, - "name": { - "en-US": "Horvitz-Thompson Ratio Estimator" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Sampling in business surveys is often done using stratified simple random sampling without replacement. The largest businesses are usually selected with certainty. This SML method uses two approaches for estimating totals in such cases. The Horvitz-Thompson estimator in this case is known as a stratified expansion estimator, which is the simplest method used. We also use a combined ratio estimator. This is appropriate where there is a linear relationship through the origin between the target variable and an auxiliary variable we know for all units, and the scatter about the line increases with the size of the auxiliary variable." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Ready Yet" - }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/sample_design_and_estimation/estimation/ht_estimation.rst" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "6zPvs42JQdbLc1vCJMQUgs", - "type": "Entry", - "createdAt": "2023-02-07T16:58:13.657Z", - "updatedAt": "2024-04-09T15:06:17.574Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 75, - "publishedAt": "2024-04-09T15:06:17.574Z", - "firstPublishedAt": "2023-02-07T17:03:06.845Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 33, - "version": 76, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/6zPvs42JQdbLc1vCJMQUgs" - }, - "fields": { - "id": { - "en-US": "ratio-of-means" - }, - "name": { - "en-US": "Ratio of Means" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Ratio of means is a standard imputation method used for business surveys. The method imputes for each non-responding contributor a single numeric target variable within the dataset for multiple periods simultaneously. It uses the relationship between the target variable of interest and a predictive value and/or auxiliary variable to inform the imputed value. Due to its robust nature, it does not use any form of trimming or outliering.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/ratio_of_means/methodological_specification.md" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3uxHIlnhHqztRAuHNQ0CHA", - "type": "Entry", - "createdAt": "2023-02-07T17:05:24.569Z", - "updatedAt": "2024-04-09T15:06:18.071Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 70, - "publishedAt": "2024-04-09T15:06:18.071Z", - "firstPublishedAt": "2023-02-07T17:10:36.693Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 71, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3uxHIlnhHqztRAuHNQ0CHA" - }, - "fields": { - "id": { - "en-US": "winsorisation" - }, - "name": { - "en-US": "Winsorisation" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "In business surveys, some responses can be very large, and can distort estimates when such a business is selected. Consequently, it is sometimes desirable to reduce the effect of these businesses. This is known as outlier treatment. This SML method applies a technique known as one-sided winsorisation. The objective of the method is to introduce a small bias, while reducing the variance. This is intended to reduce the mean squared error of the total, a measure of overall accuracy. The method works for stratified expansion estimation and combined ratio estimation, which are commonly used in business surveys." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/specs_from_current_sml_pages/sample_design_and_estimation/Winsorisation/SML_Winsorization_Specification.docx.rst" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "7ald28ahkCJgBJu1oKhUmI", - "type": "Entry", - "createdAt": "2023-02-07T17:10:44.722Z", - "updatedAt": "2024-04-09T15:06:18.517Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 72, - "publishedAt": "2024-04-09T15:06:18.517Z", - "firstPublishedAt": "2023-02-07T17:13:08.809Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 73, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/7ald28ahkCJgBJu1oKhUmI" - }, - "fields": { - "id": { - "en-US": "selective-editing" - }, - "name": { - "en-US": "Selective Editing" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Selective Editing is an internationally recognised editing method where potential errors are prioritised according to their expected effect on key outputs. Only respondents that are having an impact on published estimates will be recontacted.\n\nSelective Editing works by assigning a score to each important variable for a business where, the score reflects the impact that editing the respondent will have on the estimates. Only contributors with a high score are checked, low scoring contributors pass through unchecked." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "additionalInformation": { - "en-US": "Links to the method code, specification and user documentation are provided for further reading." - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/selective_editing.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/selective_editing/methodological_specification.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/selective-editing/selective_editing.md" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "1dEel1rXrwQTW8p1DumqQT", - "type": "Entry", - "createdAt": "2023-02-07T17:15:52.159Z", - "updatedAt": "2024-04-09T15:06:19.142Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 87, - "publishedAt": "2024-04-09T15:06:19.142Z", - "firstPublishedAt": "2023-02-07T17:16:59.252Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 39, - "version": 88, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/1dEel1rXrwQTW8p1DumqQT" - }, - "fields": { - "id": { - "en-US": "date-adjustment" - }, - "name": { - "en-US": "Date Adjustment" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "additionalInformation": { - "en-US": "Links to the method code and user documentation are provided for further reading." - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3cCYV7jPz7iisw87gZvGgK", - "type": "Entry", - "createdAt": "2023-02-09T10:19:53.204Z", - "updatedAt": "2024-04-09T15:06:19.584Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 66, - "publishedAt": "2024-04-09T15:06:19.584Z", - "firstPublishedAt": "2023-02-09T10:21:06.264Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 67, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3cCYV7jPz7iisw87gZvGgK" - }, - "fields": { - "id": { - "en-US": "version-methods" - }, - "title": { - "en-US": "How the methods are versioned" - }, - "content": { - "en-US": "The Statistical Methods Library (SML) and the associated methods are versioned using semantic versioning comprised of a major, minor and patch release version separated by full stops (e.g 3.5.4). \n\nThere are separate releases of the libraries based on the method implementation, python/pandas or python/pySpark, and each library uses semantic versioning.\n\nThe major version is incremented (and minor and patch releases reset to zero) when backward incompatible changes are made (e.g renaming a pre-existing method function name).\n\nThe minor version is incremented (and the patch version reset to zero) when new features are added without breaking backward compatibility (e.g addition of a new statistical method)\n\nThe patch release version is incremented when backward compatible bugfixes are implemented.\n\nConsult the [SML python/pySpark release history in Github](https://github.com/ONSdigital/statistical-methods-library/releases) for the current and past releases for the python/pySpark methods and the [associated python/pySpark release notes](https://github.com/ONSdigital/statistical-methods-library/tree/main/docs/release-notes) to understand the changes between releases.\n\nConsult the [SML python/pandas release history in Github](https://github.com/ONSdigital/sml-python-small/releases) for the current and past releases for the python/pandas methods and the [associated python/pandas release notes](https://github.com/ONSdigital/sml-python-small/tree/main/docs/release-notes) to understand the changes between releases.\n\nFor further information about semantic versioning read the recommended [semantic versioning guidance](https://semver.org)." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "6WQ6Wtug7CnYQigqvDNH9S", - "type": "Entry", - "createdAt": "2023-02-09T10:21:23.289Z", - "updatedAt": "2024-04-09T15:06:20.133Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 59, - "publishedAt": "2024-04-09T15:06:20.133Z", - "firstPublishedAt": "2023-02-09T10:21:38.224Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 28, - "version": 60, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/6WQ6Wtug7CnYQigqvDNH9S" - }, - "fields": { - "id": { - "en-US": "coding-standards" - }, - "title": { - "en-US": "Coding standards" - }, - "content": { - "en-US": "Code will be written to internationally recognised standards and according to principles set out in these links:-\n\n* [Government Digital Service](https://gds-way.cloudapps.digital/#the-gds-way/)\n* [ONS Quality Assurance for Code and Analysis (Duck book)](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)\n* [ONS Digital Software Engineering Standards](https://github.com/ONSdigital/software-engineer-community/blob/master/standards/README.md)\n\nFor Python, this means it will adhere to the [PEP8 Python style guide](https://peps.python.org/pep-0008/) and the [GDS Python style guide.](https://gds-way.cloudapps.digital/manuals/programming-languages/python/python.html#content)\n" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3nzjuL0uUBerLb5tQYGuq8", - "type": "Entry", - "createdAt": "2023-02-09T10:22:57.325Z", - "updatedAt": "2024-04-09T15:06:20.626Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 61, - "publishedAt": "2024-04-09T15:06:20.626Z", - "firstPublishedAt": "2023-02-09T10:23:39.631Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 28, - "version": 62, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3nzjuL0uUBerLb5tQYGuq8" - }, - "fields": { - "id": { - "en-US": "view-methods" - }, - "title": { - "en-US": "Find and view methods" - }, - "content": { - "en-US": "You can find and view methods within the [methods catalogue](/methods)\n\nWhere available, links to GitHub for source code and specifications will be on the method's details page.\n" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "6FVuaTke9hjBtzWOEuDexR", - "type": "Entry", - "createdAt": "2023-02-09T10:23:44.288Z", - "updatedAt": "2024-04-09T15:06:21.156Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 65, - "publishedAt": "2024-04-09T15:06:21.156Z", - "firstPublishedAt": "2023-02-09T10:24:02.482Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 31, - "version": 66, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/6FVuaTke9hjBtzWOEuDexR" - }, - "fields": { - "id": { - "en-US": "run-a-method" - }, - "title": { - "en-US": "Use a method" - }, - "content": { - "en-US": "1. Go to the GitHub repository page (linked to from method's details page in the catalogue), and click on \"Releases\". Find the release you want, noting any warnings or information about that version.\nRelease pages for both repositories can be found below:\n - [SML Python Small repository releases](https://github.com/ONSdigital/sml-python-small/releases)\n - [Statistical Methods Library releases](https://github.com/ONSdigital/statistical-methods-library/releases)\n2. Download the `.whl` (wheel) file of the release that you wish to install.\n3. On the command line run `pip install PATH_TO/some-file.whl` where that path represents the location on your computer that you downloaded the file.\n4. You should now have the method available to import into your python code.\n\nSpecific instructions on using the method will be found within the git repository for that method.\n" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3vD2v4Ma4DoxClPZgeQxdE", - "type": "Entry", - "createdAt": "2023-02-09T10:24:15.522Z", - "updatedAt": "2024-04-09T15:06:21.658Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 75, - "publishedAt": "2024-04-09T15:06:21.658Z", - "firstPublishedAt": "2023-02-09T10:24:47.982Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 76, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3vD2v4Ma4DoxClPZgeQxdE" - }, - "fields": { - "id": { - "en-US": "report-bug" - }, - "title": { - "en-US": "Report a defect or bug" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "37TwJlBJgUvgCRJ7Tq30pt", - "type": "Entry", - "createdAt": "2023-02-09T10:24:51.352Z", - "updatedAt": "2024-04-09T15:06:22.177Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 60, - "publishedAt": "2024-04-09T15:06:22.177Z", - "firstPublishedAt": "2023-02-09T10:25:11.686Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 28, - "version": 61, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/37TwJlBJgUvgCRJ7Tq30pt" - }, - "fields": { - "id": { - "en-US": "provide-feedback" - }, - "title": { - "en-US": "Provide feedback" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "7ePz4NOKkNuYxTCKGceI0o", - "type": "Entry", - "createdAt": "2023-02-09T10:25:38.634Z", - "updatedAt": "2024-04-09T15:06:22.599Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 66, - "publishedAt": "2024-04-09T15:06:22.599Z", - "firstPublishedAt": "2023-02-09T10:26:05.985Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 29, - "version": 67, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/7ePz4NOKkNuYxTCKGceI0o" - }, - "fields": { - "id": { - "en-US": "support" - }, - "title": { - "en-US": "Get support" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "76zlJrhByCFNZlbKVA5AtB", - "type": "Entry", - "createdAt": "2023-02-09T10:26:08.903Z", - "updatedAt": "2024-04-09T15:06:23.133Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 69, - "publishedAt": "2024-04-09T15:06:23.133Z", - "firstPublishedAt": "2023-02-09T10:26:33.928Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 70, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/76zlJrhByCFNZlbKVA5AtB" - }, - "fields": { - "id": { - "en-US": "expert-groups" - }, - "title": { - "en-US": "Get information on expert groups" - }, - "content": { - "en-US": "Please visit [Expert groups](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "0HJkQZKUd1CyK7UypkxqB", - "type": "Entry", - "createdAt": "2023-02-09T10:26:36.960Z", - "updatedAt": "2024-04-09T15:06:23.586Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 58, - "publishedAt": "2024-04-09T15:06:23.586Z", - "firstPublishedAt": "2023-02-09T10:27:07.103Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 27, - "version": 59, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/0HJkQZKUd1CyK7UypkxqB" - }, - "fields": { - "id": { - "en-US": "troubleshooting" - }, - "title": { - "en-US": "Troubleshooting" - }, - "content": { - "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve said issue. Providing a resource to help fix these issues as they occur in the future. \n\n#### Issues accessing a method on GitHub: \nWhen following the links to the projects stored on GitHub you may receive a 404 error. Please ensure you are logged into\nGitHub. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "5WaengmajUsGSEbXHxhu1r", - "type": "Entry", - "createdAt": "2023-02-09T10:27:10.542Z", - "updatedAt": "2024-04-09T15:06:24.108Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 64, - "publishedAt": "2024-04-09T15:06:24.108Z", - "firstPublishedAt": "2023-02-09T10:27:26.767Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 65, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5WaengmajUsGSEbXHxhu1r" - }, - "fields": { - "id": { - "en-US": "github" - }, - "title": { - "en-US": "Using GitHub" - }, - "content": { - "en-US": "This section contains useful links for anyone unfamiliar with Github, it provides some pointers to documentation that will help you use and navigate the system.\n\nFor general guidance consult the [Github documentation](https://docs.github.com/en) in the first instance\n#### Releases\n\nConsult the [Github guidance on navigating releases](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get an understanding of identifying where the release information can be found and how to search for a specific release.\n\nView the [Github release comparison documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get information on comparing different release versions and understanding how to use Github to determine the changes between releases.\n" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "51E73QFXqVNxRsoUxzcoSj", - "type": "Entry", - "createdAt": "2023-02-14T16:29:55.702Z", - "updatedAt": "2024-04-09T15:06:24.686Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 110, - "publishedAt": "2024-04-09T15:06:24.686Z", - "firstPublishedAt": "2023-02-14T16:31:39.055Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 49, - "version": 111, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/51E73QFXqVNxRsoUxzcoSj" - }, - "fields": { - "id": { - "en-US": "thousand-pound-correction" - }, - "name": { - "en-US": "Thousand Pound Correction" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for thousand pounds correction is commonly used across ONS business surveys. It is a generic rule that uses user defined thresholds to automatically detect and correct thousand pounds errors. This is when the respondent should have reported values in thousands of pounds but has reported in actual pounds e.g., returned a value of £56,000 instead of correctly submitting 56.\n\nThe method checks the ratio of a principal variable against a suitable predictor variable and make an automatic correction if the calculated ratio is around 1000. The automatic correction is applied to all relevant variables for the respondent." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "additionalInformation": { - "en-US": "No resources are currently available." - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/editing/thousand_pounds/thousand_pounds.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/thousand_pounds_correction/thousand_pounds_correction.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/thousand-pound-correction/thousand_pound_correction.md" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3B4A7Fs3mnyEAzOgTaeHMn", - "type": "Entry", - "createdAt": "2023-11-14T13:44:55.457Z", - "updatedAt": "2024-04-09T15:06:25.251Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 76, - "publishedAt": "2024-04-09T15:06:25.251Z", - "firstPublishedAt": "2023-11-14T13:45:21.793Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 30, - "version": 77, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "privacycontent" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3B4A7Fs3mnyEAzOgTaeHMn" - }, - "fields": { - "privacy_content": { - "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "4GwadO5feNlF2biBAAZbfw", - "type": "Entry", - "createdAt": "2023-11-23T16:31:09.866Z", - "updatedAt": "2024-04-09T15:06:25.685Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 83, - "publishedAt": "2024-04-09T15:06:25.685Z", - "firstPublishedAt": "2023-11-23T16:34:18.225Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 32, - "version": 84, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/4GwadO5feNlF2biBAAZbfw" - }, - "fields": { - "id": { - "en-US": "totals-and-components" - }, - "name": { - "en-US": "Totals and Component" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for totals and components correction is currently used in ONS business surveys to ensure fixed relationships between variables are satisfied. For example, when a total (e.g., total employment) is collected along with the component breakdown (e.g., full-time male, full-time female, part-time male, part-time female). The primary use of the method is to automatically detect and correct errors in respondent data where fixed relationships have not been satisfied to improve the efficiency of the editing process, reduce the burden on respondents and survey validators and improve overall data quality. This method can also be used to ensure fixed relationships between variables are satisfied in other data types such as imputed data to improve overall data quality." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/tree/main/sml_small/editing/totals_and_components" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/totals_components/editing_and_imputation/totals_components.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/totals-and-components/totals-and-components.md" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "viM9TL5rdzMZITGCQBIbe", - "type": "Entry", - "createdAt": "2023-11-23T16:35:17.017Z", - "updatedAt": "2024-04-09T15:06:26.140Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 60, - "publishedAt": "2024-04-09T15:06:26.140Z", - "firstPublishedAt": "2023-11-23T16:37:13.023Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 24, - "version": 61, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/viM9TL5rdzMZITGCQBIbe" - }, - "fields": { - "id": { - "en-US": "mean-of-ratios" - }, - "name": { - "en-US": "Mean of Ratios" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Mean of Ratios imputation is a standard imputation method for business surveys. It can be used to impute value for unit (complete) non-response or item (partial) non-response. There is an option to use trimming as the method can be influenced by extreme values. The method imputes a single numeric variable. It uses the relationship between the variable being imputed and an appropriate predictive or auxiliary variable.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/mean_of_ratios/technical_specification.md" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "240OpTHU9qKVueslnoYjWy", - "type": "Entry", - "createdAt": "2023-11-28T12:36:55.909Z", - "updatedAt": "2024-04-09T15:06:26.643Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 86, - "publishedAt": "2024-04-09T15:06:26.643Z", - "firstPublishedAt": "2023-11-28T12:37:14.845Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 38, - "version": 87, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreStructure" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/240OpTHU9qKVueslnoYjWy" - }, - "fields": { - "name": { - "en-US": "Help Centre Structure" - }, - "structure": { - "en-US": { - "categories": [ - { - "name": "information", - "label": "Information", - "subcategories": [ - { - "name": "methods-request", - "label": "Submit a method request" - }, - { - "name": "version-methods", - "label": "How the methods are versioned" - }, - { - "name": "coding-standards", - "label": "Coding standards" - } - ] - }, - { - "name": "access", - "label": "Access (and usage)", - "subcategories": [ - { - "name": "view-methods", - "label": "Find and view methods" - }, - { - "name": "run-a-method", - "label": "Use a method" - } - ] - }, - { - "name": "feedback", - "label": "Feedback", - "subcategories": [ - { - "name": "report-bug", - "label": "Report a defect or bug" - }, - { - "name": "provide-feedback", - "label": "Provide feedback" - } - ] - }, - { - "name": "support", - "label": "Support", - "subcategories": [ - { - "name": "support", - "label": "Get support" - }, - { - "name": "expert-groups", - "label": "Get information on expert groups" - }, - { - "name": "troubleshooting", - "label": "Troubleshooting" - }, - { - "name": "github", - "label": "Using GitHub" - } - ] - } - ] - } - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3yPRVuZ5tvZdP09NLOauEj", - "type": "Entry", - "createdAt": "2023-12-01T13:23:39.776Z", - "updatedAt": "2024-04-09T15:06:27.195Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 133, - "publishedAt": "2024-04-09T15:06:27.195Z", - "firstPublishedAt": "2023-12-01T13:31:08.880Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 39, - "version": 134, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreMethodRequest" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3yPRVuZ5tvZdP09NLOauEj" - }, - "fields": { - "name": { - "en-US": "Help Centre Method Request" - }, - "internalUserTitle": { - "en-US": "I am an ONS internal user" - }, - "internalUserContent": { - "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - }, - "externalUserTitle": { - "en-US": "I am a user from outside the ONS" - }, - "externalUserContent": { - "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "5dA4wvX0V2tLHCnwvDEyI2", - "type": "Entry", - "createdAt": "2024-01-04T11:42:14.987Z", - "updatedAt": "2024-04-09T15:06:27.710Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 54, - "publishedAt": "2024-04-09T15:06:27.710Z", - "firstPublishedAt": "2024-01-04T11:46:37.035Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 24, - "version": 55, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "accessibilityPage" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5dA4wvX0V2tLHCnwvDEyI2" - }, - "fields": { - "title": { - "en-US": "Accessibility Statement" - }, - "mainContent": { - "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "5i7w3zivMPSd7CStFhcH3", - "type": "Entry", - "createdAt": "2024-03-12T15:02:31.176Z", - "updatedAt": "2024-04-09T15:06:28.215Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 63, - "publishedAt": "2024-04-09T15:06:28.215Z", - "firstPublishedAt": "2024-03-12T15:06:21.292Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 24, - "version": 64, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5i7w3zivMPSd7CStFhcH3" - }, - "fields": { - "id": { - "en-US": "cell-key-perturbation" - }, - "name": { - "en-US": "Cell Key Perturbation" - }, - "theme": { - "en-US": "Statistical Disclosure Control" - }, - "expertGroup": { - "en-US": "Statistical Disclosure Control" - }, - "language": { - "en-US": "Python & R" - }, - "author": { - "en-US": "ONS Community Method" - }, - "description": { - "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation. These can also be used to apply rounding, and a threshold for small counts." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - } - } - } - ], - "assets": [ - ], - "locales": [ + ], + "assets": [ + ], + "locales": [ { "name": "English (United States)", "code": "en-US", @@ -4043,13 +2042,13 @@ "optional": false, "sys": { "type": "Locale", - "id": "5YH3JHwWMEbnsrEssLg9ef", - "version": 1, + "id": "3X8kgeA37iIItibBJv7rQ8", + "version": 2, "space": { "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "environment": { @@ -4057,7 +2056,7 @@ "type": "Link", "linkType": "Environment", "id": "preprod", - "uuid": "12b451cc-a33c-4e74-afcd-5a19778e04bf" + "uuid": "23b3011d-9766-4b4a-808a-37be8aa26e2f" } }, "createdBy": { @@ -4067,15 +2066,15 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "createdAt": "2024-03-28T15:34:52Z", + "createdAt": "2024-05-22T13:09:05Z", "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "updatedAt": "2024-03-28T15:34:52Z" + "updatedAt": "2024-08-27T11:50:31Z" } } ] diff --git a/contentful-data/content-exports/prod-export.json b/contentful-data/content-exports/prod-export.json index 218604113..7a0a3b2cd 100644 --- a/contentful-data/content-exports/prod-export.json +++ b/contentful-data/content-exports/prod-export.json @@ -12,7 +12,7 @@ "id": "heroHomePage", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.195Z", - "updatedAt": "2024-08-13T15:10:25.921Z", + "updatedAt": "2024-08-14T14:59:39.315Z", "environment": { "sys": { "id": "prod", @@ -20,8 +20,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:25.921Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:39.315Z", "firstPublishedAt": "2024-05-09T15:45:17.455Z", "createdBy": { "sys": { @@ -37,8 +37,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -97,7 +97,7 @@ "id": "catalogueTableOfMethods2", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.239Z", - "updatedAt": "2024-08-13T15:10:26.572Z", + "updatedAt": "2024-08-14T14:59:40.037Z", "environment": { "sys": { "id": "prod", @@ -105,8 +105,8 @@ "linkType": "Environment" } }, - "publishedVersion": 45, - "publishedAt": "2024-08-13T15:10:26.572Z", + "publishedVersion": 51, + "publishedAt": "2024-08-14T14:59:40.037Z", "firstPublishedAt": "2024-05-09T15:45:18.379Z", "createdBy": { "sys": { @@ -122,8 +122,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 23, - "version": 46, + "publishedCounter": 26, + "version": 52, "publishedBy": { "sys": { "type": "Link", @@ -322,7 +322,7 @@ "id": "methodsCatalogue", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.379Z", - "updatedAt": "2024-08-13T15:10:27.151Z", + "updatedAt": "2024-08-14T14:59:40.656Z", "environment": { "sys": { "id": "prod", @@ -330,8 +330,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:27.151Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:40.656Z", "firstPublishedAt": "2024-05-09T15:45:17.922Z", "createdBy": { "sys": { @@ -347,8 +347,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -429,7 +429,7 @@ "id": "helpCentreInformation", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.403Z", - "updatedAt": "2024-08-13T15:10:27.683Z", + "updatedAt": "2024-08-14T14:59:41.886Z", "environment": { "sys": { "id": "prod", @@ -437,8 +437,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:27.683Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:41.886Z", "firstPublishedAt": "2024-05-09T15:45:19.286Z", "createdBy": { "sys": { @@ -454,8 +454,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -522,7 +522,7 @@ "id": "privacycontent", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.412Z", - "updatedAt": "2024-08-13T15:10:28.335Z", + "updatedAt": "2024-08-14T14:59:43.519Z", "environment": { "sys": { "id": "prod", @@ -530,8 +530,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:28.335Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:43.519Z", "firstPublishedAt": "2024-05-09T15:45:19.916Z", "createdBy": { "sys": { @@ -547,8 +547,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -587,7 +587,7 @@ "id": "about", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.430Z", - "updatedAt": "2024-08-13T15:10:28.835Z", + "updatedAt": "2024-08-14T14:59:44.131Z", "environment": { "sys": { "id": "prod", @@ -595,8 +595,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:28.835Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:44.131Z", "firstPublishedAt": "2024-05-09T15:45:18.862Z", "createdBy": { "sys": { @@ -612,8 +612,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -652,7 +652,7 @@ "id": "helpCentreStructure", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.978Z", - "updatedAt": "2024-08-13T15:10:29.307Z", + "updatedAt": "2024-08-14T14:59:44.756Z", "environment": { "sys": { "id": "prod", @@ -660,8 +660,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:29.307Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:44.756Z", "firstPublishedAt": "2024-05-09T15:45:20.279Z", "createdBy": { "sys": { @@ -677,8 +677,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -728,7 +728,7 @@ "id": "accessibilityPage", "type": "ContentType", "createdAt": "2024-05-09T15:45:16.988Z", - "updatedAt": "2024-08-13T15:10:29.898Z", + "updatedAt": "2024-08-14T14:59:45.316Z", "environment": { "sys": { "id": "prod", @@ -736,8 +736,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:29.898Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:45.316Z", "firstPublishedAt": "2024-05-09T15:45:21.171Z", "createdBy": { "sys": { @@ -753,8 +753,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -804,7 +804,7 @@ "id": "helpCentreMethodRequest", "type": "ContentType", "createdAt": "2024-05-09T15:45:17.086Z", - "updatedAt": "2024-08-13T15:10:30.319Z", + "updatedAt": "2024-08-14T14:59:45.878Z", "environment": { "sys": { "id": "prod", @@ -812,8 +812,8 @@ "linkType": "Environment" } }, - "publishedVersion": 39, - "publishedAt": "2024-08-13T15:10:30.319Z", + "publishedVersion": 45, + "publishedAt": "2024-08-14T14:59:45.878Z", "firstPublishedAt": "2024-05-09T15:45:20.687Z", "createdBy": { "sys": { @@ -829,8 +829,8 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "publishedCounter": 20, - "version": 40, + "publishedCounter": 23, + "version": 46, "publishedBy": { "sys": { "type": "Link", @@ -900,6 +900,131 @@ "omitted": false } ] + }, + { + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "glossaryEntry", + "type": "ContentType", + "createdAt": "2024-08-27T09:19:09.455Z", + "updatedAt": "2024-08-27T09:19:09.897Z", + "environment": { + "sys": { + "id": "prod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-08-27T09:19:09.897Z", + "firstPublishedAt": "2024-08-27T09:19:09.897Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "0RE3J0ImbZ27ZHNVtOJhsd" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "0RE3J0ImbZ27ZHNVtOJhsd" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "0RE3J0ImbZ27ZHNVtOJhsd" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/content_types/glossaryEntry" + }, + "displayField": "id", + "name": "Glossary Entry", + "description": "", + "fields": [ + { + "id": "id", + "name": "ID", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "term", + "name": "term", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "meaning", + "name": "meaning", + "type": "Text", + "localized": false, + "required": true, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "relatedlist", + "name": "relatedlist", + "type": "Array", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false, + "items": { + "type": "Symbol", + "validations": [ + ] + } + }, + { + "id": "externalLinkTextShort", + "name": "external_link_text", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "externalUrl", + "name": "external_url", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + } + ] } ], "tags": [ @@ -916,7 +1041,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:17.596Z", "createdBy": { "sys": { @@ -925,7 +1050,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:32.607Z", + "updatedAt": "2024-08-14T14:59:48.729Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1042,7 +1167,7 @@ "linkType": "Space" } }, - "version": 43, + "version": 49, "createdAt": "2024-05-09T15:45:18.538Z", "createdBy": { "sys": { @@ -1051,7 +1176,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:33.549Z", + "updatedAt": "2024-08-14T14:59:48.421Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1266,7 +1391,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:18.071Z", "createdBy": { "sys": { @@ -1275,7 +1400,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:32.612Z", + "updatedAt": "2024-08-14T14:59:48.414Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1408,7 +1533,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:19.588Z", "createdBy": { "sys": { @@ -1417,7 +1542,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:32.611Z", + "updatedAt": "2024-08-14T14:59:47.798Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1478,7 +1603,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:19.965Z", "createdBy": { "sys": { @@ -1487,7 +1612,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:32.593Z", + "updatedAt": "2024-08-14T14:59:48.423Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1552,7 +1677,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:18.951Z", "createdBy": { "sys": { @@ -1561,7 +1686,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:33.559Z", + "updatedAt": "2024-08-14T14:59:47.799Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1606,7 +1731,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:20.382Z", "createdBy": { "sys": { @@ -1615,7 +1740,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:33.562Z", + "updatedAt": "2024-08-14T14:59:49.338Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1662,7 +1787,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:21.269Z", "createdBy": { "sys": { @@ -1671,7 +1796,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:33.581Z", + "updatedAt": "2024-08-14T14:59:49.339Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1720,7 +1845,7 @@ "linkType": "Space" } }, - "version": 40, + "version": 46, "createdAt": "2024-05-09T15:45:20.835Z", "createdBy": { "sys": { @@ -1729,7 +1854,7 @@ "linkType": "User" } }, - "updatedAt": "2024-08-13T15:10:33.586Z", + "updatedAt": "2024-08-14T14:59:49.337Z", "updatedBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1799,2395 +1924,86 @@ "widgetNamespace": "builtin" } ] - } - ], - "entries": [ + }, { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, "sys": { + "id": "default", + "type": "EditorInterface", "space": { "sys": { + "id": "h6k5tsc4ytaf", "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "240OpTHU9qKVueslnoYjWy", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.336Z", - "updatedAt": "2024-08-13T15:33:58.308Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" + "linkType": "Space" } }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:58.308Z", - "firstPublishedAt": "2024-08-13T15:33:58.308Z", + "version": 7, + "createdAt": "2024-08-27T09:19:10.084Z", "createdBy": { "sys": { + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "linkType": "User" } }, + "updatedAt": "2024-08-27T09:19:11.432Z", "updatedBy": { "sys": { + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" + "linkType": "User" } }, - "automationTags": [ - ], "contentType": { "sys": { + "id": "glossaryEntry", "type": "Link", - "linkType": "ContentType", - "id": "helpCentreStructure" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/240OpTHU9qKVueslnoYjWy" - }, - "fields": { - "structure": { - "en-US": { - "categories": [ - { - "name": "information", - "label": "Information", - "subcategories": [ - { - "name": "methods-request", - "label": "Submit a method request" - }, - { - "name": "version-methods", - "label": "How the methods are versioned" - }, - { - "name": "coding-standards", - "label": "Coding standards" - } - ] - }, - { - "name": "access", - "label": "Access (and usage)", - "subcategories": [ - { - "name": "view-methods", - "label": "Find and view methods" - }, - { - "name": "run-a-method", - "label": "Use a method" - } - ] - }, - { - "name": "feedback", - "label": "Feedback", - "subcategories": [ - { - "name": "report-bug", - "label": "Report a defect or bug" - }, - { - "name": "provide-feedback", - "label": "Provide feedback" - } - ] - }, - { - "name": "support", - "label": "Support", - "subcategories": [ - { - "name": "support", - "label": "Get support" - }, - { - "name": "expert-groups", - "label": "Get information on expert groups" - }, - { - "name": "troubleshooting", - "label": "Troubleshooting" - }, - { - "name": "github", - "label": "Using GitHub" - } - ] - } - ] - } - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" + "linkType": "ContentType" } }, - "id": "1PQFWq5r92jnyKqZnqtmrk", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.340Z", - "updatedAt": "2024-08-13T15:33:59.328Z", "environment": { "sys": { "id": "prod", "type": "Link", "linkType": "Environment" } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.328Z", - "firstPublishedAt": "2024-08-13T15:33:59.328Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1PQFWq5r92jnyKqZnqtmrk" + } }, - "fields": { - "id": { - "en-US": "cell-key-perturbation" - }, - "name": { - "en-US": "Cell Key Perturbation" - }, - "theme": { - "en-US": "Statistical Disclosure Control" - }, - "expertGroup": { - "en-US": "Statistical Disclosure Control" - }, - "language": { - "en-US": "Python & R" + "controls": [ + { + "fieldId": "id", + "widgetId": "singleLine", + "widgetNamespace": "builtin" }, - "author": { - "en-US": "ONS Community Method" + { + "fieldId": "term", + "widgetId": "singleLine", + "widgetNamespace": "builtin" }, - "description": { - "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation. These can also be used to apply rounding, and a threshold for small counts." + { + "fieldId": "meaning", + "widgetId": "markdown", + "widgetNamespace": "builtin" }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" + { + "fieldId": "relatedlist", + "widgetId": "tagEditor", + "widgetNamespace": "builtin" }, - "methodReady": { - "en-US": false + { + "fieldId": "externalLinkTextShort", + "widgetId": "singleLine", + "widgetNamespace": "builtin" }, - "releaseVersion": { - "en-US": "Not Released Yet" + { + "fieldId": "externalUrl", + "widgetId": "urlEditor", + "widgetNamespace": "builtin" } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3B4A7Fs3mnyEAzOgTaeHMn", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.345Z", - "updatedAt": "2024-08-13T15:33:59.353Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.353Z", - "firstPublishedAt": "2024-08-13T15:33:59.353Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "privacycontent" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3B4A7Fs3mnyEAzOgTaeHMn" - }, - "fields": { - "privacy_content": { - "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3yPRVuZ5tvZdP09NLOauEj", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.352Z", - "updatedAt": "2024-08-13T15:33:59.567Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.567Z", - "firstPublishedAt": "2024-08-13T15:33:59.567Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreMethodRequest" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3yPRVuZ5tvZdP09NLOauEj" - }, - "fields": { - "name": { - "en-US": "Help Centre Method Request" - }, - "internalUserTitle": { - "en-US": "I am an ONS internal user" - }, - "internalUserContent": { - "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - }, - "externalUserTitle": { - "en-US": "I am a user from outside the ONS" - }, - "externalUserContent": { - "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "51E73QFXqVNxRsoUxzcoSj", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.356Z", - "updatedAt": "2024-08-13T15:33:59.431Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.431Z", - "firstPublishedAt": "2024-08-13T15:33:59.431Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/51E73QFXqVNxRsoUxzcoSj" - }, - "fields": { - "id": { - "en-US": "thousand-pound-correction" - }, - "name": { - "en-US": "Thousand Pound Correction" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for thousand pounds correction is commonly used across ONS business surveys. It is a generic rule that uses user defined thresholds to automatically detect and correct thousand pounds errors. This is when the respondent should have reported values in thousands of pounds but has reported in actual pounds e.g., returned a value of £56,000 instead of correctly submitting 56.\n\nThe method checks the ratio of a principal variable against a suitable predictor variable and make an automatic correction if the calculated ratio is around 1000. The automatic correction is applied to all relevant variables for the respondent." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/editing/thousand_pounds/thousand_pounds.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/thousand_pounds_correction/thousand_pounds_correction.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/thousand-pound-correction/thousand_pound_correction.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "4GwadO5feNlF2biBAAZbfw", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.368Z", - "updatedAt": "2024-08-13T15:33:59.605Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.605Z", - "firstPublishedAt": "2024-08-13T15:33:59.605Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/4GwadO5feNlF2biBAAZbfw" - }, - "fields": { - "id": { - "en-US": "totals-and-components" - }, - "name": { - "en-US": "Totals and Components" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for totals and components correction is currently used in ONS business surveys to ensure fixed relationships between variables are satisfied. For example, when a total (e.g., total employment) is collected along with the component breakdown (e.g., full-time male, full-time female, part-time male, part-time female). The primary use of the method is to automatically detect and correct errors in respondent data where fixed relationships have not been satisfied to improve the efficiency of the editing process, reduce the burden on respondents and survey validators and improve overall data quality. This method can also be used to ensure fixed relationships between variables are satisfied in other data types such as imputed data to improve overall data quality." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/tree/main/sml_small/editing/totals_and_components/totals_and_components.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/totals_components/editing_and_imputation/totals_components.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/totals-and-components/totals-and-components.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "viM9TL5rdzMZITGCQBIbe", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.375Z", - "updatedAt": "2024-08-13T15:33:59.849Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.849Z", - "firstPublishedAt": "2024-08-13T15:33:59.849Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/viM9TL5rdzMZITGCQBIbe" - }, - "fields": { - "id": { - "en-US": "mean-of-ratios" - }, - "name": { - "en-US": "Mean of Ratios" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Mean of Ratios imputation is a standard imputation method for business surveys. It can be used to impute value for unit (complete) non-response or item (partial) non-response. There is an option to use trimming as the method can be influenced by extreme values. The method imputes a single numeric variable. It uses the relationship between the variable being imputed and an appropriate predictive or auxiliary variable.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/mean_of_ratios/technical_specification.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "5WaengmajUsGSEbXHxhu1r", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.390Z", - "updatedAt": "2024-08-13T15:33:59.932Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.932Z", - "firstPublishedAt": "2024-08-13T15:33:59.932Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5WaengmajUsGSEbXHxhu1r" - }, - "fields": { - "id": { - "en-US": "github" - }, - "title": { - "en-US": "Using GitHub" - }, - "content": { - "en-US": "This section contains useful links for anyone unfamiliar with Github, it provides some pointers to documentation that will help you use and navigate the system.\n\nFor general guidance consult the [Github documentation](https://docs.github.com/en) in the first instance\n#### Releases\n\nConsult the [Github guidance on navigating releases](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get an understanding of identifying where the release information can be found and how to search for a specific release.\n\nView the [Github release comparison documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get information on comparing different release versions and understanding how to use Github to determine the changes between releases.\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "5dA4wvX0V2tLHCnwvDEyI2", - "type": "Entry", - "createdAt": "2024-08-13T15:33:57.394Z", - "updatedAt": "2024-08-13T15:33:59.322Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:33:59.322Z", - "firstPublishedAt": "2024-08-13T15:33:59.322Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "accessibilityPage" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5dA4wvX0V2tLHCnwvDEyI2" - }, - "fields": { - "title": { - "en-US": "Accessibility Statement" - }, - "mainContent": { - "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "76zlJrhByCFNZlbKVA5AtB", - "type": "Entry", - "createdAt": "2024-08-13T15:33:58.320Z", - "updatedAt": "2024-08-13T15:34:00.293Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:00.293Z", - "firstPublishedAt": "2024-08-13T15:34:00.293Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/76zlJrhByCFNZlbKVA5AtB" - }, - "fields": { - "id": { - "en-US": "expert-groups" - }, - "title": { - "en-US": "Get information on expert groups" - }, - "content": { - "en-US": "Please visit [Expert groups](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3vD2v4Ma4DoxClPZgeQxdE", - "type": "Entry", - "createdAt": "2024-08-13T15:34:00.282Z", - "updatedAt": "2024-08-13T15:34:02.326Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:02.326Z", - "firstPublishedAt": "2024-08-13T15:34:02.326Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3vD2v4Ma4DoxClPZgeQxdE" - }, - "fields": { - "id": { - "en-US": "report-bug" - }, - "title": { - "en-US": "Report a defect or bug" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3nzjuL0uUBerLb5tQYGuq8", - "type": "Entry", - "createdAt": "2024-08-13T15:34:00.286Z", - "updatedAt": "2024-08-13T15:34:02.337Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:02.337Z", - "firstPublishedAt": "2024-08-13T15:34:02.337Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3nzjuL0uUBerLb5tQYGuq8" - }, - "fields": { - "id": { - "en-US": "view-methods" - }, - "title": { - "en-US": "Find and view methods" - }, - "content": { - "en-US": "You can find and view methods within the [methods catalogue](/methods)\n\nWhere available, links to GitHub for source code and specifications will be on the method's details page.\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "0HJkQZKUd1CyK7UypkxqB", - "type": "Entry", - "createdAt": "2024-08-13T15:34:00.289Z", - "updatedAt": "2024-08-13T15:34:02.345Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:02.345Z", - "firstPublishedAt": "2024-08-13T15:34:02.345Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/0HJkQZKUd1CyK7UypkxqB" - }, - "fields": { - "id": { - "en-US": "troubleshooting" - }, - "title": { - "en-US": "Troubleshooting" - }, - "content": { - "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve said issue. Providing a resource to help fix these issues as they occur in the future. \n\n#### Issues accessing a method on GitHub: \nWhen following the links to the projects stored on GitHub you may receive a 404 error. Please ensure you are logged into\nGitHub. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "7ePz4NOKkNuYxTCKGceI0o", - "type": "Entry", - "createdAt": "2024-08-13T15:34:00.291Z", - "updatedAt": "2024-08-13T15:34:02.344Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:02.344Z", - "firstPublishedAt": "2024-08-13T15:34:02.344Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7ePz4NOKkNuYxTCKGceI0o" - }, - "fields": { - "id": { - "en-US": "support" - }, - "title": { - "en-US": "Get support" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "6FVuaTke9hjBtzWOEuDexR", - "type": "Entry", - "createdAt": "2024-08-13T15:34:01.587Z", - "updatedAt": "2024-08-13T15:34:02.319Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:02.319Z", - "firstPublishedAt": "2024-08-13T15:34:02.319Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6FVuaTke9hjBtzWOEuDexR" - }, - "fields": { - "id": { - "en-US": "run-a-method" - }, - "title": { - "en-US": "Use a method" - }, - "content": { - "en-US": "1. Go to the GitHub repository page (linked to from method's details page in the catalogue), and click on \"Releases\". Find the release you want, noting any warnings or information about that version.\nRelease pages for both repositories can be found below:\n - [SML Python Small repository releases](https://github.com/ONSdigital/sml-python-small/releases)\n - [Statistical Methods Library releases](https://github.com/ONSdigital/statistical-methods-library/releases)\n2. Download the `.whl` (wheel) file of the release that you wish to install.\n3. On the command line run `pip install PATH_TO/some-file.whl` where that path represents the location on your computer that you downloaded the file.\n4. You should now have the method available to import into your python code.\n\nSpecific instructions on using the method will be found within the git repository for that method.\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "6WQ6Wtug7CnYQigqvDNH9S", - "type": "Entry", - "createdAt": "2024-08-13T15:34:01.677Z", - "updatedAt": "2024-08-13T15:34:04.306Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:04.306Z", - "firstPublishedAt": "2024-08-13T15:34:04.306Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6WQ6Wtug7CnYQigqvDNH9S" - }, - "fields": { - "id": { - "en-US": "coding-standards" - }, - "title": { - "en-US": "Coding standards" - }, - "content": { - "en-US": "Code will be written to internationally recognised standards and according to principles set out in these links:-\n\n* [Government Digital Service](https://gds-way.cloudapps.digital/#the-gds-way/)\n* [ONS Quality Assurance for Code and Analysis (Duck book)](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)\n* [ONS Digital Software Engineering Standards](https://github.com/ONSdigital/software-engineer-community/blob/master/standards/README.md)\n\nFor Python, this means it will adhere to the [PEP8 Python style guide](https://peps.python.org/pep-0008/) and the [GDS Python style guide.](https://gds-way.cloudapps.digital/manuals/programming-languages/python/python.html#content)\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "1dEel1rXrwQTW8p1DumqQT", - "type": "Entry", - "createdAt": "2024-08-13T15:34:02.301Z", - "updatedAt": "2024-08-13T15:34:04.319Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:04.319Z", - "firstPublishedAt": "2024-08-13T15:34:04.319Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1dEel1rXrwQTW8p1DumqQT" - }, - "fields": { - "id": { - "en-US": "date-adjustment" - }, - "name": { - "en-US": "Date Adjustment" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "37TwJlBJgUvgCRJ7Tq30pt", - "type": "Entry", - "createdAt": "2024-08-13T15:34:02.302Z", - "updatedAt": "2024-08-13T15:34:04.300Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:04.300Z", - "firstPublishedAt": "2024-08-13T15:34:04.300Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/37TwJlBJgUvgCRJ7Tq30pt" - }, - "fields": { - "id": { - "en-US": "provide-feedback" - }, - "title": { - "en-US": "Provide feedback" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3cCYV7jPz7iisw87gZvGgK", - "type": "Entry", - "createdAt": "2024-08-13T15:34:02.304Z", - "updatedAt": "2024-08-13T15:34:04.288Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:04.288Z", - "firstPublishedAt": "2024-08-13T15:34:04.288Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3cCYV7jPz7iisw87gZvGgK" - }, - "fields": { - "id": { - "en-US": "version-methods" - }, - "title": { - "en-US": "How the methods are versioned" - }, - "content": { - "en-US": "The Statistical Methods Library (SML) and the associated methods are versioned using semantic versioning comprised of a major, minor and patch release version separated by full stops (e.g 3.5.4). \n\nThere are separate releases of the libraries based on the method implementation, python/pandas or python/pySpark, and each library uses semantic versioning.\n\nThe major version is incremented (and minor and patch releases reset to zero) when backward incompatible changes are made (e.g renaming a pre-existing method function name).\n\nThe minor version is incremented (and the patch version reset to zero) when new features are added without breaking backward compatibility (e.g addition of a new statistical method)\n\nThe patch release version is incremented when backward compatible bugfixes are implemented.\n\nConsult the [SML python/pySpark release history in Github](https://github.com/ONSdigital/statistical-methods-library/releases) for the current and past releases for the python/pySpark methods and the [associated python/pySpark release notes](https://github.com/ONSdigital/statistical-methods-library/tree/main/docs/release-notes) to understand the changes between releases.\n\nConsult the [SML python/pandas release history in Github](https://github.com/ONSdigital/sml-python-small/releases) for the current and past releases for the python/pandas methods and the [associated python/pandas release notes](https://github.com/ONSdigital/sml-python-small/tree/main/docs/release-notes) to understand the changes between releases.\n\nFor further information about semantic versioning read the recommended [semantic versioning guidance](https://semver.org)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "7ald28ahkCJgBJu1oKhUmI", - "type": "Entry", - "createdAt": "2024-08-13T15:34:02.311Z", - "updatedAt": "2024-08-13T15:34:04.356Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:04.356Z", - "firstPublishedAt": "2024-08-13T15:34:04.356Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7ald28ahkCJgBJu1oKhUmI" - }, - "fields": { - "id": { - "en-US": "selective-editing" - }, - "name": { - "en-US": "Selective Editing" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Selective Editing is an internationally recognised editing method where potential errors are prioritised according to their expected effect on key outputs. Only respondents that are having an impact on published estimates will be recontacted.\n\nSelective Editing works by assigning a score to each important variable for a business where, the score reflects the impact that editing the respondent will have on the estimates. Only contributors with a high score are checked, low scoring contributors pass through unchecked." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/selective_editing.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/selective_editing/methodological_specification.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/selective-editing/selective_editing.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "6zPvs42JQdbLc1vCJMQUgs", - "type": "Entry", - "createdAt": "2024-08-13T15:34:04.275Z", - "updatedAt": "2024-08-13T15:34:05.482Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:05.482Z", - "firstPublishedAt": "2024-08-13T15:34:05.482Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6zPvs42JQdbLc1vCJMQUgs" - }, - "fields": { - "id": { - "en-US": "ratio-of-means" - }, - "name": { - "en-US": "Ratio of Means" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Ratio of means is a standard imputation method used for business surveys. The method imputes for each non-responding contributor a single numeric target variable within the dataset for multiple periods simultaneously. It uses the relationship between the target variable of interest and a predictive value and/or auxiliary variable to inform the imputed value. Due to its robust nature, it does not use any form of trimming or outliering.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/ratio_of_means/methodological_specification.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3uxHIlnhHqztRAuHNQ0CHA", - "type": "Entry", - "createdAt": "2024-08-13T15:34:04.341Z", - "updatedAt": "2024-08-13T15:34:06.024Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:06.024Z", - "firstPublishedAt": "2024-08-13T15:34:06.024Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3uxHIlnhHqztRAuHNQ0CHA" - }, - "fields": { - "id": { - "en-US": "winsorisation" - }, - "name": { - "en-US": "Winsorisation" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "In business surveys, some responses can be very large, and can distort estimates when such a business is selected. Consequently, it is sometimes desirable to reduce the effect of these businesses. This is known as outlier treatment. This SML method applies a technique known as one-sided winsorisation. The objective of the method is to introduce a small bias, while reducing the variance. This is intended to reduce the mean squared error of the total, a measure of overall accuracy. The method works for stratified expansion estimation and combined ratio estimation, which are commonly used in business surveys." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/specs_from_current_sml_pages/sample_design_and_estimation/Winsorisation/SML_Winsorization_Specification.docx.rst" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "68ETsCxLbjjKpd0j9fuvWk", - "type": "Entry", - "createdAt": "2024-08-13T15:34:04.355Z", - "updatedAt": "2024-08-13T15:34:06.239Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:06.239Z", - "firstPublishedAt": "2024-08-13T15:34:06.239Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/68ETsCxLbjjKpd0j9fuvWk" - }, - "fields": { - "id": { - "en-US": "ht-ratio-estimation" - }, - "name": { - "en-US": "Horvitz-Thompson Ratio Estimator" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Sampling in business surveys is often done using stratified simple random sampling without replacement. The largest businesses are usually selected with certainty. This SML method uses two approaches for estimating totals in such cases. The Horvitz-Thompson estimator in this case is known as a stratified expansion estimator, which is the simplest method used. We also use a combined ratio estimator. This is appropriate where there is a linear relationship through the origin between the target variable and an auxiliary variable we know for all units, and the scatter about the line increases with the size of the auxiliary variable." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Ready Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/sample_design_and_estimation/estimation/ht_estimation.rst" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "9aLYC0VKLFNUkzW8RYhUO", - "type": "Entry", - "createdAt": "2024-08-13T15:34:04.363Z", - "updatedAt": "2024-08-13T15:34:05.336Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:05.336Z", - "firstPublishedAt": "2024-08-13T15:34:05.336Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "about" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/9aLYC0VKLFNUkzW8RYhUO" - }, - "fields": { - "about": { - "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe statistical methods library is a central library for approved statistical methods for use within ONS and wider.\n\n## Overall mission\n\nThe Statistical Methods Library (SML) provides a central resource for consistent and reproducible statistical methods within the ONS and wider. The library ensures that methods for official statistical outputs are fully transparent. It provides proportionate governance and assurance processes, including peer review of methods for statistical production and analysis or exploration.\n\nThe library facilitates continuous improvement by providing users with the ability to add new methods or request changes to existing ones. It contains documentation on method specifications, how-to guidance and contact details for help and support. The SML will allow users to share methods and best practice with other government departments.\n\n## Current objectives\n\n- To act as a shared single point of reference for best practice methods and share methods across government departments.\n- To continuously update methods based on peer reviews, emerging facts and user feedback.\n- To provide clear evidence of audit and quality assurance for approved methods.\n\n## Future objectives\n- To standardise best practice methods across the ONS and government departments.\n- To act as a developmental tool, providing reference material and guides to approved methods.\n- To demonstrate, share and promote innovation in methodological practice across GSS/wider government.\n\n## Further information\nThe SML contains many features, including:\n\n- A catalogue of methods\n- Statistical methods specifications\n- A code repository\n- Downloadable Methods packages\n- Technical methods governance\n- A glossary of terms\n- How-to guidance" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "78d7qRmxYSzox6ccAwoPII", - "type": "Entry", - "createdAt": "2024-08-13T15:34:04.367Z", - "updatedAt": "2024-08-13T15:34:05.333Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:05.333Z", - "firstPublishedAt": "2024-08-13T15:34:05.333Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "methodsCatalogue" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/78d7qRmxYSzox6ccAwoPII" - }, - "fields": { - "heading1": { - "en-US": "Methods catalogue" - }, - "paragraph": { - "en-US": "Here you will discover statistical methods used by the Office for National Statistics." - }, - "detail": { - "en-US": "What are method themes and expert groups?" - }, - "detailContent": { - "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "5WYN3VRdVncydnbqCYupCM", - "type": "Entry", - "createdAt": "2024-08-13T15:34:05.425Z", - "updatedAt": "2024-08-13T15:34:06.223Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-08-13T15:34:06.223Z", - "firstPublishedAt": "2024-08-13T15:34:06.223Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "heroHomePage" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5WYN3VRdVncydnbqCYupCM" - }, - "fields": { - "heroTitle": { - "en-US": "An open source library for statistical code approved by the ONS" - }, - "heroButton": { - "en-US": "Find methods" - } - } + ] } ], + "entries": [ + ], "assets": [ ], "locales": [ diff --git a/contentful-data/migration-log.txt b/contentful-data/migration-log.txt index a05c3b553..8570ec158 100644 --- a/contentful-data/migration-log.txt +++ b/contentful-data/migration-log.txt @@ -77,31 +77,68 @@ Failing command: contentful space migration --space-id $SPACE_ID --management-to 2024.08.13-16.51.59: Migrated content from prod to dev 2024.08.13-16.54.18: Performed rollback on environment dev 2024.08.13-16.57.36: Migrated content from prod to dev -2024.10.08-10.24.21: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +2024.10.15-11.35.16: Migrated content from preprod to prod +2024.10.18-14.47.36: Migrated content from dev to preprod +2024.08.23-09.45.53: Migrated content from prod to preprod +2024.08.23-10.00.59: Migrated content from prod to preprod +2024.08.23-12.21.44: Error raised while auditing content from prod to preprod + - Failing command: contentful-merge create --space $SPACE_ID --source $base_environment --target $compare_environment --cda-token $MASTER_CDA_KEY --output-file ./contentful-data/migrations/${base_environment}-${compare_environment}-changeset.json - Exit code: 127 -2024.10.08-11.11.53: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +2024.08.23-12.38.54: Error raised while auditing content from prod to preprod + - Failing command: contentful-merge create --space $SPACE_ID --source $base_environment --target $compare_environment --cda-token $MASTER_CDA_KEY --output-file ./contentful-data/migrations/${base_environment}-${compare_environment}-changeset.json - Exit code: 127 -2024.10.08-11.13.32: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +2024.08.23-12.41.07: Error raised while auditing content from prod to preprod + - Failing command: contentful-merge create --space $SPACE_ID --source $base_environment --target $compare_environment --cda-token $MASTER_CDA_KEY --output-file ./contentful-data/migrations/${base_environment}-${compare_environment}-changeset.json - Exit code: 127 -2024.10.08-11.33.44: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json - - Exit code: 127 -2024.10.08-11.39.08: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json - - Exit code: 127 -2024.10.08-14.32.45: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +2024.08.23-12.43.10: Migrated content from prod to preprod +2024.08.23-12.50.04: Migrated content from prod to dev +2024.08.23-13.01.36: Migrated content from dev to prod +2024.08.27-10.11.14: Error raised while auditing content from dev to preprod + - Failing command: contentful-merge create --space $SPACE_ID --source $base_environment --target $compare_environment --cda-token $MASTER_CDA_KEY --output-file ./contentful-data/migrations/${base_environment}-${compare_environment}-changeset.json + - Exit code: 2 +2024.08.27-10.14.51: Migrated content from dev to preprod +2024.08.27-12.43.44: Error raised while auditing content from dev to preprod + - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $compare_environment --content-file ${target_environment}-export.json - Exit code: 1 -2024.10.08-14.34.10: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +2024.08.27-12.45.14: Error raised while auditing content from dev to preprod + - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $compare_environment --content-file ${compare_environment}-export.json - Exit code: 1 -2024.10.08-14.35.19: Error raised while migrating content from preprod to prod - - Failing command: contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +2024.08.27-12.49.11: Audited content between dev and preprod +2024.08.27-12.51.10: Performed rollback on environment preprod +2024.08.27-12.51.10: Audited content between dev and preprod +2024.08.27-15.16.56: Performed rollback on environment preprod +2024.08.27-15.16.56: Audited content between dev and preprod +2024.08.27-15.37.09: Performed rollback on environment preprod +2024.08.27-15.37.09: Audited content between dev and preprod +2024.09.06-12.56.39: Error raised while auditing content from dev to preprod + - Failing command: python contentful_webhook.py - Exit code: 1 -2024.10.08-14.37.16: Error raised while migrating content from preprod to prod - - Failing command: contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ./contentful-data/migrations/deletion-changeset.json - - Exit code: 127 -2024.10.08-15.14.12: Migrated content from preprod to prod +2024.09.06-13.00.23: Performed rollback on environment preprod +2024.09.06-13.00.24: Audited content between dev and preprod +2024.10.04-10.32.18: Error raised while migrating content from preprod to prod + - Failing command: contentful merge export --te $source_environment --se $target_environment --management-token $CLI_KEY --output-file ./contentful-data/rollbacks/${target_environment}-export.js + - Exit code: 1 +2024.10.04-10.36.20: Migrated content from preprod to prod +2024.10.09-11.58.22: Performed rollback on environment preprod +2024.10.09-11.58.23: Audited content between dev and preprod +2024.10.09-12.14.11: Performed rollback on environment prod +2024.10.09-12.14.34: Audited content between dev and preprod +2024.10.09-12.21.08: Audited content between dev and preprod +2024.10.09-12.21.34: Audited content between preprod and prod +2024.10.09-12.23.04: Audited content between preprod and prod +2024.10.23-11.13.19: Audited content between dev and preprod +2024.10.23-11.22.20: Audited content between dev and preprod +2024.10.23-13.51.24: Audited content between dev and preprod +2024.10.23-14.23.53: Error raised while auditing content from dev to preprod + - Failing command: python contentful_webhook.py + - Exit code: 2 +2024.10.23-14.24.35: Error raised while auditing content from dev to preprod + - Failing command: contentful merge export --te $compare_environment --se "$base_environment" --management-token $CLI_KEY --output-file ./contentful-data/audits/${compare_environment}-export.js + - Exit code: 1 +2024.10.23-14.25.11: Error raised while auditing content from dev to preprod + - Failing command: python sub_scripts/Contentful_audit.py ${base_environment}-${compare_environment}-changeset.json ${compare_environment} + - Exit code: 1 +2024.10.23-14.29.42: Error raised while migrating content from dev to preprod + - Failing command: python sub_scripts/deletion_changeset.py $target_environment ../contentful-data/rollbacks/${target_environment}-export.json + - Exit code: 1 +2024.10.23-14.30.36: Migrated content from dev to preprod diff --git a/contentful-data/migrations/deletion-changeset.json b/contentful-data/migrations/deletion-changeset.json index 4b726a2ba..f7d1c3a3e 100644 --- a/contentful-data/migrations/deletion-changeset.json +++ b/contentful-data/migrations/deletion-changeset.json @@ -1 +1 @@ -{"sys": {"type": "Changeset", "createdAt": "1728394636292", "space": {"sys": {"id": "h6k5tsc4ytaf", "linkType": "Space", "type": "Link"}}, "source": {"sys": {"id": "dev", "linkType": "Environment", "type": "Link"}}, "target": {"sys": {"id": "prod", "linkType": "Environment", "type": "Link"}}}, "items": [{"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "4GpXwiVIqopHyO33yxnSAA"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "bGW6DZuAqOTCrASxPzq3c"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5eYwt4est2ARh3hat0BL3r"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7IvVbD5tUwbzWeWPqwQP5n"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "240OpTHU9qKVueslnoYjWy"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1blaUAHFEY66NrdCtomp9k"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3MHWfCcqLpDHbc7NLLuNh6"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "2Oyrzj4Dkqn9LuNDxFZMnh"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6FVuaTke9hjBtzWOEuDexR"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6l2sPkpbSgUyoYr9x1OLX2"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6YIFLOQGzh9O370tgeARSq"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6lYqR80JEilHmlhyWOIpH2"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1JRjsMT7ZcjUvh0Rua1yJg"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6q41cYDJBtyVn44KO4MuQQ"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "01k3lWZ4f7T6FC6Vogvomn"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6oyEIyUgTSadgfgqXcchmR"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "11mx4pNTAuijgoH17sUAa3"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "2EV5TKiycZvUQvjKLpUCY5"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "79mygGJlikbZmNOLp9hU1V"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "hHSTKE9UpKOiCoB4aGkv5"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5jT96XUoyfeVejeaTTKakT"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1dEel1rXrwQTW8p1DumqQT"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7gaTewUF0sQXN7T36lIDyX"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1KlrkSlWVBd5dxHHcYKHGV"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "37TwJlBJgUvgCRJ7Tq30pt"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1PQFWq5r92jnyKqZnqtmrk"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5dA4wvX0V2tLHCnwvDEyI2"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1SzvT5lBJvPtZWnnfDbIJ4"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6Benijjye1q8xVSrb6AEG3"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6FEY1vfAQ1bNUjOxKoJ6zx"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "76zlJrhByCFNZlbKVA5AtB"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "73KZnVqhnsVFeuLRNMcf3A"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "4GwadO5feNlF2biBAAZbfw"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3yPRVuZ5tvZdP09NLOauEj"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "0HJkQZKUd1CyK7UypkxqB"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "51E73QFXqVNxRsoUxzcoSj"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7ePz4NOKkNuYxTCKGceI0o"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5WaengmajUsGSEbXHxhu1r"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3B4A7Fs3mnyEAzOgTaeHMn"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3cCYV7jPz7iisw87gZvGgK"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6WQ6Wtug7CnYQigqvDNH9S"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7ald28ahkCJgBJu1oKhUmI"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3vD2v4Ma4DoxClPZgeQxdE"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "78d7qRmxYSzox6ccAwoPII"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5WYN3VRdVncydnbqCYupCM"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3nzjuL0uUBerLb5tQYGuq8"}}}]} \ No newline at end of file +{"sys": {"type": "Changeset", "createdAt": "1729690213907", "space": {"sys": {"id": "h6k5tsc4ytaf", "linkType": "Space", "type": "Link"}}, "source": {"sys": {"id": "dev", "linkType": "Environment", "type": "Link"}}, "target": {"sys": {"id": "preprod", "linkType": "Environment", "type": "Link"}}}, "items": [{"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "01k3lWZ4f7T6FC6Vogvomn"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "bGW6DZuAqOTCrASxPzq3c"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5eYwt4est2ARh3hat0BL3r"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3MHWfCcqLpDHbc7NLLuNh6"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "0HJkQZKUd1CyK7UypkxqB"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6l2sPkpbSgUyoYr9x1OLX2"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "4GpXwiVIqopHyO33yxnSAA"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7ePz4NOKkNuYxTCKGceI0o"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6FVuaTke9hjBtzWOEuDexR"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1PQFWq5r92jnyKqZnqtmrk"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1JRjsMT7ZcjUvh0Rua1yJg"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "2Oyrzj4Dkqn9LuNDxFZMnh"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7IvVbD5tUwbzWeWPqwQP5n"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6q41cYDJBtyVn44KO4MuQQ"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "11mx4pNTAuijgoH17sUAa3"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6lYqR80JEilHmlhyWOIpH2"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "2EV5TKiycZvUQvjKLpUCY5"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5jT96XUoyfeVejeaTTKakT"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "79mygGJlikbZmNOLp9hU1V"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1blaUAHFEY66NrdCtomp9k"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "hHSTKE9UpKOiCoB4aGkv5"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6Benijjye1q8xVSrb6AEG3"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3yPRVuZ5tvZdP09NLOauEj"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5dA4wvX0V2tLHCnwvDEyI2"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6YIFLOQGzh9O370tgeARSq"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "73KZnVqhnsVFeuLRNMcf3A"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1KlrkSlWVBd5dxHHcYKHGV"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1SzvT5lBJvPtZWnnfDbIJ4"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "3B4A7Fs3mnyEAzOgTaeHMn"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6oyEIyUgTSadgfgqXcchmR"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7gaTewUF0sQXN7T36lIDyX"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "51E73QFXqVNxRsoUxzcoSj"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "6FEY1vfAQ1bNUjOxKoJ6zx"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "1dEel1rXrwQTW8p1DumqQT"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "4GwadO5feNlF2biBAAZbfw"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "78d7qRmxYSzox6ccAwoPII"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "5WYN3VRdVncydnbqCYupCM"}}}, {"changeType": "delete", "entity": {"sys": {"type": "Link", "linkType": "Entry", "id": "7ald28ahkCJgBJu1oKhUmI"}}}]} \ No newline at end of file diff --git a/contentful-data/migrations/dev-export.js b/contentful-data/migrations/dev-export.js index 5b8664e8e..6573ced59 100644 --- a/contentful-data/migrations/dev-export.js +++ b/contentful-data/migrations/dev-export.js @@ -1,4 +1,3 @@ function migrationFunction(migration, context) { - migration.deleteContentType("test") } module.exports = migrationFunction; diff --git a/contentful-data/migrations/prod-dev-changeset.json b/contentful-data/migrations/prod-dev-changeset.json index 2ac844921..0f7bb2d90 100644 --- a/contentful-data/migrations/prod-dev-changeset.json +++ b/contentful-data/migrations/prod-dev-changeset.json @@ -1,7 +1,7 @@ { "sys": { "type": "Changeset", - "createdAt": "1723564630420", + "createdAt": "1724413799845", "space": { "sys": { "id": "h6k5tsc4ytaf", @@ -26,1191 +26,222 @@ }, "items": [ { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "5dA4wvX0V2tLHCnwvDEyI2" - } - }, - "data": { - "sys": { - "id": "5dA4wvX0V2tLHCnwvDEyI2", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "accessibilityPage" - } - } - }, - "fields": { - "title": { - "en-US": "Accessibility Statement" - }, - "mainContent": { - "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" - } - } - } - }, - { - "changeType": "add", - "entity": { - "sys": { - "type": "Link", - "linkType": "Entry", - "id": "viM9TL5rdzMZITGCQBIbe" - } - }, - "data": { - "sys": { - "id": "viM9TL5rdzMZITGCQBIbe", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "mean-of-ratios" - }, - "name": { - "en-US": "Mean of Ratios" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Mean of Ratios imputation is a standard imputation method for business surveys. It can be used to impute value for unit (complete) non-response or item (partial) non-response. There is an option to use trimming as the method can be influenced by extreme values. The method imputes a single numeric variable. It uses the relationship between the variable being imputed and an appropriate predictive or auxiliary variable.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/mean_of_ratios/technical_specification.md" - } - } - } - }, - { - "changeType": "add", - "entity": { - "sys": { - "type": "Link", - "linkType": "Entry", - "id": "1dEel1rXrwQTW8p1DumqQT" - } - }, - "data": { - "sys": { - "id": "1dEel1rXrwQTW8p1DumqQT", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "date-adjustment" - }, - "name": { - "en-US": "Date Adjustment" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" - } - } - } - }, - { - "changeType": "add", - "entity": { - "sys": { - "type": "Link", - "linkType": "Entry", - "id": "240OpTHU9qKVueslnoYjWy" - } - }, - "data": { - "sys": { - "id": "240OpTHU9qKVueslnoYjWy", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreStructure" - } - } - }, - "fields": { - "structure": { - "en-US": { - "categories": [ - { - "name": "information", - "label": "Information", - "subcategories": [ - { - "name": "methods-request", - "label": "Submit a method request" - }, - { - "name": "version-methods", - "label": "How the methods are versioned" - }, - { - "name": "coding-standards", - "label": "Coding standards" - } - ] - }, - { - "name": "access", - "label": "Access (and usage)", - "subcategories": [ - { - "name": "view-methods", - "label": "Find and view methods" - }, - { - "name": "run-a-method", - "label": "Use a method" - } - ] - }, - { - "name": "feedback", - "label": "Feedback", - "subcategories": [ - { - "name": "report-bug", - "label": "Report a defect or bug" - }, - { - "name": "provide-feedback", - "label": "Provide feedback" - } - ] - }, - { - "name": "support", - "label": "Support", - "subcategories": [ - { - "name": "support", - "label": "Get support" - }, - { - "name": "expert-groups", - "label": "Get information on expert groups" - }, - { - "name": "troubleshooting", - "label": "Troubleshooting" - }, - { - "name": "github", - "label": "Using GitHub" - } - ] - } - ] - } - } - } - } - }, - { - "changeType": "add", - "entity": { - "sys": { - "type": "Link", - "linkType": "Entry", - "id": "3vD2v4Ma4DoxClPZgeQxdE" - } - }, - "data": { - "sys": { - "id": "3vD2v4Ma4DoxClPZgeQxdE", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "report-bug" - }, - "title": { - "en-US": "Report a defect or bug" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } + "id": "7IvVbD5tUwbzWeWPqwQP5n" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "7ePz4NOKkNuYxTCKGceI0o" - } - }, - "data": { - "sys": { - "id": "7ePz4NOKkNuYxTCKGceI0o", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "support" - }, - "title": { - "en-US": "Get support" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } + "id": "79mygGJlikbZmNOLp9hU1V" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "3yPRVuZ5tvZdP09NLOauEj" - } - }, - "data": { - "sys": { - "id": "3yPRVuZ5tvZdP09NLOauEj", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreMethodRequest" - } - } - }, - "fields": { - "name": { - "en-US": "Help Centre Method Request" - }, - "internalUserTitle": { - "en-US": "I am an ONS internal user" - }, - "internalUserContent": { - "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - }, - "externalUserTitle": { - "en-US": "I am a user from outside the ONS" - }, - "externalUserContent": { - "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." - } + "id": "73KZnVqhnsVFeuLRNMcf3A" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "1PQFWq5r92jnyKqZnqtmrk" - } - }, - "data": { - "sys": { - "id": "1PQFWq5r92jnyKqZnqtmrk", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "cell-key-perturbation" - }, - "name": { - "en-US": "Cell Key Perturbation" - }, - "theme": { - "en-US": "Statistical Disclosure Control" - }, - "expertGroup": { - "en-US": "Statistical Disclosure Control" - }, - "language": { - "en-US": "Python & R" - }, - "author": { - "en-US": "ONS Community Method" - }, - "description": { - "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation. These can also be used to apply rounding, and a threshold for small counts." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - } + "id": "2Oyrzj4Dkqn9LuNDxFZMnh" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "5WaengmajUsGSEbXHxhu1r" - } - }, - "data": { - "sys": { - "id": "5WaengmajUsGSEbXHxhu1r", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "github" - }, - "title": { - "en-US": "Using GitHub" - }, - "content": { - "en-US": "This section contains useful links for anyone unfamiliar with Github, it provides some pointers to documentation that will help you use and navigate the system.\n\nFor general guidance consult the [Github documentation](https://docs.github.com/en) in the first instance\n#### Releases\n\nConsult the [Github guidance on navigating releases](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get an understanding of identifying where the release information can be found and how to search for a specific release.\n\nView the [Github release comparison documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get information on comparing different release versions and understanding how to use Github to determine the changes between releases.\n" - } + "id": "11mx4pNTAuijgoH17sUAa3" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "4GwadO5feNlF2biBAAZbfw" - } - }, - "data": { - "sys": { - "id": "4GwadO5feNlF2biBAAZbfw", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "totals-and-components" - }, - "name": { - "en-US": "Totals and Components" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for totals and components correction is currently used in ONS business surveys to ensure fixed relationships between variables are satisfied. For example, when a total (e.g., total employment) is collected along with the component breakdown (e.g., full-time male, full-time female, part-time male, part-time female). The primary use of the method is to automatically detect and correct errors in respondent data where fixed relationships have not been satisfied to improve the efficiency of the editing process, reduce the burden on respondents and survey validators and improve overall data quality. This method can also be used to ensure fixed relationships between variables are satisfied in other data types such as imputed data to improve overall data quality." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/tree/main/sml_small/editing/totals_and_components/totals_and_components.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/totals_components/editing_and_imputation/totals_components.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/totals-and-components/totals-and-components.md" - } + "id": "01k3lWZ4f7T6FC6Vogvomn" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "3cCYV7jPz7iisw87gZvGgK" - } - }, - "data": { - "sys": { - "id": "3cCYV7jPz7iisw87gZvGgK", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "version-methods" - }, - "title": { - "en-US": "How the methods are versioned" - }, - "content": { - "en-US": "The Statistical Methods Library (SML) and the associated methods are versioned using semantic versioning comprised of a major, minor and patch release version separated by full stops (e.g 3.5.4). \n\nThere are separate releases of the libraries based on the method implementation, python/pandas or python/pySpark, and each library uses semantic versioning.\n\nThe major version is incremented (and minor and patch releases reset to zero) when backward incompatible changes are made (e.g renaming a pre-existing method function name).\n\nThe minor version is incremented (and the patch version reset to zero) when new features are added without breaking backward compatibility (e.g addition of a new statistical method)\n\nThe patch release version is incremented when backward compatible bugfixes are implemented.\n\nConsult the [SML python/pySpark release history in Github](https://github.com/ONSdigital/statistical-methods-library/releases) for the current and past releases for the python/pySpark methods and the [associated python/pySpark release notes](https://github.com/ONSdigital/statistical-methods-library/tree/main/docs/release-notes) to understand the changes between releases.\n\nConsult the [SML python/pandas release history in Github](https://github.com/ONSdigital/sml-python-small/releases) for the current and past releases for the python/pandas methods and the [associated python/pandas release notes](https://github.com/ONSdigital/sml-python-small/tree/main/docs/release-notes) to understand the changes between releases.\n\nFor further information about semantic versioning read the recommended [semantic versioning guidance](https://semver.org)." - } + "id": "6YIFLOQGzh9O370tgeARSq" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "37TwJlBJgUvgCRJ7Tq30pt" - } - }, - "data": { - "sys": { - "id": "37TwJlBJgUvgCRJ7Tq30pt", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "provide-feedback" - }, - "title": { - "en-US": "Provide feedback" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } + "id": "6q41cYDJBtyVn44KO4MuQQ" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "76zlJrhByCFNZlbKVA5AtB" - } - }, - "data": { - "sys": { - "id": "76zlJrhByCFNZlbKVA5AtB", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "expert-groups" - }, - "title": { - "en-US": "Get information on expert groups" - }, - "content": { - "en-US": "Please visit [Expert groups](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)." - } + "id": "6lYqR80JEilHmlhyWOIpH2" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "51E73QFXqVNxRsoUxzcoSj" - } - }, - "data": { - "sys": { - "id": "51E73QFXqVNxRsoUxzcoSj", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "thousand-pound-correction" - }, - "name": { - "en-US": "Thousand Pound Correction" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for thousand pounds correction is commonly used across ONS business surveys. It is a generic rule that uses user defined thresholds to automatically detect and correct thousand pounds errors. This is when the respondent should have reported values in thousands of pounds but has reported in actual pounds e.g., returned a value of £56,000 instead of correctly submitting 56.\n\nThe method checks the ratio of a principal variable against a suitable predictor variable and make an automatic correction if the calculated ratio is around 1000. The automatic correction is applied to all relevant variables for the respondent." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/editing/thousand_pounds/thousand_pounds.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/thousand_pounds_correction/thousand_pounds_correction.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/thousand-pound-correction/thousand_pound_correction.md" - } + "id": "6FEY1vfAQ1bNUjOxKoJ6zx" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "5WYN3VRdVncydnbqCYupCM" - } - }, - "data": { - "sys": { - "id": "5WYN3VRdVncydnbqCYupCM", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "heroHomePage" - } - } - }, - "fields": { - "heroTitle": { - "en-US": "An open source library for statistical code approved by the ONS" - }, - "heroButton": { - "en-US": "Find methods" - } + "id": "1KlrkSlWVBd5dxHHcYKHGV" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "3nzjuL0uUBerLb5tQYGuq8" - } - }, - "data": { - "sys": { - "id": "3nzjuL0uUBerLb5tQYGuq8", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "view-methods" - }, - "title": { - "en-US": "Find and view methods" - }, - "content": { - "en-US": "You can find and view methods within the [methods catalogue](/methods)\n\nWhere available, links to GitHub for source code and specifications will be on the method's details page.\n" - } + "id": "1SzvT5lBJvPtZWnnfDbIJ4" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "9aLYC0VKLFNUkzW8RYhUO" - } - }, - "data": { - "sys": { - "id": "9aLYC0VKLFNUkzW8RYhUO", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "about" - } - } - }, - "fields": { - "about": { - "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe statistical methods library is a central library for approved statistical methods for use within ONS and wider.\n\n## Overall mission\n\nThe Statistical Methods Library (SML) provides a central resource for consistent and reproducible statistical methods within the ONS and wider. The library ensures that methods for official statistical outputs are fully transparent. It provides proportionate governance and assurance processes, including peer review of methods for statistical production and analysis or exploration.\n\nThe library facilitates continuous improvement by providing users with the ability to add new methods or request changes to existing ones. It contains documentation on method specifications, how-to guidance and contact details for help and support. The SML will allow users to share methods and best practice with other government departments.\n\n## Current objectives\n\n- To act as a shared single point of reference for best practice methods and share methods across government departments.\n- To continuously update methods based on peer reviews, emerging facts and user feedback.\n- To provide clear evidence of audit and quality assurance for approved methods.\n\n## Future objectives\n- To standardise best practice methods across the ONS and government departments.\n- To act as a developmental tool, providing reference material and guides to approved methods.\n- To demonstrate, share and promote innovation in methodological practice across GSS/wider government.\n\n## Further information\nThe SML contains many features, including:\n\n- A catalogue of methods\n- Statistical methods specifications\n- A code repository\n- Downloadable Methods packages\n- Technical methods governance\n- A glossary of terms\n- How-to guidance" - } + "id": "5jT96XUoyfeVejeaTTKakT" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "3uxHIlnhHqztRAuHNQ0CHA" - } - }, - "data": { - "sys": { - "id": "3uxHIlnhHqztRAuHNQ0CHA", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "winsorisation" - }, - "name": { - "en-US": "Winsorisation" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "In business surveys, some responses can be very large, and can distort estimates when such a business is selected. Consequently, it is sometimes desirable to reduce the effect of these businesses. This is known as outlier treatment. This SML method applies a technique known as one-sided winsorisation. The objective of the method is to introduce a small bias, while reducing the variance. This is intended to reduce the mean squared error of the total, a measure of overall accuracy. The method works for stratified expansion estimation and combined ratio estimation, which are commonly used in business surveys." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/specs_from_current_sml_pages/sample_design_and_estimation/Winsorisation/SML_Winsorization_Specification.docx.rst" - } + "id": "6oyEIyUgTSadgfgqXcchmR" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "7ald28ahkCJgBJu1oKhUmI" - } - }, - "data": { - "sys": { - "id": "7ald28ahkCJgBJu1oKhUmI", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "selective-editing" - }, - "name": { - "en-US": "Selective Editing" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Selective Editing is an internationally recognised editing method where potential errors are prioritised according to their expected effect on key outputs. Only respondents that are having an impact on published estimates will be recontacted.\n\nSelective Editing works by assigning a score to each important variable for a business where, the score reflects the impact that editing the respondent will have on the estimates. Only contributors with a high score are checked, low scoring contributors pass through unchecked." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/selective_editing.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/selective_editing/methodological_specification.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/selective-editing/selective_editing.md" - } + "id": "bGW6DZuAqOTCrASxPzq3c" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "3B4A7Fs3mnyEAzOgTaeHMn" - } - }, - "data": { - "sys": { - "id": "3B4A7Fs3mnyEAzOgTaeHMn", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "privacycontent" - } - } - }, - "fields": { - "privacy_content": { - "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." - } + "id": "hHSTKE9UpKOiCoB4aGkv5" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "0HJkQZKUd1CyK7UypkxqB" - } - }, - "data": { - "sys": { - "id": "0HJkQZKUd1CyK7UypkxqB", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "troubleshooting" - }, - "title": { - "en-US": "Troubleshooting" - }, - "content": { - "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve said issue. Providing a resource to help fix these issues as they occur in the future. \n\n#### Issues accessing a method on GitHub: \nWhen following the links to the projects stored on GitHub you may receive a 404 error. Please ensure you are logged into\nGitHub. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." - } + "id": "2EV5TKiycZvUQvjKLpUCY5" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "6WQ6Wtug7CnYQigqvDNH9S" - } - }, - "data": { - "sys": { - "id": "6WQ6Wtug7CnYQigqvDNH9S", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "coding-standards" - }, - "title": { - "en-US": "Coding standards" - }, - "content": { - "en-US": "Code will be written to internationally recognised standards and according to principles set out in these links:-\n\n* [Government Digital Service](https://gds-way.cloudapps.digital/#the-gds-way/)\n* [ONS Quality Assurance for Code and Analysis (Duck book)](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)\n* [ONS Digital Software Engineering Standards](https://github.com/ONSdigital/software-engineer-community/blob/master/standards/README.md)\n\nFor Python, this means it will adhere to the [PEP8 Python style guide](https://peps.python.org/pep-0008/) and the [GDS Python style guide.](https://gds-way.cloudapps.digital/manuals/programming-languages/python/python.html#content)\n" - } + "id": "5eYwt4est2ARh3hat0BL3r" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "6FVuaTke9hjBtzWOEuDexR" - } - }, - "data": { - "sys": { - "id": "6FVuaTke9hjBtzWOEuDexR", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - } - }, - "fields": { - "id": { - "en-US": "run-a-method" - }, - "title": { - "en-US": "Use a method" - }, - "content": { - "en-US": "1. Go to the GitHub repository page (linked to from method's details page in the catalogue), and click on \"Releases\". Find the release you want, noting any warnings or information about that version.\nRelease pages for both repositories can be found below:\n - [SML Python Small repository releases](https://github.com/ONSdigital/sml-python-small/releases)\n - [Statistical Methods Library releases](https://github.com/ONSdigital/statistical-methods-library/releases)\n2. Download the `.whl` (wheel) file of the release that you wish to install.\n3. On the command line run `pip install PATH_TO/some-file.whl` where that path represents the location on your computer that you downloaded the file.\n4. You should now have the method available to import into your python code.\n\nSpecific instructions on using the method will be found within the git repository for that method.\n" - } + "id": "3MHWfCcqLpDHbc7NLLuNh6" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "6zPvs42JQdbLc1vCJMQUgs" - } - }, - "data": { - "sys": { - "id": "6zPvs42JQdbLc1vCJMQUgs", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "ratio-of-means" - }, - "name": { - "en-US": "Ratio of Means" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Ratio of means is a standard imputation method used for business surveys. The method imputes for each non-responding contributor a single numeric target variable within the dataset for multiple periods simultaneously. It uses the relationship between the target variable of interest and a predictive value and/or auxiliary variable to inform the imputed value. Due to its robust nature, it does not use any form of trimming or outliering.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Released Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/ratio_of_means/methodological_specification.md" - } + "id": "1JRjsMT7ZcjUvh0Rua1yJg" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "78d7qRmxYSzox6ccAwoPII" - } - }, - "data": { - "sys": { - "id": "78d7qRmxYSzox6ccAwoPII", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "methodsCatalogue" - } - } - }, - "fields": { - "heading1": { - "en-US": "Methods catalogue" - }, - "paragraph": { - "en-US": "Here you will discover statistical methods used by the Office for National Statistics." - }, - "detail": { - "en-US": "What are method themes and expert groups?" - }, - "detailContent": { - "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" - } + "id": "6l2sPkpbSgUyoYr9x1OLX2" } } }, { - "changeType": "add", + "changeType": "delete", "entity": { "sys": { "type": "Link", "linkType": "Entry", - "id": "68ETsCxLbjjKpd0j9fuvWk" - } - }, - "data": { - "sys": { - "id": "68ETsCxLbjjKpd0j9fuvWk", - "type": "Entry", - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - } - }, - "fields": { - "id": { - "en-US": "ht-ratio-estimation" - }, - "name": { - "en-US": "Horvitz-Thompson Ratio Estimator" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Sampling in business surveys is often done using stratified simple random sampling without replacement. The largest businesses are usually selected with certainty. This SML method uses two approaches for estimating totals in such cases. The Horvitz-Thompson estimator in this case is known as a stratified expansion estimator, which is the simplest method used. We also use a combined ratio estimator. This is appropriate where there is a linear relationship through the origin between the target variable and an auxiliary variable we know for all units, and the scatter about the line increases with the size of the auxiliary variable." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Ready Yet" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/sample_design_and_estimation/estimation/ht_estimation.rst" - } + "id": "6Benijjye1q8xVSrb6AEG3" } } } diff --git a/contentful-data/rollbacks/preprod-export.js b/contentful-data/rollbacks/preprod-export.js index 5b8664e8e..6573ced59 100644 --- a/contentful-data/rollbacks/preprod-export.js +++ b/contentful-data/rollbacks/preprod-export.js @@ -1,4 +1,3 @@ function migrationFunction(migration, context) { - migration.deleteContentType("test") } module.exports = migrationFunction; diff --git a/contentful-data/rollbacks/preprod-export.json b/contentful-data/rollbacks/preprod-export.json index 5d2e22975..de63dbda1 100644 --- a/contentful-data/rollbacks/preprod-export.json +++ b/contentful-data/rollbacks/preprod-export.json @@ -6,13 +6,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "heroHomePage", "type": "ContentType", - "createdAt": "2022-12-27T00:23:10.109Z", - "updatedAt": "2024-04-11T15:55:49.732Z", + "createdAt": "2024-05-09T15:45:16.195Z", + "updatedAt": "2024-10-09T10:57:51.563Z", "environment": { "sys": { "id": "preprod", @@ -20,33 +20,33 @@ "linkType": "Environment" } }, - "publishedVersion": 117, - "publishedAt": "2024-04-11T15:55:49.732Z", - "firstPublishedAt": "2022-12-27T00:23:10.514Z", + "publishedVersion": 19, + "publishedAt": "2024-10-09T10:57:51.563Z", + "firstPublishedAt": "2024-05-09T15:45:17.455Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 59, - "version": 118, + "publishedCounter": 10, + "version": 20, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/heroHomePage" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/heroHomePage" }, "displayField": "heroTitle", "name": "Home Page", @@ -91,120 +91,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "methodsCatalogue", - "type": "ContentType", - "createdAt": "2022-12-27T00:25:24.006Z", - "updatedAt": "2024-04-11T15:55:50.460Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 127, - "publishedAt": "2024-04-11T15:55:50.460Z", - "firstPublishedAt": "2022-12-27T00:25:24.279Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "publishedCounter": 64, - "version": 128, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/methodsCatalogue" - }, - "displayField": "heading1", - "name": "Methods Catalogue Page", - "description": "The content model for the methods catalogue page.", - "fields": [ - { - "id": "heading1", - "name": "Title", - "type": "Symbol", - "localized": false, - "required": true, - "validations": [ - { - "unique": true - } - ], - "disabled": false, - "omitted": false - }, - { - "id": "paragraph", - "name": "Paragraph", - "type": "Symbol", - "localized": false, - "required": true, - "validations": [ - { - "unique": true - } - ], - "disabled": false, - "omitted": false - }, - { - "id": "detail", - "name": "Detail Text", - "type": "Symbol", - "localized": false, - "required": true, - "validations": [ - { - "unique": true - } - ], - "disabled": false, - "omitted": false - }, - { - "id": "detailContent", - "name": "Detail Content", - "type": "Text", - "localized": false, - "required": true, - "validations": [ - ], - "disabled": false, - "omitted": false - } - ] - }, - { - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "catalogueTableOfMethods2", "type": "ContentType", - "createdAt": "2022-12-27T17:42:16.833Z", - "updatedAt": "2024-04-11T15:55:50.999Z", + "createdAt": "2024-05-09T15:45:16.239Z", + "updatedAt": "2024-10-09T10:57:52.197Z", "environment": { "sys": { "id": "preprod", @@ -212,37 +105,37 @@ "linkType": "Environment" } }, - "publishedVersion": 269, - "publishedAt": "2024-04-11T15:55:50.999Z", - "firstPublishedAt": "2022-12-27T17:42:17.269Z", + "publishedVersion": 25, + "publishedAt": "2024-10-09T10:57:52.197Z", + "firstPublishedAt": "2024-05-09T15:45:18.379Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 135, - "version": 270, + "publishedCounter": 13, + "version": 26, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/catalogueTableOfMethods2" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/catalogueTableOfMethods2" }, "displayField": "id", - "name": "Methods Table", - "description": "This is the content model for adding items to the methods table that is on the methods catalogue page.", + "name": "Methods Table and Summary", + "description": "This is the content model for adding a new method to the catalogue.", "fields": [ { "id": "id", @@ -265,9 +158,6 @@ "localized": false, "required": true, "validations": [ - { - "unique": true - } ], "disabled": false, "omitted": false @@ -382,8 +272,8 @@ "required": false, "validations": [ ], - "disabled": false, - "omitted": false + "disabled": true, + "omitted": true }, { "id": "codeLink", @@ -426,13 +316,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "about", + "id": "methodsCatalogue", "type": "ContentType", - "createdAt": "2022-12-28T03:44:01.571Z", - "updatedAt": "2024-04-11T15:55:51.590Z", + "createdAt": "2024-05-09T15:45:16.379Z", + "updatedAt": "2024-10-09T10:57:52.670Z", "environment": { "sys": { "id": "preprod", @@ -440,41 +330,83 @@ "linkType": "Environment" } }, - "publishedVersion": 102, - "publishedAt": "2024-04-11T15:55:51.590Z", - "firstPublishedAt": "2022-12-28T03:44:01.938Z", + "publishedVersion": 19, + "publishedAt": "2024-10-09T10:57:52.670Z", + "firstPublishedAt": "2024-05-09T15:45:17.922Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 51, - "version": 103, + "publishedCounter": 10, + "version": 20, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/about" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/methodsCatalogue" }, - "displayField": "about", - "name": "About Page", - "description": "This is the content model for displaying content on the about page. This uses Markdown (enables you to embed links etc onto the page).", + "displayField": "heading1", + "name": "Methods Catalogue Page", + "description": "The content model for the methods catalogue page.", "fields": [ { - "id": "about", - "name": "About Page Content", + "id": "heading1", + "name": "Title", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "unique": true + } + ], + "disabled": false, + "omitted": false + }, + { + "id": "paragraph", + "name": "Paragraph", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "unique": true + } + ], + "disabled": false, + "omitted": false + }, + { + "id": "detail", + "name": "Detail Text", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "unique": true + } + ], + "disabled": false, + "omitted": false + }, + { + "id": "detailContent", + "name": "Detail Content", "type": "Text", "localized": false, "required": true, @@ -491,13 +423,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "helpCentreInformation", "type": "ContentType", - "createdAt": "2023-01-20T15:30:32.071Z", - "updatedAt": "2024-04-11T15:55:52.032Z", + "createdAt": "2024-05-09T15:45:16.403Z", + "updatedAt": "2024-10-18T13:47:12.013Z", "environment": { "sys": { "id": "preprod", @@ -505,33 +437,33 @@ "linkType": "Environment" } }, - "publishedVersion": 120, - "publishedAt": "2024-04-11T15:55:52.032Z", - "firstPublishedAt": "2023-01-20T15:30:32.480Z", + "publishedVersion": 26, + "publishedAt": "2024-10-18T13:47:12.013Z", + "firstPublishedAt": "2024-05-09T15:45:19.286Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 60, - "version": 121, + "publishedCounter": 13, + "version": 27, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/helpCentreInformation" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/helpCentreInformation" }, "displayField": "id", "name": "Help Centre", @@ -575,6 +507,26 @@ ], "disabled": false, "omitted": false + }, + { + "id": "help_centre_category", + "name": "Category", + "type": "Symbol", + "localized": false, + "required": true, + "validations": [ + { + "in": [ + "Information", + "Feedback", + "Support", + "Accessing Methods" + ], + "message": "Please select a category from the drop down menu" + } + ], + "disabled": false, + "omitted": false } ] }, @@ -584,13 +536,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "privacycontent", "type": "ContentType", - "createdAt": "2023-11-14T13:44:21.564Z", - "updatedAt": "2024-04-11T15:55:52.500Z", + "createdAt": "2024-05-09T15:45:16.412Z", + "updatedAt": "2024-10-09T10:57:53.675Z", "environment": { "sys": { "id": "preprod", @@ -598,33 +550,33 @@ "linkType": "Environment" } }, - "publishedVersion": 111, - "publishedAt": "2024-04-11T15:55:52.500Z", - "firstPublishedAt": "2023-11-14T13:44:21.906Z", + "publishedVersion": 18, + "publishedAt": "2024-10-09T10:57:53.675Z", + "firstPublishedAt": "2024-05-09T15:45:19.916Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 55, - "version": 112, + "publishedCounter": 9, + "version": 19, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/privacycontent" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/privacycontent" }, "displayField": "privacy_content", "name": "Privacy Page", @@ -649,13 +601,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "helpCentreStructure", + "id": "about", "type": "ContentType", - "createdAt": "2023-11-28T12:32:31.408Z", - "updatedAt": "2024-04-11T15:55:53.152Z", + "createdAt": "2024-05-09T15:45:16.430Z", + "updatedAt": "2024-10-09T10:57:54.070Z", "environment": { "sys": { "id": "preprod", @@ -663,9 +615,9 @@ "linkType": "Environment" } }, - "publishedVersion": 95, - "publishedAt": "2024-04-11T15:55:53.152Z", - "firstPublishedAt": "2023-11-28T12:32:31.794Z", + "publishedVersion": 19, + "publishedAt": "2024-10-09T10:57:54.070Z", + "firstPublishedAt": "2024-05-09T15:45:18.862Z", "createdBy": { "sys": { "type": "Link", @@ -677,39 +629,104 @@ "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 47, - "version": 96, + "publishedCounter": 10, + "version": 20, "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/about" + }, + "displayField": "about", + "name": "About Page", + "description": "This is the content model for displaying content on the about page. This uses Markdown (enables you to embed links etc onto the page).", + "fields": [ + { + "id": "about", + "name": "About Page Content", + "type": "Text", + "localized": false, + "required": true, + "validations": [ + ], + "disabled": false, + "omitted": false + } + ] + }, + { + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "accessibilityPage", + "type": "ContentType", + "createdAt": "2024-05-09T15:45:16.988Z", + "updatedAt": "2024-10-09T10:57:55.055Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 18, + "publishedAt": "2024-10-09T10:57:55.055Z", + "firstPublishedAt": "2024-05-09T15:45:21.171Z", + "createdBy": { "sys": { "type": "Link", "linkType": "User", "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/helpCentreStructure" + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 9, + "version": 19, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/accessibilityPage" }, - "displayField": "name", - "name": "Help Centre Structure", - "description": "test model to discover the best way to implement the help centre", + "displayField": "title", + "name": "Accessibility Page", + "description": "", "fields": [ { - "id": "name", - "name": "name", + "id": "title", + "name": "Title", "type": "Symbol", "localized": false, - "required": false, + "required": true, "validations": [ ], "disabled": false, - "omitted": true + "omitted": false }, { - "id": "structure", - "name": "structure", - "type": "Object", + "id": "mainContent", + "name": "Main content", + "type": "Text", "localized": false, "required": true, "validations": [ @@ -725,13 +742,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "helpCentreMethodRequest", "type": "ContentType", - "createdAt": "2023-11-30T17:08:47.100Z", - "updatedAt": "2024-04-11T15:55:53.664Z", + "createdAt": "2024-05-09T15:45:17.086Z", + "updatedAt": "2024-10-09T10:57:55.644Z", "environment": { "sys": { "id": "preprod", @@ -739,9 +756,9 @@ "linkType": "Environment" } }, - "publishedVersion": 107, - "publishedAt": "2024-04-11T15:55:53.664Z", - "firstPublishedAt": "2023-11-30T17:08:47.583Z", + "publishedVersion": 18, + "publishedAt": "2024-10-09T10:57:55.644Z", + "firstPublishedAt": "2024-05-09T15:45:20.687Z", "createdBy": { "sys": { "type": "Link", @@ -753,19 +770,19 @@ "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 53, - "version": 108, + "publishedCounter": 9, + "version": 19, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/helpCentreMethodRequest" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/helpCentreMethodRequest" }, "displayField": "name", "name": "Help Centre Method Request", @@ -834,13 +851,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "accessibilityPage", + "id": "glossaryEntry", "type": "ContentType", - "createdAt": "2024-01-04T11:41:42.321Z", - "updatedAt": "2024-04-11T15:55:54.231Z", + "createdAt": "2024-08-27T09:22:22.840Z", + "updatedAt": "2024-10-09T10:57:56.178Z", "environment": { "sys": { "id": "preprod", @@ -848,9 +865,9 @@ "linkType": "Environment" } }, - "publishedVersion": 91, - "publishedAt": "2024-04-11T15:55:54.231Z", - "firstPublishedAt": "2024-01-04T11:41:42.725Z", + "publishedVersion": 13, + "publishedAt": "2024-10-09T10:57:56.178Z", + "firstPublishedAt": "2024-08-27T09:22:23.214Z", "createdBy": { "sys": { "type": "Link", @@ -862,27 +879,38 @@ "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 45, - "version": 92, + "publishedCounter": 7, + "version": 14, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/content_types/accessibilityPage" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/content_types/glossaryEntry" }, - "displayField": "title", - "name": "Accessibility Page", + "displayField": "id", + "name": "Glossary Entry", "description": "", "fields": [ { - "id": "title", - "name": "Title", + "id": "id", + "name": "ID", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "term", + "name": "term", "type": "Symbol", "localized": false, "required": true, @@ -892,8 +920,8 @@ "omitted": false }, { - "id": "mainContent", - "name": "Main content", + "id": "meaning", + "name": "meaning", "type": "Text", "localized": false, "required": true, @@ -901,6 +929,44 @@ ], "disabled": false, "omitted": false + }, + { + "id": "relatedlist", + "name": "relatedlist", + "type": "Array", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false, + "items": { + "type": "Symbol", + "validations": [ + ] + } + }, + { + "id": "externalLinkTextShort", + "name": "external_link_text", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false + }, + { + "id": "externalUrl", + "name": "external_url", + "type": "Symbol", + "localized": false, + "required": false, + "validations": [ + ], + "disabled": false, + "omitted": false } ] } @@ -914,24 +980,24 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 116, - "createdAt": "2022-12-27T00:23:10.567Z", + "version": 19, + "createdAt": "2024-05-09T15:45:17.596Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:55.765Z", + "updatedAt": "2024-10-09T10:57:58.844Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } @@ -955,20 +1021,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "sidebar": [ @@ -1040,31 +1106,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 126, - "createdAt": "2022-12-27T00:25:24.375Z", + "version": 24, + "createdAt": "2024-05-09T15:45:18.538Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:55.942Z", + "updatedAt": "2024-10-09T10:57:57.987Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "methodsCatalogue", + "id": "catalogueTableOfMethods2", "type": "Link", "linkType": "ContentType" } @@ -1078,12 +1144,6 @@ } }, "editors": [ - { - "settings": { - }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" - }, { "settings": { }, @@ -1095,148 +1155,12 @@ }, "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" - } - ], - "sidebar": [ - { - "settings": { - }, - "widgetId": "66frtrAqmWSowDJzQNDiD", - "widgetNamespace": "app" - }, - { - "settings": { - }, - "widgetId": "703nAvCC2nuDjQCiI5P8e2", - "widgetNamespace": "app" - }, - { - "settings": { - }, - "widgetId": "publication-widget", - "widgetNamespace": "sidebar-builtin" - }, - { - "settings": { - }, - "widgetId": "content-preview-widget", - "widgetNamespace": "sidebar-builtin" - }, - { - "settings": { - }, - "widgetId": "incoming-links-widget", - "widgetNamespace": "sidebar-builtin" - }, - { - "settings": { - }, - "widgetId": "translation-widget", - "widgetNamespace": "sidebar-builtin" - }, - { - "settings": { - }, - "widgetId": "versions-widget", - "widgetNamespace": "sidebar-builtin" - } - ], - "controls": [ - { - "fieldId": "heading1", - "settings": { - "helpText": "E.g. All methods" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "paragraph", - "settings": { - "helpText": "E.g. Here you will discover statistical methods used by the Office for National Statistics." - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "detail", - "settings": { - "helpText": "E.g. What are method themes and expert groups?" - }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" - }, - { - "fieldId": "detailContent", - "settings": { - "helpText": "Please enter the text you want to display." - }, - "widgetId": "markdown", - "widgetNamespace": "builtin" - } - ] - }, - { - "sys": { - "id": "default", - "type": "EditorInterface", - "space": { - "sys": { - "id": "ldcm7uk1vtxb", - "type": "Link", - "linkType": "Space" - } - }, - "version": 268, - "createdAt": "2022-12-27T17:42:17.357Z", - "createdBy": { - "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", - "type": "Link", - "linkType": "User" - } - }, - "updatedAt": "2024-04-11T15:55:55.771Z", - "updatedBy": { - "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", - "type": "Link", - "linkType": "User" - } - }, - "contentType": { - "sys": { - "id": "catalogueTableOfMethods2", - "type": "Link", - "linkType": "ContentType" - } }, - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - } - }, - "editors": [ { "settings": { }, "widgetId": "69mKkEFmMO9ue4lwWfto2C", "widgetNamespace": "app" - }, - { - "settings": { - }, - "widgetId": "default-editor", - "widgetNamespace": "editor-builtin" - }, - { - "settings": { - }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" } ], "sidebar": [ @@ -1406,31 +1330,31 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 101, - "createdAt": "2022-12-28T03:44:02.051Z", + "version": 19, + "createdAt": "2024-05-09T15:45:18.071Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:55.772Z", + "updatedAt": "2024-10-09T10:57:58.693Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "about", + "id": "methodsCatalogue", "type": "Link", "linkType": "ContentType" } @@ -1443,68 +1367,156 @@ } } }, - "controls": [ + "editors": [ { - "fieldId": "about", "settings": { - "helpText": "Please enter the text you want to display on the about page." }, - "widgetId": "markdown", - "widgetNamespace": "builtin" - } - ] - }, - { - "sys": { - "id": "default", - "type": "EditorInterface", - "space": { - "sys": { - "id": "ldcm7uk1vtxb", - "type": "Link", - "linkType": "Space" - } - }, - "version": 119, - "createdAt": "2023-01-20T15:30:32.530Z", - "createdBy": { - "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", - "type": "Link", - "linkType": "User" - } - }, - "updatedAt": "2024-04-11T15:55:55.959Z", - "updatedBy": { - "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", - "type": "Link", - "linkType": "User" - } - }, - "contentType": { - "sys": { - "id": "helpCentreInformation", - "type": "Link", - "linkType": "ContentType" - } + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - } - }, - "controls": [ { - "fieldId": "id", "settings": { - "helpText": "Please enter an ID for this content." }, - "widgetId": "singleLine", - "widgetNamespace": "builtin" + "widgetId": "tags-editor", + "widgetNamespace": "editor-builtin" + }, + { + "settings": { + }, + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" + } + ], + "sidebar": [ + { + "settings": { + }, + "widgetId": "66frtrAqmWSowDJzQNDiD", + "widgetNamespace": "app" + }, + { + "settings": { + }, + "widgetId": "703nAvCC2nuDjQCiI5P8e2", + "widgetNamespace": "app" + }, + { + "settings": { + }, + "widgetId": "publication-widget", + "widgetNamespace": "sidebar-builtin" + }, + { + "settings": { + }, + "widgetId": "content-preview-widget", + "widgetNamespace": "sidebar-builtin" + }, + { + "settings": { + }, + "widgetId": "incoming-links-widget", + "widgetNamespace": "sidebar-builtin" + }, + { + "settings": { + }, + "widgetId": "translation-widget", + "widgetNamespace": "sidebar-builtin" + }, + { + "settings": { + }, + "widgetId": "versions-widget", + "widgetNamespace": "sidebar-builtin" + } + ], + "controls": [ + { + "fieldId": "heading1", + "settings": { + "helpText": "E.g. All methods" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "paragraph", + "settings": { + "helpText": "E.g. Here you will discover statistical methods used by the Office for National Statistics." + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "detail", + "settings": { + "helpText": "E.g. What are method themes and expert groups?" + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "detailContent", + "settings": { + "helpText": "Please enter the text you want to display." + }, + "widgetId": "markdown", + "widgetNamespace": "builtin" + } + ] + }, + { + "sys": { + "id": "default", + "type": "EditorInterface", + "space": { + "sys": { + "id": "h6k5tsc4ytaf", + "type": "Link", + "linkType": "Space" + } + }, + "version": 24, + "createdAt": "2024-05-09T15:45:19.588Z", + "createdBy": { + "sys": { + "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "type": "Link", + "linkType": "User" + } + }, + "updatedAt": "2024-10-18T13:47:12.814Z", + "updatedBy": { + "sys": { + "id": "7BqQQLssfY5nUeZr8AO3cF", + "type": "Link", + "linkType": "User" + } + }, + "contentType": { + "sys": { + "id": "helpCentreInformation", + "type": "Link", + "linkType": "ContentType" + } + }, + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + } + }, + "controls": [ + { + "fieldId": "id", + "settings": { + "helpText": "Please enter an ID for this content." + }, + "widgetId": "singleLine", + "widgetNamespace": "builtin" }, { "fieldId": "title", @@ -1521,6 +1533,11 @@ }, "widgetId": "markdown", "widgetNamespace": "builtin" + }, + { + "fieldId": "help_centre_category", + "widgetId": "dropdown", + "widgetNamespace": "builtin" } ] }, @@ -1530,24 +1547,24 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 110, - "createdAt": "2023-11-14T13:44:22.044Z", + "version": 18, + "createdAt": "2024-05-09T15:45:19.965Z", "createdBy": { "sys": { - "id": "5UvTG4M4dJ3e1i7ByuaAeW", + "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:56.779Z", + "updatedAt": "2024-10-09T10:57:57.977Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } @@ -1571,20 +1588,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "controls": [ @@ -1604,13 +1621,13 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 94, - "createdAt": "2023-11-28T12:32:31.921Z", + "version": 19, + "createdAt": "2024-05-09T15:45:18.951Z", "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1618,17 +1635,71 @@ "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:56.766Z", + "updatedAt": "2024-10-09T10:57:58.972Z", "updatedBy": { + "sys": { + "id": "7BqQQLssfY5nUeZr8AO3cF", + "type": "Link", + "linkType": "User" + } + }, + "contentType": { + "sys": { + "id": "about", + "type": "Link", + "linkType": "ContentType" + } + }, + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + } + }, + "controls": [ + { + "fieldId": "about", + "settings": { + "helpText": "Please enter the text you want to display on the about page." + }, + "widgetId": "markdown", + "widgetNamespace": "builtin" + } + ] + }, + { + "sys": { + "id": "default", + "type": "EditorInterface", + "space": { + "sys": { + "id": "h6k5tsc4ytaf", + "type": "Link", + "linkType": "Space" + } + }, + "version": 18, + "createdAt": "2024-05-09T15:45:21.269Z", + "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", "type": "Link", "linkType": "User" } }, + "updatedAt": "2024-10-09T10:57:58.975Z", + "updatedBy": { + "sys": { + "id": "7BqQQLssfY5nUeZr8AO3cF", + "type": "Link", + "linkType": "User" + } + }, "contentType": { "sys": { - "id": "helpCentreStructure", + "id": "accessibilityPage", "type": "Link", "linkType": "ContentType" } @@ -1643,13 +1714,15 @@ }, "controls": [ { - "fieldId": "name", + "fieldId": "title", + "settings": { + }, "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "structure", - "widgetId": "objectEditor", + "fieldId": "mainContent", + "widgetId": "markdown", "widgetNamespace": "builtin" } ] @@ -1660,13 +1733,13 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 106, - "createdAt": "2023-11-30T17:08:47.780Z", + "version": 18, + "createdAt": "2024-05-09T15:45:20.835Z", "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1674,10 +1747,10 @@ "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:56.764Z", + "updatedAt": "2024-10-09T10:57:58.988Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } @@ -1701,20 +1774,20 @@ { "settings": { }, - "widgetId": "69mKkEFmMO9ue4lwWfto2C", - "widgetNamespace": "app" + "widgetId": "default-editor", + "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "default-editor", + "widgetId": "tags-editor", "widgetNamespace": "editor-builtin" }, { "settings": { }, - "widgetId": "tags-editor", - "widgetNamespace": "editor-builtin" + "widgetId": "69mKkEFmMO9ue4lwWfto2C", + "widgetNamespace": "app" } ], "controls": [ @@ -1751,13 +1824,13 @@ "type": "EditorInterface", "space": { "sys": { - "id": "ldcm7uk1vtxb", + "id": "h6k5tsc4ytaf", "type": "Link", "linkType": "Space" } }, - "version": 90, - "createdAt": "2024-01-04T11:41:42.874Z", + "version": 19, + "createdAt": "2024-08-27T09:22:23.425Z", "createdBy": { "sys": { "id": "0RE3J0ImbZ27ZHNVtOJhsd", @@ -1765,17 +1838,17 @@ "linkType": "User" } }, - "updatedAt": "2024-04-11T15:55:56.772Z", + "updatedAt": "2024-10-09T10:57:57.995Z", "updatedBy": { "sys": { - "id": "0RE3J0ImbZ27ZHNVtOJhsd", + "id": "7BqQQLssfY5nUeZr8AO3cF", "type": "Link", "linkType": "User" } }, "contentType": { "sys": { - "id": "accessibilityPage", + "id": "glossaryEntry", "type": "Link", "linkType": "ContentType" } @@ -1790,16 +1863,34 @@ }, "controls": [ { - "fieldId": "title", - "settings": { - }, + "fieldId": "id", "widgetId": "singleLine", "widgetNamespace": "builtin" }, { - "fieldId": "mainContent", + "fieldId": "term", + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "meaning", "widgetId": "markdown", "widgetNamespace": "builtin" + }, + { + "fieldId": "relatedlist", + "widgetId": "tagEditor", + "widgetNamespace": "builtin" + }, + { + "fieldId": "externalLinkTextShort", + "widgetId": "singleLine", + "widgetNamespace": "builtin" + }, + { + "fieldId": "externalUrl", + "widgetId": "urlEditor", + "widgetNamespace": "builtin" } ] } @@ -1808,6 +1899,8 @@ { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -1815,13 +1908,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "9aLYC0VKLFNUkzW8RYhUO", + "id": "01k3lWZ4f7T6FC6Vogvomn", "type": "Entry", - "createdAt": "2023-01-10T19:14:59.649Z", - "updatedAt": "2024-04-11T15:56:00.601Z", + "createdAt": "2024-10-18T13:47:21.536Z", + "updatedAt": "2024-10-18T13:47:23.559Z", "environment": { "sys": { "id": "preprod", @@ -1829,30 +1922,35 @@ "linkType": "Environment" } }, - "publishedVersion": 121, - "publishedAt": "2024-04-11T15:56:00.601Z", - "firstPublishedAt": "2023-01-10T19:18:21.211Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.559Z", + "firstPublishedAt": "2024-10-18T13:47:23.559Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 52, - "version": 122, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -1861,20 +1959,33 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "about" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/9aLYC0VKLFNUkzW8RYhUO" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/01k3lWZ4f7T6FC6Vogvomn" }, "fields": { - "about": { - "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe statistical methods library is a central library for approved statistical methods for use within ONS and wider.\n\n## Overall mission\n\nThe Statistical Methods Library (SML) provides a central resource for consistent and reproducible statistical methods within the ONS and wider. The library ensures that methods for official statistical outputs are fully transparent. It provides proportionate governance and assurance processes, including peer review of methods for statistical production and analysis or exploration.\n\nThe library facilitates continuous improvement by providing users with the ability to add new methods or request changes to existing ones. It contains documentation on method specifications, how-to guidance and contact details for help and support. The SML will allow users to share methods and best practice with other government departments.\n\n## Current objectives\n\n- To act as a shared single point of reference for best practice methods and share methods across government departments.\n- To continuously update methods based on peer reviews, emerging facts and user feedback.\n- To provide clear evidence of audit and quality assurance for approved methods.\n\n## Future objectives\n- To standardise best practice methods across the ONS and government departments.\n- To act as a developmental tool, providing reference material and guides to approved methods.\n- To demonstrate, share and promote innovation in methodological practice across GSS/wider government.\n\n## Further information\nThe SML contains many features, including:\n\n- A catalogue of methods\n- Statistical methods specifications\n- A code repository\n- Downloadable Methods packages\n- Technical methods governance\n- A glossary of terms\n- How-to guidance" + "id": { + "en-US": "repository" + }, + "term": { + "en-US": "Repository" + }, + "meaning": { + "en-US": "A directory containing files that are versioned by Git." + }, + "relatedlist": { + "en-US": [ + "Git" + ] } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -1882,13 +1993,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "5WYN3VRdVncydnbqCYupCM", + "id": "bGW6DZuAqOTCrASxPzq3c", "type": "Entry", - "createdAt": "2023-01-10T19:18:32.835Z", - "updatedAt": "2024-04-11T15:56:01.064Z", + "createdAt": "2024-10-18T13:47:21.551Z", + "updatedAt": "2024-10-18T13:47:23.562Z", "environment": { "sys": { "id": "preprod", @@ -1896,30 +2007,35 @@ "linkType": "Environment" } }, - "publishedVersion": 134, - "publishedAt": "2024-04-11T15:56:01.064Z", - "firstPublishedAt": "2023-01-10T19:18:47.011Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.562Z", + "firstPublishedAt": "2024-10-18T13:47:23.562Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 66, - "version": 135, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -1928,23 +2044,781 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "heroHomePage" + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/bGW6DZuAqOTCrASxPzq3c" + }, + "fields": { + "id": { + "en-US": "package" + }, + "term": { + "en-US": "Package" + }, + "meaning": { + "en-US": "An archive containing software and additional metadata that is distributed by a package manager. Sometimes used as a synonym for 'library', but does not always refer to libraries." + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "5eYwt4est2ARh3hat0BL3r", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.564Z", + "updatedAt": "2024-10-18T13:47:23.524Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.524Z", + "firstPublishedAt": "2024-10-18T13:47:23.524Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/5eYwt4est2ARh3hat0BL3r" + }, + "fields": { + "id": { + "en-US": "sml" + }, + "term": { + "en-US": "SML" + }, + "meaning": { + "en-US": "The Statistical Methods Library, a centralised collection of methods approved for use by the ONS. Comprises a code library, accessed through GitHub, and a collection of associated documentation, accessed via the SML Portal." + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "3MHWfCcqLpDHbc7NLLuNh6", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.567Z", + "updatedAt": "2024-10-18T13:47:23.506Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.506Z", + "firstPublishedAt": "2024-10-18T13:47:23.506Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/3MHWfCcqLpDHbc7NLLuNh6" + }, + "fields": { + "id": { + "en-US": "statistical_methods" + }, + "term": { + "en-US": "Statistical Methods" + }, + "meaning": { + "en-US": "Mathematical techniques used to transform, analyse and manipulate data that fall under the remit of one of the expert groups within the Methodology and Quality Directorate of the ONS." + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "0HJkQZKUd1CyK7UypkxqB", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.573Z", + "updatedAt": "2024-10-18T13:47:23.552Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.552Z", + "firstPublishedAt": "2024-10-18T13:47:23.552Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "helpCentreInformation" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/0HJkQZKUd1CyK7UypkxqB" + }, + "fields": { + "id": { + "en-US": "troubleshooting" + }, + "title": { + "en-US": "Troubleshooting" + }, + "content": { + "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve the issue. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." + }, + "help_centre_category": { + "en-US": "Support" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "6l2sPkpbSgUyoYr9x1OLX2", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.650Z", + "updatedAt": "2024-10-18T13:47:23.575Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.575Z", + "firstPublishedAt": "2024-10-18T13:47:23.575Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6l2sPkpbSgUyoYr9x1OLX2" + }, + "fields": { + "id": { + "en-US": "version_control" + }, + "term": { + "en-US": "Version Control" + }, + "meaning": { + "en-US": "A means of tracking changes made to a file or collection of files. Commonly used to track the development of software projects." + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "4GpXwiVIqopHyO33yxnSAA", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.662Z", + "updatedAt": "2024-10-18T13:47:23.530Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.530Z", + "firstPublishedAt": "2024-10-18T13:47:23.530Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "about" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/4GpXwiVIqopHyO33yxnSAA" + }, + "fields": { + "about": { + "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe statistical methods library is a central library for approved statistical methods for use within ONS and wider.\n\n## Overall mission\n\nThe Statistical Methods Library (SML) provides a central resource for consistent and reproducible statistical methods within the ONS and wider. The library ensures that methods for official statistical outputs are fully transparent. It provides proportionate governance and assurance processes, including peer review of methods for statistical production and analysis or exploration.\n\nThe library facilitates continuous improvement by providing users with the ability to add new methods or request changes to existing ones. It contains documentation on method specifications, how-to guidance and contact details for help and support. The SML will allow users to share methods and best practice with other government departments.\n\n## Current objectives\n\n- To act as a shared single point of reference for best practice methods and share methods across government departments.\n- To continuously update methods based on peer reviews, emerging facts and user feedback.\n- To provide clear evidence of audit and quality assurance for approved methods.\n\n## Future objectives\n- To standardise best practice methods across the ONS and government departments.\n- To act as a developmental tool, providing reference material and guides to approved methods.\n- To demonstrate, share and promote innovation in methodological practice across GSS/wider government.\n\n## Further information\nThe SML contains many features, including:\n\n- A catalogue of methods\n- Statistical methods specifications\n- A code repository\n- Downloadable Methods packages\n- Technical methods governance\n- A glossary of terms\n- How-to guidance" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "7ePz4NOKkNuYxTCKGceI0o", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.664Z", + "updatedAt": "2024-10-18T13:47:23.640Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.640Z", + "firstPublishedAt": "2024-10-18T13:47:23.640Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "helpCentreInformation" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/7ePz4NOKkNuYxTCKGceI0o" + }, + "fields": { + "id": { + "en-US": "get-in-touch" + }, + "title": { + "en-US": "Get in touch" + }, + "content": { + "en-US": "If you'd like to speak to someone on the SML team, please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk).\n\nNeed help installing a method? Make sure you've consulted the Help Centre \"Install a Method\" page.\n\nNeed help using a method? Make sure you have read the user documentation, which you can find by clicking on the method name in the Method Catalogue. \n\nIf you still need assistance or if you have suggestions or other feedback, please do get in touch with us using the email above.\n" + }, + "help_centre_category": { + "en-US": "Feedback" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "6FVuaTke9hjBtzWOEuDexR", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.686Z", + "updatedAt": "2024-10-18T13:47:23.536Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.536Z", + "firstPublishedAt": "2024-10-18T13:47:23.536Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "helpCentreInformation" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6FVuaTke9hjBtzWOEuDexR" + }, + "fields": { + "id": { + "en-US": "install-a-method" + }, + "title": { + "en-US": "Install a method" + }, + "content": { + "en-US": "# This page covers the following topics:\n- How to install date adjustment, selective editing, thousand pounds, or totals and components\n- How to install other Python methods\n- How to install R methods\n- Managing package dependencies with SML methods \n\n**IDS Users:**\nIDS users should follow the IDS guidance for downloading and installing SML methods. \n\n**Using a method:** \nInformation on how to use individual methods can be found in the User Documentation. \n\nYou can access the User Documentation from the Method Summary which you find by clicking on the method name in the Method Catalogue.\n\n**Package dependencies:**\nSML methods may require installation of specific versions of Python, R or essential packages. To avoid changing installations in your base environment, we recommend creating a virtual environment (Python) or using renv in an R Studio project. \n\nIf you’d like further guidance on this, please see “Managing package dependencies with SML methods” below. \n\n## How to install date adjustment, selective editing, thousand pounds, or totals and components\n\nOnce you have set up the virtual environment and connected to your IDE (if using), follow the steps below.\n\n- Check you have installed the correct versions of Python and required packages such as Pandas (see User Documentation).\n\n- From your Python environment enter __pip install sml_small__ \n\n- To install a specific version enter __pip install sml_small==version_number__, for example: __pip install sml_small==1.1.0__ \n\nSearch \"sml_small\" on “PyPI · The Python Package Index” for available versions.\n\n- To use Date Adjustment or Selective Editing run the following: __import sml_small.date_adjustment as date_adjust__ OR __import sml_small.selective_editing as seled__ \n\n- To use Totals and Components or Thousand Pounds run the following: __from sml_small.editing import thousand_pounds__ OR __from sml_small.editing import totals_and_components__ \n\nThe methods are now available for you to use.\n\n## Installing other Python methods\n\nOnce you have set up the virtual environment and connected to an IDE (if using), follow the steps below.\n\n- Check you have installed the correct versions of Python and required packages such as Pandas (see User Documentation).\n\n- From your Python environment enter __pip install package_name__, for example: the Python version of cell-key-perturbation is installed using __pip install cell_key_perturbation__\n\n- To install a specific version enter __pip install package_name==version_number__, for example: __pip install cell_key_perturbation==1.1.1__\n\nSearch the method name on “PyPI · The Python Package Index” for available versions. \n\nThe method is now available for you to import.\n\n## Installing R methods\n\nOnce you have created an R Studio project using renv to install required packages, you are ready to download the method package. For more guidance on using renv please see 'Managing package dependencies in R Studio with renv' below. \n\n-\tInstall the method package in your project using __renv::install(\"package_name\")__, for example, if the method package was named \"aggregate\" you would enter __renv::install(\"aggregate\")__\n\n- To install a specific version use __renv::install(\"package_name@version\")__, for example: __renv::install(\"aggregate@1.2.1\")__ \n\nThe method is now available for you to load. \n\n## Managing package dependencies with SML methods\n\nThis section covers the following topics:\n\n- Managing package dependencies for Python methods using Conda\n-\tConnecting Spyder to a virtual environment\n-\tConnecting Jupyter Notebook to a virtual environment\n-\tManaging package dependencies in R Studio using renv\n\n### Managing package dependencies for Python methods using Conda\n\nVirtual environments allow you to install specific versions of software in a contained environment. For example, you can install an older version of Python in a virtual environment but continue to use the most recent version of Python in your default environment. \n\nPlease refer to the method User Documentation for information about which version of Python and packages like Pandas or Numpy you need to use for a specific method. You will need this information to correctly set up your environment. \n\nThis guidance uses conda to create a virtual environment on your device. Conda is an open-source environment management system that allows you to create virtual environments.\n\n- Search Anaconda Prompt on your device and click to open it (note, this will only work if you have already installed Anaconda or Miniconda).\n\n- At the prompt enter __conda create environment_name__, for example, to create and environment called \"test_env\" you would enter __conda create test_env__\n\nYou should name your environment something that will help you remember what it’s used for. If prompted, enter 'y' to proceed.\n\n- Enter __conda activate environment_name__ \n\nYou should now see your environment name to the left of the C:/ prompt. This shows you are working within the virtual environment. \n\nTo leave the environment at any time enter __conda deactivate__ To come back to your environment later, enter __conda activate environment_name__, as before.\n\n- Consult the User Documentation to identify what version of Python is required and to see what packages (and package versions) are needed. Make note of these.\n\n- Now, enter __conda install python=version_number__ If prompted, enter 'y' to proceed.\n\nNote, Python versions > 3.4 automatically install pip, so that will likely be available to you in your environment after successfully installing Python. If not, enter __conda install pip__\n\n- Install required packages using __pip install package_name==version__, for example: __pip install pandas==1.5.3__\n\n- If you want to check what is currently installed in your environment enter __conda list__ \n\n- If you would like to use the methods from within an IDE like Visual Studio, Spyder, or Jupyter Notebook, then you will need to install the kernels for these in the virtual environment and connect them to your session (see further guidance below)\n\nYour virtual environment is now set up and ready for you to install your chosen SML method. Remember to deactivate your environment when you’re done setting it up by entering __conda deactivate__ from the Anaconda prompt window.\n\nThe environment does not need to be activated here for you to use it with Spyder or Jupyter Notebook, providing you have followed the steps to connect the environment to these.\n\n## Connecting Spyder to a virtual environment\n\n- Enter __pip install spyder-kernels__ (still within Anaconda prompt and your virtual environment). If you have installed an older version of python (e.g., 3.7.1 for use with sml_small) then you need to specify an older version of spyder-kernels, e.g., __pip install spyder-kernels=1.9.2__\n\n- Open Spyder.\n\n- From the top menu, go to __Tools -> Preferences -> Python Interpreter__.\n\n- Select __Use the following Python Interpreter__.\n\n- Click on the __select file__ icon (to the right of the address bar below).\n\n- Navigate to the location of your virtual environment. \n\nIf you’re unsure where this is, go to your Anaconda prompt window and enter __conda list__ from within your virtual environment. The file path you need will appear at the top of the list.\n\n- Click on the folder to open your virtual environment and scroll down to find and click on the __python.exe file__. \n\n- Click __Apply__ and __OK__ to close the Preferences window.\n\nYou should see your virtual environment name and the python version it’s running on the bottom of the Spyder window.\n\n- When you are done working from this environment, go back to __Tools -> Preferences-> Python Interpreter__, and select the __Default interpreter__, instead of your virtual environment.\n\n## Connecting Jupyter Notebook to a virtual environment\n\n- Enter __pip install ipykernel__ (still within Anaconda prompt and your virtual environment).\n\n- Then enter __python -m ipykernel install --name env_name__ \n\n- Start Jupyter Notebook.\n\n- From the __Files__ page (you should be here by default) go to __New__, located in the top right.\n\n- Click on __New__ and select your virtual environment name.\n\nYour new notebook now will use the Python and package versions installed in this environment.\n\n## Managing package dependencies in R Studio with renv\n\n- Open R Studio and select __File -> New Project__.\n\n- Select __New Directory -> New Project__ and give your directory a useful name.\n\n- Tick __Use renv with this project__.\n\n- Consult the User Documentation for details about what packages are required to run a method. Make note of these.\n\n- Install required package versions using __renv::install(\"package@version\")__, for example: to install devtools 2.4.4 use __renv::install(\"devtools@2.4.4\")__\n\n- Download and run the chosen SML method within this project environment (see \"Installing R Methods\" above for more guidance).\n\nUsing renv will make specified versions of packages available for this project, but will not affect versions installed outside the project. \n\nYou can verify which versions are installed using __sessionInfo()__ " + }, + "help_centre_category": { + "en-US": "Accessing Methods" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "1PQFWq5r92jnyKqZnqtmrk", + "type": "Entry", + "createdAt": "2024-10-18T13:47:21.689Z", + "updatedAt": "2024-10-18T13:47:23.578Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:23.578Z", + "firstPublishedAt": "2024-10-18T13:47:23.578Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "catalogueTableOfMethods2" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/1PQFWq5r92jnyKqZnqtmrk" + }, + "fields": { + "id": { + "en-US": "cell-key-perturbation" + }, + "name": { + "en-US": "Cell Key Perturbation" + }, + "theme": { + "en-US": "Statistical Disclosure Control" + }, + "expertGroup": { + "en-US": "Statistical Disclosure Control" + }, + "language": { + "en-US": "Python/Pandas" + }, + "author": { + "en-US": "ONS" + }, + "description": { + "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation.\n\nTo install and use this method, please see [User Notes](https://github.com/ONSdigital/cell-key-perturbation/blob/main/documentation/SML_UserDocs_CellKeyPerturbation_Py.md)." + }, + "contactDetails": { + "en-US": "smlhelp@ons.gov.uk" + }, + "methodReady": { + "en-US": true + }, + "releaseVersion": { + "en-US": "v2.0.0" + }, + "releaseLink": { + "en-US": "https://github.com/ONSdigital/cell-key-perturbation/releases/tag/v2.0.0" + }, + "codeLink": { + "en-US": "https://github.com/ONSdigital/cell-key-perturbation/blob/main/cell_key_perturbation/create_perturbed_table.py" + }, + "userDocumentationLink": { + "en-US": "https://github.com/ONSdigital/cell-key-perturbation/blob/main/documentation/SML_UserDocs_CellKeyPerturbation_Py.md" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "1JRjsMT7ZcjUvh0Rua1yJg", + "type": "Entry", + "createdAt": "2024-10-18T13:47:25.583Z", + "updatedAt": "2024-10-18T13:47:27.534Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.534Z", + "firstPublishedAt": "2024-10-18T13:47:27.534Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5WYN3VRdVncydnbqCYupCM" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/1JRjsMT7ZcjUvh0Rua1yJg" }, "fields": { - "heroTitle": { - "en-US": "An open source library for statistical code approved by the ONS" + "id": { + "en-US": "third_party_methods" }, - "heroButton": { - "en-US": "Find methods" + "term": { + "en-US": "Third Party Methods" + }, + "meaning": { + "en-US": "Third party methods are defined as those where a package, piece of code or software is developed and maintained outside of the SML strictures. This may include packages developed within ONS but where code is held and managed in a separate repository, or packages developed and maintained externally." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -1952,13 +2826,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "78d7qRmxYSzox6ccAwoPII", + "id": "2Oyrzj4Dkqn9LuNDxFZMnh", "type": "Entry", - "createdAt": "2023-01-10T19:19:09.326Z", - "updatedAt": "2024-04-11T15:56:01.564Z", + "createdAt": "2024-10-18T13:47:25.591Z", + "updatedAt": "2024-10-18T13:47:27.542Z", "environment": { "sys": { "id": "preprod", @@ -1966,30 +2840,35 @@ "linkType": "Environment" } }, - "publishedVersion": 123, - "publishedAt": "2024-04-11T15:56:01.564Z", - "firstPublishedAt": "2023-01-10T19:30:16.790Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.542Z", + "firstPublishedAt": "2024-10-18T13:47:27.542Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 56, - "version": 124, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -1998,29 +2877,376 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "methodsCatalogue" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/78d7qRmxYSzox6ccAwoPII" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/2Oyrzj4Dkqn9LuNDxFZMnh" }, "fields": { - "heading1": { - "en-US": "Methods catalogue" + "id": { + "en-US": "release" }, - "paragraph": { - "en-US": "Here you will discover statistical methods used by the Office for National Statistics." + "term": { + "en-US": "Release" + }, + "meaning": { + "en-US": "A 'snapshot' of a Git repository marked as being stable. Releases are commonly referred to by a version number. A popular scheme for determining version numbers is semantic versioning." + }, + "relatedlist": { + "en-US": [ + "Git", + "Repository", + "Semantic Versioning" + ] + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "7IvVbD5tUwbzWeWPqwQP5n", + "type": "Entry", + "createdAt": "2024-10-18T13:47:25.606Z", + "updatedAt": "2024-10-18T13:47:27.552Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.552Z", + "firstPublishedAt": "2024-10-18T13:47:27.552Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/7IvVbD5tUwbzWeWPqwQP5n" + }, + "fields": { + "id": { + "en-US": "semantic_versioning" + }, + "term": { + "en-US": "Semantic Versioning" + }, + "meaning": { + "en-US": "A popular scheme for determining version numbers. Consists of three integers, separated by full stops. The first integer is the 'major' version number, the second is the 'minor' version number, and the third is the 'patch' number. The patch number is incremented by 1 when bugfixes are implemented. The minor version is incremented by 1 when new functionality is introduced without affecting compatibility with previous versions. The major version number is incremented by 1 when changes are made that break compatibility with previous versions. See https://semver.org" + }, + "externalLinkTextShort": { + "en-US": "Semantic Versioning" + }, + "externalUrl": { + "en-US": "https://semver.org" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "6q41cYDJBtyVn44KO4MuQQ", + "type": "Entry", + "createdAt": "2024-10-18T13:47:25.612Z", + "updatedAt": "2024-10-18T13:47:27.533Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.533Z", + "firstPublishedAt": "2024-10-18T13:47:27.533Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6q41cYDJBtyVn44KO4MuQQ" + }, + "fields": { + "id": { + "en-US": "idp" + }, + "term": { + "en-US": "Integrated Data Programme (IDP)" + }, + "meaning": { + "en-US": "The Integrated Data Programme, the ONS team that provides and adminstrates the Integrated Data Service (IDS)." + }, + "relatedlist": { + "en-US": [ + "Integrated Data Service (IDS)" + ] + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "11mx4pNTAuijgoH17sUAa3", + "type": "Entry", + "createdAt": "2024-10-18T13:47:25.624Z", + "updatedAt": "2024-10-18T13:47:27.533Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.533Z", + "firstPublishedAt": "2024-10-18T13:47:27.533Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/11mx4pNTAuijgoH17sUAa3" + }, + "fields": { + "id": { + "en-US": "sml_team" + }, + "term": { + "en-US": "SML Team" + }, + "meaning": { + "en-US": "The team responsible for SML administration and governance." + }, + "relatedlist": { + "en-US": [ + "SML" + ] + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "6lYqR80JEilHmlhyWOIpH2", + "type": "Entry", + "createdAt": "2024-10-18T13:47:25.916Z", + "updatedAt": "2024-10-18T13:47:27.542Z", + "environment": { + "sys": { + "id": "preprod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.542Z", + "firstPublishedAt": "2024-10-18T13:47:27.542Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "glossaryEntry" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6lYqR80JEilHmlhyWOIpH2" + }, + "fields": { + "id": { + "en-US": "github" }, - "detail": { - "en-US": "What are method themes and expert groups?" + "term": { + "en-US": "GitHub" }, - "detailContent": { - "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" + "meaning": { + "en-US": "A popular Microsoft-owned service providing hosting for Git repositories, a Web interface to Git, and related services." + }, + "relatedlist": { + "en-US": [ + "Git" + ] } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2028,13 +3254,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "68ETsCxLbjjKpd0j9fuvWk", + "id": "2EV5TKiycZvUQvjKLpUCY5", "type": "Entry", - "createdAt": "2023-02-07T16:55:38.468Z", - "updatedAt": "2024-04-11T15:56:02.079Z", + "createdAt": "2024-10-18T13:47:25.919Z", + "updatedAt": "2024-10-18T13:47:27.539Z", "environment": { "sys": { "id": "preprod", @@ -2042,30 +3268,35 @@ "linkType": "Environment" } }, - "publishedVersion": 117, - "publishedAt": "2024-04-11T15:56:02.079Z", - "firstPublishedAt": "2023-02-07T16:56:59.278Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.539Z", + "firstPublishedAt": "2024-10-18T13:47:27.539Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 52, - "version": 118, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2074,53 +3305,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/68ETsCxLbjjKpd0j9fuvWk" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/2EV5TKiycZvUQvjKLpUCY5" }, "fields": { "id": { - "en-US": "ht-ratio-estimation" - }, - "name": { - "en-US": "Horvitz-Thompson Ratio Estimator" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" - }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Sampling in business surveys is often done using stratified simple random sampling without replacement. The largest businesses are usually selected with certainty. This SML method uses two approaches for estimating totals in such cases. The Horvitz-Thompson estimator in this case is known as a stratified expansion estimator, which is the simplest method used. We also use a combined ratio estimator. This is appropriate where there is a linear relationship through the origin between the target variable and an auxiliary variable we know for all units, and the scatter about the line increases with the size of the auxiliary variable." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false - }, - "releaseVersion": { - "en-US": "Not Ready Yet" + "en-US": "sensitive" }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." + "term": { + "en-US": "Sensitive" }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/sample_design_and_estimation/estimation/ht_estimation.rst" + "meaning": { + "en-US": "Data or methods that reveal personal details, and as such requires accreditation to use." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2128,13 +3334,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "6zPvs42JQdbLc1vCJMQUgs", + "id": "5jT96XUoyfeVejeaTTKakT", "type": "Entry", - "createdAt": "2023-02-07T16:58:13.657Z", - "updatedAt": "2024-04-11T15:56:02.536Z", + "createdAt": "2024-10-18T13:47:25.922Z", + "updatedAt": "2024-10-18T13:47:27.556Z", "environment": { "sys": { "id": "preprod", @@ -2142,30 +3348,35 @@ "linkType": "Environment" } }, - "publishedVersion": 111, - "publishedAt": "2024-04-11T15:56:02.536Z", - "firstPublishedAt": "2023-02-07T17:03:06.845Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.556Z", + "firstPublishedAt": "2024-10-18T13:47:27.556Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 51, - "version": 112, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2174,50 +3385,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/6zPvs42JQdbLc1vCJMQUgs" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/5jT96XUoyfeVejeaTTKakT" }, "fields": { "id": { - "en-US": "ratio-of-means" - }, - "name": { - "en-US": "Ratio of Means" - }, - "theme": { - "en-US": "Imputation" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/PySpark" + "en-US": "markdown" }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Ratio of means is a standard imputation method used for business surveys. The method imputes for each non-responding contributor a single numeric target variable within the dataset for multiple periods simultaneously. It uses the relationship between the target variable of interest and a predictive value and/or auxiliary variable to inform the imputed value. Due to its robust nature, it does not use any form of trimming or outliering.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": false + "term": { + "en-US": "Markdown" }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/ratio_of_means/methodological_specification.md" + "meaning": { + "en-US": "A popular and simple markup language used across the Web for formatting text. Markdown is the format in which SML specifications are written." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2225,13 +3414,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "3uxHIlnhHqztRAuHNQ0CHA", + "id": "79mygGJlikbZmNOLp9hU1V", "type": "Entry", - "createdAt": "2023-02-07T17:05:24.569Z", - "updatedAt": "2024-04-11T15:56:03.153Z", + "createdAt": "2024-10-18T13:47:25.926Z", + "updatedAt": "2024-10-18T13:47:27.537Z", "environment": { "sys": { "id": "preprod", @@ -2239,30 +3428,35 @@ "linkType": "Environment" } }, - "publishedVersion": 106, - "publishedAt": "2024-04-11T15:56:03.153Z", - "firstPublishedAt": "2023-02-07T17:10:36.693Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.537Z", + "firstPublishedAt": "2024-10-18T13:47:27.537Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 107, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2271,50 +3465,34 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3uxHIlnhHqztRAuHNQ0CHA" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/79mygGJlikbZmNOLp9hU1V" }, "fields": { "id": { - "en-US": "winsorisation" - }, - "name": { - "en-US": "Winsorisation" - }, - "theme": { - "en-US": "Sample Design & Estimation" - }, - "expertGroup": { - "en-US": "Sample Design & Estimation" + "en-US": "ids" }, - "language": { - "en-US": "Python/PySpark" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "In business surveys, some responses can be very large, and can distort estimates when such a business is selected. Consequently, it is sometimes desirable to reduce the effect of these businesses. This is known as outlier treatment. This SML method applies a technique known as one-sided winsorisation. The objective of the method is to introduce a small bias, while reducing the variance. This is intended to reduce the mean squared error of the total, a measure of overall accuracy. The method works for stratified expansion estimation and combined ratio estimation, which are commonly used in business surveys." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" + "term": { + "en-US": "Integrated Data Service (IDS)" }, - "methodReady": { - "en-US": false + "meaning": { + "en-US": "A secure, integrated service providing access to data and tools for analysis and collaboration for Government analysts, devolved administrations and external Accredited Researchers." }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." + "externalLinkTextShort": { + "en-US": "Integrated Data Service" }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/specs_from_current_sml_pages/sample_design_and_estimation/Winsorisation/SML_Winsorization_Specification.docx.rst" + "externalUrl": { + "en-US": "https://integrateddataservice.gov.uk/" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2322,13 +3500,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "7ald28ahkCJgBJu1oKhUmI", + "id": "1blaUAHFEY66NrdCtomp9k", "type": "Entry", - "createdAt": "2023-02-07T17:10:44.722Z", - "updatedAt": "2024-04-11T15:56:03.599Z", + "createdAt": "2024-10-18T13:47:25.932Z", + "updatedAt": "2024-10-18T13:47:27.504Z", "environment": { "sys": { "id": "preprod", @@ -2336,30 +3514,35 @@ "linkType": "Environment" } }, - "publishedVersion": 108, - "publishedAt": "2024-04-11T15:56:03.599Z", - "firstPublishedAt": "2023-02-07T17:13:08.809Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:27.504Z", + "firstPublishedAt": "2024-10-18T13:47:27.504Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 109, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2368,62 +3551,41 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/7ald28ahkCJgBJu1oKhUmI" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/1blaUAHFEY66NrdCtomp9k" }, "fields": { "id": { - "en-US": "selective-editing" - }, - "name": { - "en-US": "Selective Editing" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Selective Editing is an internationally recognised editing method where potential errors are prioritised according to their expected effect on key outputs. Only respondents that are having an impact on published estimates will be recontacted.\n\nSelective Editing works by assigning a score to each important variable for a business where, the score reflects the impact that editing the respondent will have on the estimates. Only contributors with a high score are checked, low scoring contributors pass through unchecked." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true + "en-US": "pypi" }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" + "term": { + "en-US": "PyPI" }, - "additionalInformation": { - "en-US": "Links to the method code, specification and user documentation are provided for further reading." + "meaning": { + "en-US": "The Python Package Index (PyPI) is a repository of software for the Python programming language. Package authors (such as ONS-SML) use PyPI to distribute their software." }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/selective_editing.py" + "relatedlist": { + "en-US": [ + "SML", + "Package", + "Repository" + ] }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/selective_editing/methodological_specification.md" + "externalLinkTextShort": { + "en-US": "ONS-SML user profile on PyPI" }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/selective-editing/selective_editing.md" + "externalUrl": { + "en-US": "https://pypi.org/user/ons-sml/" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2431,13 +3593,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "1dEel1rXrwQTW8p1DumqQT", + "id": "hHSTKE9UpKOiCoB4aGkv5", "type": "Entry", - "createdAt": "2023-02-07T17:15:52.159Z", - "updatedAt": "2024-04-11T15:56:04.098Z", + "createdAt": "2024-10-18T13:47:28.496Z", + "updatedAt": "2024-10-18T13:47:30.515Z", "environment": { "sys": { "id": "preprod", @@ -2445,30 +3607,35 @@ "linkType": "Environment" } }, - "publishedVersion": 123, - "publishedAt": "2024-04-11T15:56:04.098Z", - "firstPublishedAt": "2023-02-07T17:16:59.252Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:30.515Z", + "firstPublishedAt": "2024-10-18T13:47:30.515Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 57, - "version": 124, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2477,62 +3644,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/1dEel1rXrwQTW8p1DumqQT" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/hHSTKE9UpKOiCoB4aGkv5" }, "fields": { "id": { - "en-US": "date-adjustment" - }, - "name": { - "en-US": "Date Adjustment" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "additionalInformation": { - "en-US": "Links to the method code and user documentation are provided for further reading." - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" + "en-US": "metadata" }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" + "term": { + "en-US": "Metadata" }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" + "meaning": { + "en-US": "'Data about data', giving information about a product itself, as opposed to its contents. In the case of the SML, metadata includes, for example: when a method was onboarded; its development status; by whom it was developed; whether or not it is approved for use in official outputs; etc." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2540,13 +3673,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "3cCYV7jPz7iisw87gZvGgK", + "id": "6Benijjye1q8xVSrb6AEG3", "type": "Entry", - "createdAt": "2023-02-09T10:19:53.204Z", - "updatedAt": "2024-04-11T15:56:04.625Z", + "createdAt": "2024-10-18T13:47:28.525Z", + "updatedAt": "2024-10-18T13:47:30.530Z", "environment": { "sys": { "id": "preprod", @@ -2554,30 +3687,35 @@ "linkType": "Environment" } }, - "publishedVersion": 102, - "publishedAt": "2024-04-11T15:56:04.625Z", - "firstPublishedAt": "2023-02-09T10:21:06.264Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:30.530Z", + "firstPublishedAt": "2024-10-18T13:47:30.530Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 103, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2586,26 +3724,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3cCYV7jPz7iisw87gZvGgK" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6Benijjye1q8xVSrb6AEG3" }, "fields": { "id": { - "en-US": "version-methods" + "en-US": "accredited_researcher" }, - "title": { - "en-US": "How the methods are versioned" + "term": { + "en-US": "Accredited Researcher" }, - "content": { - "en-US": "The Statistical Methods Library (SML) and the associated methods are versioned using semantic versioning comprised of a major, minor and patch release version separated by full stops (e.g 3.5.4). \n\nThere are separate releases of the libraries based on the method implementation, python/pandas or python/pySpark, and each library uses semantic versioning.\n\nThe major version is incremented (and minor and patch releases reset to zero) when backward incompatible changes are made (e.g renaming a pre-existing method function name).\n\nThe minor version is incremented (and the patch version reset to zero) when new features are added without breaking backward compatibility (e.g addition of a new statistical method)\n\nThe patch release version is incremented when backward compatible bugfixes are implemented.\n\nConsult the [SML python/pySpark release history in Github](https://github.com/ONSdigital/statistical-methods-library/releases) for the current and past releases for the python/pySpark methods and the [associated python/pySpark release notes](https://github.com/ONSdigital/statistical-methods-library/tree/main/docs/release-notes) to understand the changes between releases.\n\nConsult the [SML python/pandas release history in Github](https://github.com/ONSdigital/sml-python-small/releases) for the current and past releases for the python/pandas methods and the [associated python/pandas release notes](https://github.com/ONSdigital/sml-python-small/tree/main/docs/release-notes) to understand the changes between releases.\n\nFor further information about semantic versioning read the recommended [semantic versioning guidance](https://semver.org)." + "meaning": { + "en-US": "Researchers who have special permission from ONS to access personal information to assist in statistical research." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2613,13 +3753,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "6WQ6Wtug7CnYQigqvDNH9S", + "id": "3yPRVuZ5tvZdP09NLOauEj", "type": "Entry", - "createdAt": "2023-02-09T10:21:23.289Z", - "updatedAt": "2024-04-11T15:56:05.153Z", + "createdAt": "2024-10-18T13:47:29.506Z", + "updatedAt": "2024-10-18T13:47:31.497Z", "environment": { "sys": { "id": "preprod", @@ -2627,30 +3767,35 @@ "linkType": "Environment" } }, - "publishedVersion": 95, - "publishedAt": "2024-04-11T15:56:05.153Z", - "firstPublishedAt": "2023-02-09T10:21:38.224Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:31.497Z", + "firstPublishedAt": "2024-10-18T13:47:31.497Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 46, - "version": 96, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2659,26 +3804,34 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "helpCentreMethodRequest" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/6WQ6Wtug7CnYQigqvDNH9S" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/3yPRVuZ5tvZdP09NLOauEj" }, "fields": { - "id": { - "en-US": "coding-standards" + "name": { + "en-US": "Help Centre Method Request" }, - "title": { - "en-US": "Coding standards" + "internalUserTitle": { + "en-US": "I am an ONS internal user" }, - "content": { - "en-US": "Code will be written to internationally recognised standards and according to principles set out in these links:-\n\n* [Government Digital Service](https://gds-way.cloudapps.digital/#the-gds-way/)\n* [ONS Quality Assurance for Code and Analysis (Duck book)](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)\n* [ONS Digital Software Engineering Standards](https://github.com/ONSdigital/software-engineer-community/blob/master/standards/README.md)\n\nFor Python, this means it will adhere to the [PEP8 Python style guide](https://peps.python.org/pep-0008/) and the [GDS Python style guide.](https://gds-way.cloudapps.digital/manuals/programming-languages/python/python.html#content)\n" + "internalUserContent": { + "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + }, + "externalUserTitle": { + "en-US": "I am a user from outside the ONS" + }, + "externalUserContent": { + "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2686,13 +3839,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "3nzjuL0uUBerLb5tQYGuq8", + "id": "5dA4wvX0V2tLHCnwvDEyI2", "type": "Entry", - "createdAt": "2023-02-09T10:22:57.325Z", - "updatedAt": "2024-04-11T15:56:05.642Z", + "createdAt": "2024-10-18T13:47:29.510Z", + "updatedAt": "2024-10-18T13:47:31.512Z", "environment": { "sys": { "id": "preprod", @@ -2700,30 +3853,35 @@ "linkType": "Environment" } }, - "publishedVersion": 97, - "publishedAt": "2024-04-11T15:56:05.642Z", - "firstPublishedAt": "2023-02-09T10:23:39.631Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:31.512Z", + "firstPublishedAt": "2024-10-18T13:47:31.512Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 46, - "version": 98, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2732,26 +3890,25 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "accessibilityPage" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3nzjuL0uUBerLb5tQYGuq8" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/5dA4wvX0V2tLHCnwvDEyI2" }, "fields": { - "id": { - "en-US": "view-methods" - }, "title": { - "en-US": "Find and view methods" + "en-US": "Accessibility Statement" }, - "content": { - "en-US": "You can find and view methods within the [methods catalogue](/methods)\n\nWhere available, links to GitHub for source code and specifications will be on the method's details page.\n" + "mainContent": { + "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2759,13 +3916,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "6FVuaTke9hjBtzWOEuDexR", + "id": "6YIFLOQGzh9O370tgeARSq", "type": "Entry", - "createdAt": "2023-02-09T10:23:44.288Z", - "updatedAt": "2024-04-11T15:56:06.154Z", + "createdAt": "2024-10-18T13:47:29.514Z", + "updatedAt": "2024-10-18T13:47:31.478Z", "environment": { "sys": { "id": "preprod", @@ -2773,30 +3930,35 @@ "linkType": "Environment" } }, - "publishedVersion": 101, - "publishedAt": "2024-04-11T15:56:06.154Z", - "firstPublishedAt": "2023-02-09T10:24:02.482Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:31.478Z", + "firstPublishedAt": "2024-10-18T13:47:31.478Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 49, - "version": 102, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2805,26 +3967,33 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/6FVuaTke9hjBtzWOEuDexR" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6YIFLOQGzh9O370tgeARSq" }, "fields": { "id": { - "en-US": "run-a-method" + "en-US": "release_notes" }, - "title": { - "en-US": "Use a method" + "term": { + "en-US": "Release Notes" }, - "content": { - "en-US": "1. Go to the GitHub repository page (linked to from method's details page in the catalogue), and click on \"Releases\". Find the release you want, noting any warnings or information about that version.\nRelease pages for both repositories can be found below:\n - [SML Python Small repository releases](https://github.com/ONSdigital/sml-python-small/releases)\n - [Statistical Methods Library releases](https://github.com/ONSdigital/statistical-methods-library/releases)\n2. Download the `.whl` (wheel) file of the release that you wish to install.\n3. On the command line run `pip install PATH_TO/some-file.whl` where that path represents the location on your computer that you downloaded the file.\n4. You should now have the method available to import into your python code.\n\nSpecific instructions on using the method will be found within the git repository for that method.\n" + "meaning": { + "en-US": "A file containing notes explaining what changes have been made to a piece of software since the previous release." + }, + "relatedlist": { + "en-US": [ + "Release" + ] } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2832,13 +4001,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "3vD2v4Ma4DoxClPZgeQxdE", + "id": "73KZnVqhnsVFeuLRNMcf3A", "type": "Entry", - "createdAt": "2023-02-09T10:24:15.522Z", - "updatedAt": "2024-04-11T15:56:06.709Z", + "createdAt": "2024-10-18T13:47:29.521Z", + "updatedAt": "2024-10-18T13:47:31.506Z", "environment": { "sys": { "id": "preprod", @@ -2846,30 +4015,35 @@ "linkType": "Environment" } }, - "publishedVersion": 111, - "publishedAt": "2024-04-11T15:56:06.709Z", - "firstPublishedAt": "2023-02-09T10:24:47.982Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:31.506Z", + "firstPublishedAt": "2024-10-18T13:47:31.506Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 112, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2878,26 +4052,34 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3vD2v4Ma4DoxClPZgeQxdE" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/73KZnVqhnsVFeuLRNMcf3A" }, "fields": { "id": { - "en-US": "report-bug" + "en-US": "expert_group" }, - "title": { - "en-US": "Report a defect or bug" + "term": { + "en-US": "Expert Group" }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + "meaning": { + "en-US": "A group of ONS employees within the Methodology and Quality Directorate with expertise in a specific area. For a full list, see https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/" + }, + "externalLinkTextShort": { + "en-US": "Expert group" + }, + "externalUrl": { + "en-US": "https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2905,13 +4087,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "37TwJlBJgUvgCRJ7Tq30pt", + "id": "1KlrkSlWVBd5dxHHcYKHGV", "type": "Entry", - "createdAt": "2023-02-09T10:24:51.352Z", - "updatedAt": "2024-04-11T15:56:07.224Z", + "createdAt": "2024-10-18T13:47:29.531Z", + "updatedAt": "2024-10-18T13:47:31.499Z", "environment": { "sys": { "id": "preprod", @@ -2919,30 +4101,35 @@ "linkType": "Environment" } }, - "publishedVersion": 96, - "publishedAt": "2024-04-11T15:56:07.224Z", - "firstPublishedAt": "2023-02-09T10:25:11.686Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:31.499Z", + "firstPublishedAt": "2024-10-18T13:47:31.499Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 46, - "version": 97, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -2951,26 +4138,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/37TwJlBJgUvgCRJ7Tq30pt" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/1KlrkSlWVBd5dxHHcYKHGV" }, "fields": { "id": { - "en-US": "provide-feedback" + "en-US": "community_methods" }, - "title": { - "en-US": "Provide feedback" + "term": { + "en-US": "Community Methods" }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + "meaning": { + "en-US": "Code developed by a wider community of analysts. These methods are held in a community code repository to ensure there is a clear distinction in terms of maintenance of the code. After sign-off, any changes to methods held in the SML community repository must be made via the SML governance process to ensure that specifications and documentation are kept up to date and users are informed of changes to the code. The developers of the code would be accountable for making any updates to the code." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -2978,13 +4167,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "7ePz4NOKkNuYxTCKGceI0o", + "id": "1SzvT5lBJvPtZWnnfDbIJ4", "type": "Entry", - "createdAt": "2023-02-09T10:25:38.634Z", - "updatedAt": "2024-04-11T15:56:07.676Z", + "createdAt": "2024-10-18T13:47:29.536Z", + "updatedAt": "2024-10-18T13:47:31.491Z", "environment": { "sys": { "id": "preprod", @@ -2992,30 +4181,35 @@ "linkType": "Environment" } }, - "publishedVersion": 102, - "publishedAt": "2024-04-11T15:56:07.676Z", - "firstPublishedAt": "2023-02-09T10:26:05.985Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:31.491Z", + "firstPublishedAt": "2024-10-18T13:47:31.491Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 47, - "version": 103, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3024,26 +4218,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/7ePz4NOKkNuYxTCKGceI0o" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/1SzvT5lBJvPtZWnnfDbIJ4" }, "fields": { "id": { - "en-US": "support" + "en-US": "git" }, - "title": { - "en-US": "Get support" + "term": { + "en-US": "Git" }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + "meaning": { + "en-US": "A popular software tool for version control. Files are stored in repositories (or 'repos'), which can be local or remote, and changes made are committed to a log, allowing files to be reverted to previous versions. A project can have multiple contributing authors and multiple 'branches' (variants) simultaneously, with Git providing tools to merge changes." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3051,13 +4247,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "76zlJrhByCFNZlbKVA5AtB", + "id": "3B4A7Fs3mnyEAzOgTaeHMn", "type": "Entry", - "createdAt": "2023-02-09T10:26:08.903Z", - "updatedAt": "2024-04-11T15:56:08.222Z", + "createdAt": "2024-10-18T13:47:30.512Z", + "updatedAt": "2024-10-18T13:47:32.514Z", "environment": { "sys": { "id": "preprod", @@ -3065,30 +4261,35 @@ "linkType": "Environment" } }, - "publishedVersion": 105, - "publishedAt": "2024-04-11T15:56:08.222Z", - "firstPublishedAt": "2023-02-09T10:26:33.928Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:32.514Z", + "firstPublishedAt": "2024-10-18T13:47:32.514Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 106, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3097,26 +4298,22 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "privacycontent" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/76zlJrhByCFNZlbKVA5AtB" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/3B4A7Fs3mnyEAzOgTaeHMn" }, "fields": { - "id": { - "en-US": "expert-groups" - }, - "title": { - "en-US": "Get information on expert groups" - }, - "content": { - "en-US": "Please visit [Expert groups](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)." + "privacy_content": { + "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3124,13 +4321,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "0HJkQZKUd1CyK7UypkxqB", + "id": "6oyEIyUgTSadgfgqXcchmR", "type": "Entry", - "createdAt": "2023-02-09T10:26:36.960Z", - "updatedAt": "2024-04-11T15:56:12.911Z", + "createdAt": "2024-10-18T13:47:30.538Z", + "updatedAt": "2024-10-18T13:47:32.493Z", "environment": { "sys": { "id": "preprod", @@ -3138,30 +4335,35 @@ "linkType": "Environment" } }, - "publishedVersion": 94, - "publishedAt": "2024-04-11T15:56:12.911Z", - "firstPublishedAt": "2023-02-09T10:27:07.103Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:32.493Z", + "firstPublishedAt": "2024-10-18T13:47:32.493Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 45, - "version": 95, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3170,26 +4372,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/0HJkQZKUd1CyK7UypkxqB" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6oyEIyUgTSadgfgqXcchmR" }, "fields": { "id": { - "en-US": "troubleshooting" + "en-US": "official_outputs" }, - "title": { - "en-US": "Troubleshooting" + "term": { + "en-US": "Official Outputs" }, - "content": { - "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve said issue. Providing a resource to help fix these issues as they occur in the future. \n\n#### Issues accessing a method on GitHub: \nWhen following the links to the projects stored on GitHub you may receive a 404 error. Please ensure you are logged into\nGitHub. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." + "meaning": { + "en-US": "Statistics and data analysis officially published by ONS for public consumption." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3197,13 +4401,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "5WaengmajUsGSEbXHxhu1r", + "id": "7gaTewUF0sQXN7T36lIDyX", "type": "Entry", - "createdAt": "2023-02-09T10:27:10.542Z", - "updatedAt": "2024-04-11T15:56:13.365Z", + "createdAt": "2024-10-18T13:47:32.504Z", + "updatedAt": "2024-10-18T13:47:33.551Z", "environment": { "sys": { "id": "preprod", @@ -3211,30 +4415,35 @@ "linkType": "Environment" } }, - "publishedVersion": 100, - "publishedAt": "2024-04-11T15:56:13.365Z", - "firstPublishedAt": "2023-02-09T10:27:26.767Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:33.551Z", + "firstPublishedAt": "2024-10-18T13:47:33.551Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 101, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3243,26 +4452,49 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5WaengmajUsGSEbXHxhu1r" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/7gaTewUF0sQXN7T36lIDyX" }, "fields": { "id": { - "en-US": "github" + "en-US": "cell-key-perturbation-r" }, - "title": { - "en-US": "Using GitHub" + "name": { + "en-US": "Cell Key Perturbation " }, - "content": { - "en-US": "This section contains useful links for anyone unfamiliar with Github, it provides some pointers to documentation that will help you use and navigate the system.\n\nFor general guidance consult the [Github documentation](https://docs.github.com/en) in the first instance\n#### Releases\n\nConsult the [Github guidance on navigating releases](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get an understanding of identifying where the release information can be found and how to search for a specific release.\n\nView the [Github release comparison documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get information on comparing different release versions and understanding how to use Github to determine the changes between releases.\n" + "theme": { + "en-US": "Statistical Disclosure Control" + }, + "expertGroup": { + "en-US": "Statistical Disclosure Control" + }, + "language": { + "en-US": "R" + }, + "author": { + "en-US": "ONS" + }, + "description": { + "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation." + }, + "contactDetails": { + "en-US": "smlhelp@ons.gov.uk" + }, + "methodReady": { + "en-US": false + }, + "releaseVersion": { + "en-US": "Not Released Yet" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3270,13 +4502,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "id": "51E73QFXqVNxRsoUxzcoSj", "type": "Entry", - "createdAt": "2023-02-14T16:29:55.702Z", - "updatedAt": "2024-04-11T15:56:13.817Z", + "createdAt": "2024-10-18T13:47:32.518Z", + "updatedAt": "2024-10-18T13:47:33.569Z", "environment": { "sys": { "id": "preprod", @@ -3284,30 +4516,35 @@ "linkType": "Environment" } }, - "publishedVersion": 146, - "publishedAt": "2024-04-11T15:56:13.817Z", - "firstPublishedAt": "2023-02-14T16:31:39.055Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:33.569Z", + "firstPublishedAt": "2024-10-18T13:47:33.569Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 67, - "version": 147, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3319,7 +4556,7 @@ "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/51E73QFXqVNxRsoUxzcoSj" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/51E73QFXqVNxRsoUxzcoSj" }, "fields": { "id": { @@ -3355,9 +4592,6 @@ "releaseLink": { "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" }, - "additionalInformation": { - "en-US": "No resources are currently available." - }, "codeLink": { "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/editing/thousand_pounds/thousand_pounds.py" }, @@ -3372,6 +4606,8 @@ { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3379,13 +4615,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "3B4A7Fs3mnyEAzOgTaeHMn", + "id": "6FEY1vfAQ1bNUjOxKoJ6zx", "type": "Entry", - "createdAt": "2023-11-14T13:44:55.457Z", - "updatedAt": "2024-04-11T15:56:14.336Z", + "createdAt": "2024-10-18T13:47:33.519Z", + "updatedAt": "2024-10-18T13:47:34.493Z", "environment": { "sys": { "id": "preprod", @@ -3393,30 +4629,35 @@ "linkType": "Environment" } }, - "publishedVersion": 112, - "publishedAt": "2024-04-11T15:56:14.336Z", - "firstPublishedAt": "2023-11-14T13:45:21.793Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:34.493Z", + "firstPublishedAt": "2024-10-18T13:47:34.493Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "5UvTG4M4dJ3e1i7ByuaAeW" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 48, - "version": 113, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3425,20 +4666,28 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "privacycontent" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3B4A7Fs3mnyEAzOgTaeHMn" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/6FEY1vfAQ1bNUjOxKoJ6zx" }, "fields": { - "privacy_content": { - "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." + "id": { + "en-US": "exploration" + }, + "term": { + "en-US": "Exploration" + }, + "meaning": { + "en-US": "Exploratory data analysis not intended for direct use as an official output." } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3446,13 +4695,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "4GwadO5feNlF2biBAAZbfw", + "id": "1dEel1rXrwQTW8p1DumqQT", "type": "Entry", - "createdAt": "2023-11-23T16:31:09.866Z", - "updatedAt": "2024-04-11T15:56:15.136Z", + "createdAt": "2024-10-18T13:47:33.525Z", + "updatedAt": "2024-10-18T13:47:35.534Z", "environment": { "sys": { "id": "preprod", @@ -3460,30 +4709,35 @@ "linkType": "Environment" } }, - "publishedVersion": 119, - "publishedAt": "2024-04-11T15:56:15.136Z", - "firstPublishedAt": "2023-11-23T16:34:18.225Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:35.534Z", + "firstPublishedAt": "2024-10-18T13:47:35.534Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 50, - "version": 120, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3495,14 +4749,14 @@ "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/4GwadO5feNlF2biBAAZbfw" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/1dEel1rXrwQTW8p1DumqQT" }, "fields": { "id": { - "en-US": "totals-and-components" + "en-US": "date-adjustment" }, "name": { - "en-US": "Totals and Component" + "en-US": "Date Adjustment" }, "theme": { "en-US": "Editing" @@ -3517,7 +4771,7 @@ "en-US": "ONS" }, "description": { - "en-US": "The automatic editing method for totals and components correction is currently used in ONS business surveys to ensure fixed relationships between variables are satisfied. For example, when a total (e.g., total employment) is collected along with the component breakdown (e.g., full-time male, full-time female, part-time male, part-time female). The primary use of the method is to automatically detect and correct errors in respondent data where fixed relationships have not been satisfied to improve the efficiency of the editing process, reduce the burden on respondents and survey validators and improve overall data quality. This method can also be used to ensure fixed relationships between variables are satisfied in other data types such as imputed data to improve overall data quality." + "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." }, "contactDetails": { "en-US": "smlhelp@ons.gov.uk" @@ -3526,28 +4780,27 @@ "en-US": true }, "releaseVersion": { - "en-US": "v1.1.0" + "en-US": "v1.0.0" }, "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." + "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" }, "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/tree/main/sml_small/editing/totals_and_components" + "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" }, "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/totals_components/editing_and_imputation/totals_components.md" + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" }, "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/totals-and-components/totals-and-components.md" + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3555,13 +4808,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "viM9TL5rdzMZITGCQBIbe", + "id": "4GwadO5feNlF2biBAAZbfw", "type": "Entry", - "createdAt": "2023-11-23T16:35:17.017Z", - "updatedAt": "2024-04-11T15:56:15.748Z", + "createdAt": "2024-10-18T13:47:33.530Z", + "updatedAt": "2024-10-18T13:47:34.504Z", "environment": { "sys": { "id": "preprod", @@ -3569,30 +4822,35 @@ "linkType": "Environment" } }, - "publishedVersion": 96, - "publishedAt": "2024-04-11T15:56:15.748Z", - "firstPublishedAt": "2023-11-23T16:37:13.023Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:34.504Z", + "firstPublishedAt": "2024-10-18T13:47:34.504Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 42, - "version": 97, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3604,50 +4862,58 @@ "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/viM9TL5rdzMZITGCQBIbe" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/4GwadO5feNlF2biBAAZbfw" }, "fields": { "id": { - "en-US": "mean-of-ratios" + "en-US": "totals-and-components" }, "name": { - "en-US": "Mean of Ratios" + "en-US": "Totals and Components" }, "theme": { - "en-US": "Imputation" + "en-US": "Editing" }, "expertGroup": { "en-US": "Editing & Imputation" }, "language": { - "en-US": "Python/PySpark" + "en-US": "Python/Pandas" }, "author": { "en-US": "ONS" }, "description": { - "en-US": "Mean of Ratios imputation is a standard imputation method for business surveys. It can be used to impute value for unit (complete) non-response or item (partial) non-response. There is an option to use trimming as the method can be influenced by extreme values. The method imputes a single numeric variable. It uses the relationship between the variable being imputed and an appropriate predictive or auxiliary variable.\n\nAs imputation can be carried out for multiple periods simultaneously, the method can apply forward, backward or construction imputation. The type of imputation used will vary for each non-respondent in each period depending on whether data is available in the predictive period." + "en-US": "The automatic editing method for totals and components correction is currently used in ONS business surveys to ensure fixed relationships between variables are satisfied. For example, when a total (e.g., total employment) is collected along with the component breakdown (e.g., full-time male, full-time female, part-time male, part-time female). The primary use of the method is to automatically detect and correct errors in respondent data where fixed relationships have not been satisfied to improve the efficiency of the editing process, reduce the burden on respondents and survey validators and improve overall data quality. This method can also be used to ensure fixed relationships between variables are satisfied in other data types such as imputed data to improve overall data quality." }, "contactDetails": { "en-US": "smlhelp@ons.gov.uk" }, "methodReady": { - "en-US": false + "en-US": true }, "releaseVersion": { - "en-US": "Not Released Yet" + "en-US": "v1.1.0" + }, + "releaseLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" }, - "additionalInformation": { - "en-US": "Links to the method code and specification are provided for further reading." + "codeLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/tree/main/sml_small/editing/totals_and_components/totals_and_components.py" }, "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/imputation/mean_of_ratios/technical_specification.md" + "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/totals_components/editing_and_imputation/totals_components.md" + }, + "userDocumentationLink": { + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/totals-and-components/totals-and-components.md" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3655,13 +4921,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "240OpTHU9qKVueslnoYjWy", + "id": "78d7qRmxYSzox6ccAwoPII", "type": "Entry", - "createdAt": "2023-11-28T12:36:55.909Z", - "updatedAt": "2024-04-11T15:56:16.284Z", + "createdAt": "2024-10-18T13:47:33.591Z", + "updatedAt": "2024-10-18T13:47:34.585Z", "environment": { "sys": { "id": "preprod", @@ -3669,171 +4935,35 @@ "linkType": "Environment" } }, - "publishedVersion": 122, - "publishedAt": "2024-04-11T15:56:16.284Z", - "firstPublishedAt": "2023-11-28T12:37:14.845Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:34.585Z", + "firstPublishedAt": "2024-10-18T13:47:34.585Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 56, - "version": 123, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreStructure" - } - }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/240OpTHU9qKVueslnoYjWy" - }, - "fields": { - "name": { - "en-US": "Help Centre Structure" - }, - "structure": { - "en-US": { - "categories": [ - { - "name": "information", - "label": "Information", - "subcategories": [ - { - "name": "methods-request", - "label": "Submit a method request" - }, - { - "name": "version-methods", - "label": "How the methods are versioned" - }, - { - "name": "coding-standards", - "label": "Coding standards" - } - ] - }, - { - "name": "access", - "label": "Access (and usage)", - "subcategories": [ - { - "name": "view-methods", - "label": "Find and view methods" - }, - { - "name": "run-a-method", - "label": "Use a method" - } - ] - }, - { - "name": "feedback", - "label": "Feedback", - "subcategories": [ - { - "name": "report-bug", - "label": "Report a defect or bug" - }, - { - "name": "provide-feedback", - "label": "Provide feedback" - } - ] - }, - { - "name": "support", - "label": "Support", - "subcategories": [ - { - "name": "support", - "label": "Get support" - }, - { - "name": "expert-groups", - "label": "Get information on expert groups" - }, - { - "name": "troubleshooting", - "label": "Troubleshooting" - }, - { - "name": "github", - "label": "Using GitHub" - } - ] - } - ] - } - } - } - }, - { - "metadata": { - "tags": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "ldcm7uk1vtxb" - } - }, - "id": "3yPRVuZ5tvZdP09NLOauEj", - "type": "Entry", - "createdAt": "2023-12-01T13:23:39.776Z", - "updatedAt": "2024-04-11T15:56:16.687Z", - "environment": { - "sys": { - "id": "preprod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 169, - "publishedAt": "2024-04-11T15:56:16.687Z", - "firstPublishedAt": "2023-12-01T13:31:08.880Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 57, - "version": 170, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3842,32 +4972,31 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreMethodRequest" + "id": "methodsCatalogue" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/3yPRVuZ5tvZdP09NLOauEj" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/78d7qRmxYSzox6ccAwoPII" }, "fields": { - "name": { - "en-US": "Help Centre Method Request" - }, - "internalUserTitle": { - "en-US": "I am an ONS internal user" + "heading1": { + "en-US": "Methods catalogue" }, - "internalUserContent": { - "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + "paragraph": { + "en-US": "Here you will discover statistical methods used by the Office for National Statistics." }, - "externalUserTitle": { - "en-US": "I am a user from outside the ONS" + "detail": { + "en-US": "What are method themes and expert groups?" }, - "externalUserContent": { - "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." + "detailContent": { + "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3875,13 +5004,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "5dA4wvX0V2tLHCnwvDEyI2", + "id": "5WYN3VRdVncydnbqCYupCM", "type": "Entry", - "createdAt": "2024-01-04T11:42:14.987Z", - "updatedAt": "2024-04-11T15:56:17.281Z", + "createdAt": "2024-10-18T13:47:33.686Z", + "updatedAt": "2024-10-18T13:47:34.502Z", "environment": { "sys": { "id": "preprod", @@ -3889,30 +5018,35 @@ "linkType": "Environment" } }, - "publishedVersion": 90, - "publishedAt": "2024-04-11T15:56:17.281Z", - "firstPublishedAt": "2024-01-04T11:46:37.035Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:34.502Z", + "firstPublishedAt": "2024-10-18T13:47:34.502Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 42, - "version": 91, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3921,23 +5055,25 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "accessibilityPage" + "id": "heroHomePage" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5dA4wvX0V2tLHCnwvDEyI2" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/5WYN3VRdVncydnbqCYupCM" }, "fields": { - "title": { - "en-US": "Accessibility Statement" + "heroTitle": { + "en-US": "An open source library for statistical code approved by the ONS" }, - "mainContent": { - "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" + "heroButton": { + "en-US": "Find methods" } } }, { "metadata": { "tags": [ + ], + "concepts": [ ] }, "sys": { @@ -3945,13 +5081,13 @@ "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, - "id": "5i7w3zivMPSd7CStFhcH3", + "id": "7ald28ahkCJgBJu1oKhUmI", "type": "Entry", - "createdAt": "2024-03-12T15:02:31.176Z", - "updatedAt": "2024-04-11T15:56:17.825Z", + "createdAt": "2024-10-18T13:47:33.769Z", + "updatedAt": "2024-10-18T13:47:35.569Z", "environment": { "sys": { "id": "preprod", @@ -3959,30 +5095,35 @@ "linkType": "Environment" } }, - "publishedVersion": 99, - "publishedAt": "2024-04-11T15:56:17.825Z", - "firstPublishedAt": "2024-03-12T15:06:21.292Z", + "publishedVersion": 1, + "publishedAt": "2024-10-18T13:47:35.569Z", + "firstPublishedAt": "2024-10-18T13:47:35.569Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "publishedCounter": 42, - "version": 100, + "publishedCounter": 1, + "version": 2, "publishedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" } }, "automationTags": [ @@ -3994,38 +5135,50 @@ "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/ldcm7uk1vtxb/environments/preprod/entries/5i7w3zivMPSd7CStFhcH3" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/preprod/entries/7ald28ahkCJgBJu1oKhUmI" }, "fields": { "id": { - "en-US": "cell-key-perturbation" + "en-US": "selective-editing" }, "name": { - "en-US": "Cell Key Perturbation" + "en-US": "Selective Editing" }, "theme": { - "en-US": "Statistical Disclosure Control" + "en-US": "Editing" }, "expertGroup": { - "en-US": "Statistical Disclosure Control" + "en-US": "Editing & Imputation" }, "language": { - "en-US": "Python & R" + "en-US": "Python/Pandas" }, "author": { - "en-US": "ONS Community Method" + "en-US": "ONS" }, "description": { - "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation. These can also be used to apply rounding, and a threshold for small counts." + "en-US": "Selective Editing is an internationally recognised editing method where potential errors are prioritised according to their expected effect on key outputs. Only respondents that are having an impact on published estimates will be recontacted.\n\nSelective Editing works by assigning a score to each important variable for a business where, the score reflects the impact that editing the respondent will have on the estimates. Only contributors with a high score are checked, low scoring contributors pass through unchecked." }, "contactDetails": { "en-US": "smlhelp@ons.gov.uk" }, "methodReady": { - "en-US": false + "en-US": true }, "releaseVersion": { - "en-US": "Not Released Yet" + "en-US": "v1.0.0" + }, + "releaseLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" + }, + "codeLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/selective_editing.py" + }, + "specificationLink": { + "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/selective_editing/methodological_specification.md" + }, + "userDocumentationLink": { + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/selective-editing/selective_editing.md" } } } @@ -4043,13 +5196,13 @@ "optional": false, "sys": { "type": "Locale", - "id": "5YH3JHwWMEbnsrEssLg9ef", - "version": 1, + "id": "3X8kgeA37iIItibBJv7rQ8", + "version": 2, "space": { "sys": { "type": "Link", "linkType": "Space", - "id": "ldcm7uk1vtxb" + "id": "h6k5tsc4ytaf" } }, "environment": { @@ -4057,7 +5210,7 @@ "type": "Link", "linkType": "Environment", "id": "preprod", - "uuid": "12b451cc-a33c-4e74-afcd-5a19778e04bf" + "uuid": "23b3011d-9766-4b4a-808a-37be8aa26e2f" } }, "createdBy": { @@ -4067,15 +5220,15 @@ "id": "0RE3J0ImbZ27ZHNVtOJhsd" } }, - "createdAt": "2024-03-28T15:34:52Z", + "createdAt": "2024-05-22T13:09:05Z", "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "0RE3J0ImbZ27ZHNVtOJhsd" + "id": "7BqQQLssfY5nUeZr8AO3cF" } }, - "updatedAt": "2024-03-28T15:34:52Z" + "updatedAt": "2024-08-27T11:50:31Z" } } ] diff --git a/contentful-data/rollbacks/prod-export.json b/contentful-data/rollbacks/prod-export.json index c44a1e57d..e96e48d4b 100644 --- a/contentful-data/rollbacks/prod-export.json +++ b/contentful-data/rollbacks/prod-export.json @@ -2018,10 +2018,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "4GpXwiVIqopHyO33yxnSAA", + "id": "1blaUAHFEY66NrdCtomp9k", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.234Z", - "updatedAt": "2024-10-04T09:36:04.232Z", + "createdAt": "2024-10-08T14:13:57.878Z", + "updatedAt": "2024-10-08T14:13:59.844Z", "environment": { "sys": { "id": "prod", @@ -2030,20 +2030,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.232Z", - "firstPublishedAt": "2024-10-04T09:36:04.232Z", + "publishedAt": "2024-10-08T14:13:59.844Z", + "firstPublishedAt": "2024-10-08T14:13:59.844Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2052,7 +2052,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2066,14 +2066,33 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "about" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/4GpXwiVIqopHyO33yxnSAA" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1blaUAHFEY66NrdCtomp9k" }, "fields": { - "about": { - "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe statistical methods library is a central library for approved statistical methods for use within ONS and wider.\n\n## Overall mission\n\nThe Statistical Methods Library (SML) provides a central resource for consistent and reproducible statistical methods within the ONS and wider. The library ensures that methods for official statistical outputs are fully transparent. It provides proportionate governance and assurance processes, including peer review of methods for statistical production and analysis or exploration.\n\nThe library facilitates continuous improvement by providing users with the ability to add new methods or request changes to existing ones. It contains documentation on method specifications, how-to guidance and contact details for help and support. The SML will allow users to share methods and best practice with other government departments.\n\n## Current objectives\n\n- To act as a shared single point of reference for best practice methods and share methods across government departments.\n- To continuously update methods based on peer reviews, emerging facts and user feedback.\n- To provide clear evidence of audit and quality assurance for approved methods.\n\n## Future objectives\n- To standardise best practice methods across the ONS and government departments.\n- To act as a developmental tool, providing reference material and guides to approved methods.\n- To demonstrate, share and promote innovation in methodological practice across GSS/wider government.\n\n## Further information\nThe SML contains many features, including:\n\n- A catalogue of methods\n- Statistical methods specifications\n- A code repository\n- Downloadable Methods packages\n- Technical methods governance\n- A glossary of terms\n- How-to guidance" + "id": { + "en-US": "pypi" + }, + "term": { + "en-US": "PyPI" + }, + "meaning": { + "en-US": "The Python Package Index (PyPI) is a repository of software for the Python programming language. Package authors (such as ONS-SML) use PyPI to distribute their software." + }, + "relatedlist": { + "en-US": [ + "SML", + "Package", + "Repository" + ] + }, + "externalLinkTextShort": { + "en-US": "ONS-SML user profile on PyPI" + }, + "externalUrl": { + "en-US": "https://pypi.org/user/ons-sml/" } } }, @@ -2092,10 +2111,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "bGW6DZuAqOTCrASxPzq3c", + "id": "6FVuaTke9hjBtzWOEuDexR", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.237Z", - "updatedAt": "2024-10-04T09:36:04.242Z", + "createdAt": "2024-10-08T14:13:57.897Z", + "updatedAt": "2024-10-08T14:13:59.943Z", "environment": { "sys": { "id": "prod", @@ -2104,20 +2123,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.242Z", - "firstPublishedAt": "2024-10-04T09:36:04.242Z", + "publishedAt": "2024-10-08T14:13:59.943Z", + "firstPublishedAt": "2024-10-08T14:13:59.943Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2126,7 +2145,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2140,20 +2159,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "glossaryEntry" + "id": "helpCentreInformation" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/bGW6DZuAqOTCrASxPzq3c" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6FVuaTke9hjBtzWOEuDexR" }, "fields": { "id": { - "en-US": "package" + "en-US": "install-a-method" }, - "term": { - "en-US": "Package" + "title": { + "en-US": "Install a method" }, - "meaning": { - "en-US": "An archive containing software and additional metadata that is distributed by a package manager. Sometimes used as a synonym for 'library', but does not always refer to libraries." + "content": { + "en-US": "# This page covers the following topics:\n- How to install date adjustment, selective editing, thousand pounds, or totals and components\n- How to install other Python methods\n- How to install R methods\n- Managing package dependencies with SML methods \n\n**IDS Users:**\nIDS users should follow the IDS guidance for downloading and installing SML methods. \n\n**Using a method:** \nInformation on how to use individual methods can be found in the User Documentation. \n\nYou can access the User Documentation from the Method Summary which you find by clicking on the method name in the Method Catalogue.\n\n**Package dependencies:**\nSML methods may require installation of specific versions of Python, R or essential packages. To avoid changing installations in your base environment, we recommend creating a virtual environment (Python) or using renv in an R Studio project. \n\nIf you’d like further guidance on this, please see “Managing package dependencies with SML methods” below. \n\n## How to install date adjustment, selective editing, thousand pounds, or totals and components\n\nOnce you have set up the virtual environment and connected to your IDE (if using), follow the steps below.\n\n- Check you have installed the correct versions of Python and required packages such as Pandas (see User Documentation).\n\n- From your Python environment enter __pip install sml_small__ \n\n- To install a specific version enter __pip install sml_small==version_number__, for example: __pip install sml_small==1.1.0__ \n\nSearch \"sml_small\" on “PyPI · The Python Package Index” for available versions.\n\n- To use Date Adjustment or Selective Editing run the following: __import sml_small.date_adjustment as date_adjust__ OR __import sml_small.selective_editing as seled__ \n\n- To use Totals and Components or Thousand Pounds run the following: __from sml_small.editing import thousand_pounds__ OR __from sml_small.editing import totals_and_components__ \n\nThe methods are now available for you to use.\n\n## Installing other Python methods\n\nOnce you have set up the virtual environment and connected to an IDE (if using), follow the steps below.\n\n- Check you have installed the correct versions of Python and required packages such as Pandas (see User Documentation).\n\n- From your Python environment enter __pip install package_name__, for example: the Python version of cell-key-perturbation is installed using __pip install cell_key_perturbation__\n\n- To install a specific version enter __pip install package_name==version_number__, for example: __pip install cell_key_perturbation==1.1.1__\n\nSearch the method name on “PyPI · The Python Package Index” for available versions. \n\nThe method is now available for you to import.\n\n## Installing R methods\n\nOnce you have created an R Studio project using renv to install required packages, you are ready to download the method package. For more guidance on using renv please see 'Managing package dependencies in R Studio with renv' below. \n\n-\tInstall the method package in your project using __renv::install(\"package_name\")__, for example, if the method package was named \"aggregate\" you would enter __renv::install(\"aggregate\")__\n\n- To install a specific version use __renv::install(\"package_name@version\")__, for example: __renv::install(\"aggregate@1.2.1\")__ \n\nThe method is now available for you to load. \n\n## Managing package dependencies with SML methods\n\nThis section covers the following topics:\n\n- Managing package dependencies for Python methods using Conda\n-\tConnecting Spyder to a virtual environment\n-\tConnecting Jupyter Notebook to a virtual environment\n-\tManaging package dependencies in R Studio using renv\n\n### Managing package dependencies for Python methods using Conda\n\nVirtual environments allow you to install specific versions of software in a contained environment. For example, you can install an older version of Python in a virtual environment but continue to use the most recent version of Python in your default environment. \n\nPlease refer to the method User Documentation for information about which version of Python and packages like Pandas or Numpy you need to use for a specific method. You will need this information to correctly set up your environment. \n\nThis guidance uses conda to create a virtual environment on your device. Conda is an open-source environment management system that allows you to create virtual environments.\n\n- Search Anaconda Prompt on your device and click to open it (note, this will only work if you have already installed Anaconda or Miniconda).\n\n- At the prompt enter __conda create environment_name__, for example, to create and environment called \"test_env\" you would enter __conda create test_env__\n\nYou should name your environment something that will help you remember what it’s used for. If prompted, enter 'y' to proceed.\n\n- Enter __conda activate environment_name__ \n\nYou should now see your environment name to the left of the C:/ prompt. This shows you are working within the virtual environment. \n\nTo leave the environment at any time enter __conda deactivate__ To come back to your environment later, enter __conda activate environment_name__, as before.\n\n- Consult the User Documentation to identify what version of Python is required and to see what packages (and package versions) are needed. Make note of these.\n\n- Now, enter __conda install python=version_number__ If prompted, enter 'y' to proceed.\n\nNote, Python versions > 3.4 automatically install pip, so that will likely be available to you in your environment after successfully installing Python. If not, enter __conda install pip__\n\n- Install required packages using __pip install package_name==version__, for example: __pip install pandas==1.5.3__\n\n- If you want to check what is currently installed in your environment enter __conda list__ \n\n- If you would like to use the methods from within an IDE like Visual Studio, Spyder, or Jupyter Notebook, then you will need to install the kernels for these in the virtual environment and connect them to your session (see further guidance below)\n\nYour virtual environment is now set up and ready for you to install your chosen SML method. Remember to deactivate your environment when you’re done setting it up by entering __conda deactivate__ from the Anaconda prompt window.\n\nThe environment does not need to be activated here for you to use it with Spyder or Jupyter Notebook, providing you have followed the steps to connect the environment to these.\n\n## Connecting Spyder to a virtual environment\n\n- Enter __pip install spyder-kernels__ (still within Anaconda prompt and your virtual environment). If you have installed an older version of python (e.g., 3.7.1 for use with sml_small) then you need to specify an older version of spyder-kernels, e.g., __pip install spyder-kernels=1.9.2__\n\n- Open Spyder.\n\n- From the top menu, go to __Tools -> Preferences -> Python Interpreter__.\n\n- Select __Use the following Python Interpreter__.\n\n- Click on the __select file__ icon (to the right of the address bar below).\n\n- Navigate to the location of your virtual environment. \n\nIf you’re unsure where this is, go to your Anaconda prompt window and enter __conda list__ from within your virtual environment. The file path you need will appear at the top of the list.\n\n- Click on the folder to open your virtual environment and scroll down to find and click on the __python.exe file__. \n\n- Click __Apply__ and __OK__ to close the Preferences window.\n\nYou should see your virtual environment name and the python version it’s running on the bottom of the Spyder window.\n\n- When you are done working from this environment, go back to __Tools -> Preferences-> Python Interpreter__, and select the __Default interpreter__, instead of your virtual environment.\n\n## Connecting Jupyter Notebook to a virtual environment\n\n- Enter __pip install ipykernel__ (still within Anaconda prompt and your virtual environment).\n\n- Then enter __python -m ipykernel install --name env_name__ \n\n- Start Jupyter Notebook.\n\n- From the __Files__ page (you should be here by default) go to __New__, located in the top right.\n\n- Click on __New__ and select your virtual environment name.\n\nYour new notebook now will use the Python and package versions installed in this environment.\n\n## Managing package dependencies in R Studio with renv\n\n- Open R Studio and select __File -> New Project__.\n\n- Select __New Directory -> New Project__ and give your directory a useful name.\n\n- Tick __Use renv with this project__.\n\n- Consult the User Documentation for details about what packages are required to run a method. Make note of these.\n\n- Install required package versions using __renv::install(\"package@version\")__, for example: to install devtools 2.4.4 use __renv::install(\"devtools@2.4.4\")__\n\n- Download and run the chosen SML method within this project environment (see \"Installing R Methods\" above for more guidance).\n\nUsing renv will make specified versions of packages available for this project, but will not affect versions installed outside the project. \n\nYou can verify which versions are installed using __sessionInfo()__ " } } }, @@ -2172,10 +2191,84 @@ "id": "h6k5tsc4ytaf" } }, - "id": "5eYwt4est2ARh3hat0BL3r", + "id": "4GpXwiVIqopHyO33yxnSAA", + "type": "Entry", + "createdAt": "2024-10-08T14:13:57.901Z", + "updatedAt": "2024-10-08T14:13:59.932Z", + "environment": { + "sys": { + "id": "prod", + "type": "Link", + "linkType": "Environment" + } + }, + "publishedVersion": 1, + "publishedAt": "2024-10-08T14:13:59.932Z", + "firstPublishedAt": "2024-10-08T14:13:59.932Z", + "createdBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "6mszWgxBhBqoX0Rm2OPOa6" + } + }, + "updatedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "6mszWgxBhBqoX0Rm2OPOa6" + } + }, + "publishedCounter": 1, + "version": 2, + "publishedBy": { + "sys": { + "type": "Link", + "linkType": "User", + "id": "6mszWgxBhBqoX0Rm2OPOa6" + } + }, + "fieldStatus": { + "*": { + "en-US": "published" + } + }, + "automationTags": [ + ], + "contentType": { + "sys": { + "type": "Link", + "linkType": "ContentType", + "id": "about" + } + }, + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/4GpXwiVIqopHyO33yxnSAA" + }, + "fields": { + "about": { + "en-US": "# About the Statistical Methods Library\n\n## What is the Statistical Methods Library?\n\nThe Statistical Methods Library (SML) is a central library for approved statistical methods, accessible to a wide range of users.\n\n## SML mission\n\nOur mission is to provide a central resource for consistent and reproducible statistical methods and documentation, including a governance process to facilitate quality assurance and adding/updating methods. The SML will allow methods and best practice to be shared across ONS, other government departments and wider. \n\n## Current objectives\n\n- To act as a shared single point of storage and reference for best practice methods and method documentation \n\n- To ensure methods are available across ONS, other government departments and a wider user base, through a public portal and the Integrated Data Service (IDS). \n\n- To ensure that methods for official statistical outputs are fully transparent. \n\n- To provide clear governance for method quality assurance. \n" + } + } + }, + { + "metadata": { + "tags": [ + ], + "concepts": [ + ] + }, + "sys": { + "space": { + "sys": { + "type": "Link", + "linkType": "Space", + "id": "h6k5tsc4ytaf" + } + }, + "id": "bGW6DZuAqOTCrASxPzq3c", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.239Z", - "updatedAt": "2024-10-04T09:36:04.362Z", + "createdAt": "2024-10-08T14:13:57.902Z", + "updatedAt": "2024-10-08T14:13:59.877Z", "environment": { "sys": { "id": "prod", @@ -2184,20 +2277,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.362Z", - "firstPublishedAt": "2024-10-04T09:36:04.362Z", + "publishedAt": "2024-10-08T14:13:59.877Z", + "firstPublishedAt": "2024-10-08T14:13:59.877Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2206,7 +2299,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2223,17 +2316,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5eYwt4est2ARh3hat0BL3r" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/bGW6DZuAqOTCrASxPzq3c" }, "fields": { "id": { - "en-US": "smll" + "en-US": "package" }, "term": { - "en-US": "SML" + "en-US": "Package" }, "meaning": { - "en-US": "The Statistical Methods Library, a centralised collection of methods approved for use by the ONS. Comprises a code library, accessed through GitHub, and a collection of associated documentation, accessed via the SML Portal." + "en-US": "An archive containing software and additional metadata that is distributed by a package manager. Sometimes used as a synonym for 'library', but does not always refer to libraries." } } }, @@ -2252,10 +2345,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "7IvVbD5tUwbzWeWPqwQP5n", + "id": "6l2sPkpbSgUyoYr9x1OLX2", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.239Z", - "updatedAt": "2024-10-04T09:36:04.210Z", + "createdAt": "2024-10-08T14:13:58.138Z", + "updatedAt": "2024-10-08T14:13:59.861Z", "environment": { "sys": { "id": "prod", @@ -2264,20 +2357,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.210Z", - "firstPublishedAt": "2024-10-04T09:36:04.210Z", + "publishedAt": "2024-10-08T14:13:59.861Z", + "firstPublishedAt": "2024-10-08T14:13:59.861Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2286,7 +2379,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2303,23 +2396,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7IvVbD5tUwbzWeWPqwQP5n" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6l2sPkpbSgUyoYr9x1OLX2" }, "fields": { "id": { - "en-US": "semantic_versioning" + "en-US": "version_control" }, "term": { - "en-US": "Semantic Versioning" + "en-US": "Version Control" }, "meaning": { - "en-US": "A popular scheme for determining version numbers. Consists of three integers, separated by full stops. The first integer is the 'major' version number, the second is the 'minor' version number, and the third is the 'patch' number. The patch number is incremented by 1 when bugfixes are implemented. The minor version is incremented by 1 when new functionality is introduced without affecting compatibility with previous versions. The major version number is incremented by 1 when changes are made that break compatibility with previous versions. See https://semver.org" - }, - "externalLinkTextShort": { - "en-US": "Semantic Versioning" - }, - "externalUrl": { - "en-US": "https://semver.org" + "en-US": "A means of tracking changes made to a file or collection of files. Commonly used to track the development of software projects." } } }, @@ -2340,8 +2427,8 @@ }, "id": "240OpTHU9qKVueslnoYjWy", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.241Z", - "updatedAt": "2024-10-04T09:36:04.235Z", + "createdAt": "2024-10-08T14:13:58.143Z", + "updatedAt": "2024-10-08T14:13:59.884Z", "environment": { "sys": { "id": "prod", @@ -2350,20 +2437,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.235Z", - "firstPublishedAt": "2024-10-04T09:36:04.235Z", + "publishedAt": "2024-10-08T14:13:59.884Z", + "firstPublishedAt": "2024-10-08T14:13:59.884Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2372,7 +2459,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2395,32 +2482,10 @@ "structure": { "en-US": { "categories": [ - { - "name": "information", - "label": "Information", - "subcategories": [ - { - "name": "methods-request", - "label": "Submit a method request" - }, - { - "name": "version-methods", - "label": "How the methods are versioned" - }, - { - "name": "coding-standards", - "label": "Coding standards" - } - ] - }, { "name": "access", - "label": "Access (and usage)", + "label": "Accessing Methods", "subcategories": [ - { - "name": "view-methods", - "label": "Find and view methods" - }, { "name": "install-a-method", "label": "Install a method" @@ -2432,12 +2497,8 @@ "label": "Feedback", "subcategories": [ { - "name": "report-bug", - "label": "Report a defect or bug" - }, - { - "name": "provide-feedback", - "label": "Provide feedback" + "name": "get-in-touch", + "label": "Get in touch" } ] }, @@ -2445,21 +2506,9 @@ "name": "support", "label": "Support", "subcategories": [ - { - "name": "support", - "label": "Get support" - }, - { - "name": "expert-groups", - "label": "Get information on expert groups" - }, { "name": "troubleshooting", "label": "Troubleshooting" - }, - { - "name": "github", - "label": "Using GitHub" } ] } @@ -2483,10 +2532,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "1blaUAHFEY66NrdCtomp9k", + "id": "3MHWfCcqLpDHbc7NLLuNh6", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.243Z", - "updatedAt": "2024-10-04T09:36:04.229Z", + "createdAt": "2024-10-08T14:13:58.148Z", + "updatedAt": "2024-10-08T14:13:59.901Z", "environment": { "sys": { "id": "prod", @@ -2495,20 +2544,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.229Z", - "firstPublishedAt": "2024-10-04T09:36:04.229Z", + "publishedAt": "2024-10-08T14:13:59.901Z", + "firstPublishedAt": "2024-10-08T14:13:59.901Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2517,7 +2566,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2534,30 +2583,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1blaUAHFEY66NrdCtomp9k" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3MHWfCcqLpDHbc7NLLuNh6" }, "fields": { "id": { - "en-US": "pypi" + "en-US": "statistical_methods" }, "term": { - "en-US": "PyPI" + "en-US": "Statistical Methods" }, "meaning": { - "en-US": "The Python Package Index (PyPI) is a repository of software for the Python programming language. Package authors (such as ONS-SML) use PyPI to distribute their software." - }, - "relatedlist": { - "en-US": [ - "SML", - "Package", - "Repository" - ] - }, - "externalLinkTextShort": { - "en-US": "ONS-SML user profile on PyPI" - }, - "externalUrl": { - "en-US": "https://pypi.org/user/ons-sml/" + "en-US": "Mathematical techniques used to transform, analyse and manipulate data that fall under the remit of one of the expert groups within the Methodology and Quality Directorate of the ONS." } } }, @@ -2576,10 +2612,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "3MHWfCcqLpDHbc7NLLuNh6", + "id": "7ePz4NOKkNuYxTCKGceI0o", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.243Z", - "updatedAt": "2024-10-04T09:36:04.221Z", + "createdAt": "2024-10-08T14:13:58.171Z", + "updatedAt": "2024-10-08T14:13:59.938Z", "environment": { "sys": { "id": "prod", @@ -2588,20 +2624,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.221Z", - "firstPublishedAt": "2024-10-04T09:36:04.221Z", + "publishedAt": "2024-10-08T14:13:59.938Z", + "firstPublishedAt": "2024-10-08T14:13:59.938Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2610,7 +2646,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2624,20 +2660,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "glossaryEntry" + "id": "helpCentreInformation" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3MHWfCcqLpDHbc7NLLuNh6" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7ePz4NOKkNuYxTCKGceI0o" }, "fields": { "id": { - "en-US": "statistical_methods" + "en-US": "get-in-touch" }, - "term": { - "en-US": "Statistical Methods" + "title": { + "en-US": "Get in touch" }, - "meaning": { - "en-US": "Mathematical techniques used to transform, analyse and manipulate data that fall under the remit of one of the expert groups within the Methodology and Quality Directorate of the ONS." + "content": { + "en-US": "If you'd like to speak to someone on the SML team, please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk).\n\nNeed help installing a method? Make sure you've consulted the Help Centre \"Install a Method\" page.\n\nNeed help using a method? Make sure you have read the user documentation, which you can find by clicking on the method name in the Method Catalogue. \n\nIf you still need assistance or if you have suggestions or other feedback, please do get in touch with us using the email above.\n" } } }, @@ -2656,10 +2692,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "2Oyrzj4Dkqn9LuNDxFZMnh", + "id": "0HJkQZKUd1CyK7UypkxqB", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.259Z", - "updatedAt": "2024-10-04T09:36:04.239Z", + "createdAt": "2024-10-08T14:13:58.176Z", + "updatedAt": "2024-10-08T14:13:59.913Z", "environment": { "sys": { "id": "prod", @@ -2668,20 +2704,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.239Z", - "firstPublishedAt": "2024-10-04T09:36:04.239Z", + "publishedAt": "2024-10-08T14:13:59.913Z", + "firstPublishedAt": "2024-10-08T14:13:59.913Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2690,7 +2726,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2704,27 +2740,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "glossaryEntry" + "id": "helpCentreInformation" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/2Oyrzj4Dkqn9LuNDxFZMnh" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/0HJkQZKUd1CyK7UypkxqB" }, "fields": { "id": { - "en-US": "release" - }, - "term": { - "en-US": "Release" + "en-US": "troubleshooting" }, - "meaning": { - "en-US": "A 'snapshot' of a Git repository marked as being stable. Releases are commonly referred to by a version number. A popular scheme for determining version numbers is semantic versioning." + "title": { + "en-US": "Troubleshooting" }, - "relatedlist": { - "en-US": [ - "Git", - "Repository", - "Semantic Versioning" - ] + "content": { + "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve the issue. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." } } }, @@ -2743,10 +2772,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6FVuaTke9hjBtzWOEuDexR", + "id": "5eYwt4est2ARh3hat0BL3r", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.263Z", - "updatedAt": "2024-10-04T09:36:04.279Z", + "createdAt": "2024-10-08T14:13:58.221Z", + "updatedAt": "2024-10-08T14:13:59.876Z", "environment": { "sys": { "id": "prod", @@ -2755,20 +2784,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.279Z", - "firstPublishedAt": "2024-10-04T09:36:04.279Z", + "publishedAt": "2024-10-08T14:13:59.876Z", + "firstPublishedAt": "2024-10-08T14:13:59.876Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2777,7 +2806,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2791,20 +2820,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6FVuaTke9hjBtzWOEuDexR" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5eYwt4est2ARh3hat0BL3r" }, "fields": { "id": { - "en-US": "install-a-method" + "en-US": "smll" }, - "title": { - "en-US": "Install a method" + "term": { + "en-US": "SML" }, - "content": { - "en-US": "# This page covers the following topics:\n- How to install date adjustment, selective editing, thousand pounds, or totals and components\n- How to install other Python methods\n- How to install R methods\n- Managing package dependencies with SML methods \n\n**IDS Users:**\nIDS users should follow the IDS guidance for downloading and installing SML methods. \n\n**Using a method:** \nInformation on how to use individual methods can be found in the User Documentation. \n\nYou can access the User Documentation from the Method Summary which you find by clicking on the method name in the Method Catalogue.\n\n**Package dependencies:**\nSML methods may require installation of specific versions of Python, R or essential packages. To avoid changing installations in your base environment, we recommend creating a virtual environment (Python) or using renv in an R Studio project. \n\nIf you’d like further guidance on this, please see “Managing package dependencies with SML methods” below. \n\n## How to install date adjustment, selective editing, thousand pounds, or totals and components\n\nOnce you have set up the virtual environment and connected to your IDE (if using), follow the steps below.\n\n- Check you have installed the correct versions of Python and required packages such as Pandas (see User Documentation).\n\n- From your Python environment enter __pip install sml_small__ \n\n- To install a specific version enter __pip install sml_small==version_number__, for example: __pip install sml_small==1.1.0__ \n\nSearch \"sml_small\" on “PyPI · The Python Package Index” for available versions.\n\n- To use Date Adjustment or Selective Editing run the following: __import sml_small.date_adjustment as date_adjust__ OR __import sml_small.selective_editing as seled__ \n\n- To use Totals and Components or Thousand Pounds run the following: __from sml_small.editing import thousand_pounds__ OR __from sml_small.editing import totals_and_components__ \n\nThe methods are now available for you to use.\n\n## Installing other Python methods\n\nOnce you have set up the virtual environment and connected to an IDE (if using), follow the steps below.\n\n- Check you have installed the correct versions of Python and required packages such as Pandas (see User Documentation).\n\n- From your Python environment enter __pip install package_name__, for example: the Python version of cell-key-perturbation is installed using __pip install cell_key_perturbation__\n\n- To install a specific version enter __pip install package_name==version_number__, for example: __pip install cell_key_perturbation==1.1.1__\n\nSearch the method name on “PyPI · The Python Package Index” for available versions. \n\nThe method is now available for you to import.\n\n## Installing R methods\n\nOnce you have created an R Studio project using renv to install required packages, you are ready to download the method package. For more guidance on using renv please see 'Managing package dependencies in R Studio with renv' below. \n\n-\tInstall the method package in your project using __renv::install(\"package_name\")__, for example, if the method package was named \"aggregate\" you would enter __renv::install(\"aggregate\")__\n\n- To install a specific version use __renv::install(\"package_name@version\")__, for example: __renv::install(\"aggregate@1.2.1\")__ \n\nThe method is now available for you to load. \n\n## Managing package dependencies with SML methods\n\nThis section covers the following topics:\n\n- Managing package dependencies for Python methods using Conda\n-\tConnecting Spyder to a virtual environment\n-\tConnecting Jupyter Notebook to a virtual environment\n-\tManaging package dependencies in R Studio using renv\n\n### Managing package dependencies for Python methods using Conda\n\nVirtual environments allow you to install specific versions of software in a contained environment. For example, you can install an older version of Python in a virtual environment but continue to use the most recent version of Python in your default environment. \n\nPlease refer to the method User Documentation for information about which version of Python and packages like Pandas or Numpy you need to use for a specific method. You will need this information to correctly set up your environment. \n\nThis guidance uses conda to create a virtual environment on your device. Conda is an open-source environment management system that allows you to create virtual environments.\n\n- Search Anaconda Prompt on your device and click to open it (note, this will only work if you have already installed Anaconda or Miniconda).\n\n- At the prompt enter __conda create environment_name__, for example, to create and environment called \"test_env\" you would enter __conda create test_env__\n\nYou should name your environment something that will help you remember what it’s used for. If prompted, enter 'y' to proceed.\n\n- Enter __conda activate environment_name__ \n\nYou should now see your environment name to the left of the C:/ prompt. This shows you are working within the virtual environment. \n\nTo leave the environment at any time enter __conda deactivate__ To come back to your environment later, enter __conda activate environment_name__, as before.\n\n- Consult the User Documentation to identify what version of Python is required and to see what packages (and package versions) are needed. Make note of these.\n\n- Now, enter __conda install python=version_number__ If prompted, enter 'y' to proceed.\n\nNote, Python versions > 3.4 automatically install pip, so that will likely be available to you in your environment after successfully installing Python. If not, enter __conda install pip__\n\n- Install required packages using __pip install package_name==version__, for example: __pip install pandas==1.5.3__\n\n- If you want to check what is currently installed in your environment enter __conda list__ \n\n- If you would like to use the methods from within an IDE like Visual Studio, Spyder, or Jupyter Notebook, then you will need to install the kernels for these in the virtual environment and connect them to your session (see further guidance below)\n\nYour virtual environment is now set up and ready for you to install your chosen SML method. Remember to deactivate your environment when you’re done setting it up by entering __conda deactivate__ from the Anaconda prompt window.\n\nThe environment does not need to be activated here for you to use it with Spyder or Jupyter Notebook, providing you have followed the steps to connect the environment to these.\n\n## Connecting Spyder to a virtual environment\n\n- Enter __pip install spyder-kernels__ (still within Anaconda prompt and your virtual environment). If you have installed an older version of python (e.g., 3.7.1 for use with sml_small) then you need to specify an older version of spyder-kernels, e.g., __pip install spyder-kernels=1.9.2__\n\n- Open Spyder.\n\n- From the top menu, go to __Tools -> Preferences -> Python Interpreter__.\n\n- Select __Use the following Python Interpreter__.\n\n- Click on the __select file__ icon (to the right of the address bar below).\n\n- Navigate to the location of your virtual environment. \n\nIf you’re unsure where this is, go to your Anaconda prompt window and enter __conda list__ from within your virtual environment. The file path you need will appear at the top of the list.\n\n- Click on the folder to open your virtual environment and scroll down to find and click on the __python.exe file__. \n\n- Click __Apply__ and __OK__ to close the Preferences window.\n\nYou should see your virtual environment name and the python version it’s running on the bottom of the Spyder window.\n\n- When you are done working from this environment, go back to __Tools -> Preferences-> Python Interpreter__, and select the __Default interpreter__, instead of your virtual environment.\n\n## Connecting Jupyter Notebook to a virtual environment\n\n- Enter __pip install ipykernel__ (still within Anaconda prompt and your virtual environment).\n\n- Then enter __python -m ipykernel install --name env_name__ \n\n- Start Jupyter Notebook.\n\n- From the __Files__ page (you should be here by default) go to __New__, located in the top right.\n\n- Click on __New__ and select your virtual environment name.\n\nYour new notebook now will use the Python and package versions installed in this environment.\n\n## Managing package dependencies in R Studio with renv\n\n- Open R Studio and select __File -> New Project__.\n\n- Select __New Directory -> New Project__ and give your directory a useful name.\n\n- Tick __Use renv with this project__.\n\n- Consult the User Documentation for details about what packages are required to run a method. Make note of these.\n\n- Install required package versions using __renv::install(\"package@version\")__, for example: to install devtools 2.4.4 use __renv::install(\"devtools@2.4.4\")__\n\n- Download and run the chosen SML method within this project environment (see \"Installing R Methods\" above for more guidance).\n\nUsing renv will make specified versions of packages available for this project, but will not affect versions installed outside the project. \n\nYou can verify which versions are installed using __sessionInfo()__ " + "meaning": { + "en-US": "The Statistical Methods Library, a centralised collection of methods approved for use by the ONS. Comprises a code library, accessed through GitHub, and a collection of associated documentation, accessed via the SML Portal." } } }, @@ -2823,10 +2852,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6l2sPkpbSgUyoYr9x1OLX2", + "id": "6oyEIyUgTSadgfgqXcchmR", "type": "Entry", - "createdAt": "2024-10-04T09:36:02.266Z", - "updatedAt": "2024-10-04T09:36:04.247Z", + "createdAt": "2024-10-08T14:14:01.874Z", + "updatedAt": "2024-10-08T14:14:03.841Z", "environment": { "sys": { "id": "prod", @@ -2835,20 +2864,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:04.247Z", - "firstPublishedAt": "2024-10-04T09:36:04.247Z", + "publishedAt": "2024-10-08T14:14:03.841Z", + "firstPublishedAt": "2024-10-08T14:14:03.841Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2857,7 +2886,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2874,17 +2903,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6l2sPkpbSgUyoYr9x1OLX2" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6oyEIyUgTSadgfgqXcchmR" }, "fields": { "id": { - "en-US": "version_control" + "en-US": "official_outputs" }, "term": { - "en-US": "Version Control" + "en-US": "Official Outputs" }, "meaning": { - "en-US": "A means of tracking changes made to a file or collection of files. Commonly used to track the development of software projects." + "en-US": "Statistics and data analysis officially published by ONS for public consumption." } } }, @@ -2903,10 +2932,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6YIFLOQGzh9O370tgeARSq", + "id": "1JRjsMT7ZcjUvh0Rua1yJg", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.221Z", - "updatedAt": "2024-10-04T09:36:08.296Z", + "createdAt": "2024-10-08T14:14:01.883Z", + "updatedAt": "2024-10-08T14:14:03.885Z", "environment": { "sys": { "id": "prod", @@ -2915,20 +2944,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.296Z", - "firstPublishedAt": "2024-10-04T09:36:08.296Z", + "publishedAt": "2024-10-08T14:14:03.885Z", + "firstPublishedAt": "2024-10-08T14:14:03.885Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -2937,7 +2966,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -2954,22 +2983,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6YIFLOQGzh9O370tgeARSq" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1JRjsMT7ZcjUvh0Rua1yJg" }, "fields": { "id": { - "en-US": "release_notes" + "en-US": "third_party_methods" }, "term": { - "en-US": "Release Notes" + "en-US": "Third Party Methods" }, "meaning": { - "en-US": "A file containing notes explaining what changes have been made to a piece of software since the previous release." - }, - "relatedlist": { - "en-US": [ - "Release" - ] + "en-US": "Third party methods are defined as those where a package, piece of code or software is developed and maintained outside of the SML strictures. This may include packages developed within ONS but where code is held and managed in a separate repository, or packages developed and maintained externally." } } }, @@ -2988,10 +3012,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6lYqR80JEilHmlhyWOIpH2", + "id": "2EV5TKiycZvUQvjKLpUCY5", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.230Z", - "updatedAt": "2024-10-04T09:36:08.219Z", + "createdAt": "2024-10-08T14:14:01.887Z", + "updatedAt": "2024-10-08T14:14:03.863Z", "environment": { "sys": { "id": "prod", @@ -3000,20 +3024,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.219Z", - "firstPublishedAt": "2024-10-04T09:36:08.219Z", + "publishedAt": "2024-10-08T14:14:03.863Z", + "firstPublishedAt": "2024-10-08T14:14:03.863Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3022,7 +3046,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3039,22 +3063,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6lYqR80JEilHmlhyWOIpH2" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/2EV5TKiycZvUQvjKLpUCY5" }, "fields": { "id": { - "en-US": "github" + "en-US": "sensitive" }, "term": { - "en-US": "GitHub" + "en-US": "Sensitive" }, "meaning": { - "en-US": "A popular Microsoft-owned service providing hosting for Git repositories, a Web interface to Git, and related services." - }, - "relatedlist": { - "en-US": [ - "Git" - ] + "en-US": "Data or methods that reveal personal details, and as such requires accreditation to use." } } }, @@ -3073,10 +3092,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "1JRjsMT7ZcjUvh0Rua1yJg", + "id": "01k3lWZ4f7T6FC6Vogvomn", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.236Z", - "updatedAt": "2024-10-04T09:36:08.226Z", + "createdAt": "2024-10-08T14:14:01.889Z", + "updatedAt": "2024-10-08T14:14:03.862Z", "environment": { "sys": { "id": "prod", @@ -3085,20 +3104,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.226Z", - "firstPublishedAt": "2024-10-04T09:36:08.226Z", + "publishedAt": "2024-10-08T14:14:03.862Z", + "firstPublishedAt": "2024-10-08T14:14:03.862Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3107,7 +3126,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3124,17 +3143,22 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1JRjsMT7ZcjUvh0Rua1yJg" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/01k3lWZ4f7T6FC6Vogvomn" }, "fields": { "id": { - "en-US": "third_party_methods" + "en-US": "repository" }, "term": { - "en-US": "Third Party Methods" + "en-US": "Repository" }, "meaning": { - "en-US": "Third party methods are defined as those where a package, piece of code or software is developed and maintained outside of the SML strictures. This may include packages developed within ONS but where code is held and managed in a separate repository, or packages developed and maintained externally." + "en-US": "A directory containing files that are versioned by Git." + }, + "relatedlist": { + "en-US": [ + "Git" + ] } } }, @@ -3153,10 +3177,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6q41cYDJBtyVn44KO4MuQQ", + "id": "hHSTKE9UpKOiCoB4aGkv5", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.254Z", - "updatedAt": "2024-10-04T09:36:08.205Z", + "createdAt": "2024-10-08T14:14:01.889Z", + "updatedAt": "2024-10-08T14:14:03.867Z", "environment": { "sys": { "id": "prod", @@ -3165,20 +3189,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.205Z", - "firstPublishedAt": "2024-10-04T09:36:08.205Z", + "publishedAt": "2024-10-08T14:14:03.867Z", + "firstPublishedAt": "2024-10-08T14:14:03.867Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3187,7 +3211,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3204,22 +3228,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6q41cYDJBtyVn44KO4MuQQ" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/hHSTKE9UpKOiCoB4aGkv5" }, "fields": { "id": { - "en-US": "idp" + "en-US": "metadata" }, "term": { - "en-US": "Integrated Data Programme (IDP)" + "en-US": "Metadata" }, "meaning": { - "en-US": "The Integrated Data Programme, the ONS team that provides and adminstrates the Integrated Data Service (IDS)." - }, - "relatedlist": { - "en-US": [ - "Integrated Data Service (IDS)" - ] + "en-US": "'Data about data', giving information about a product itself, as opposed to its contents. In the case of the SML, metadata includes, for example: when a method was onboarded; its development status; by whom it was developed; whether or not it is approved for use in official outputs; etc." } } }, @@ -3238,10 +3257,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "01k3lWZ4f7T6FC6Vogvomn", + "id": "2Oyrzj4Dkqn9LuNDxFZMnh", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.267Z", - "updatedAt": "2024-10-04T09:36:08.219Z", + "createdAt": "2024-10-08T14:14:02.119Z", + "updatedAt": "2024-10-08T14:14:03.876Z", "environment": { "sys": { "id": "prod", @@ -3250,20 +3269,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.219Z", - "firstPublishedAt": "2024-10-04T09:36:08.219Z", + "publishedAt": "2024-10-08T14:14:03.876Z", + "firstPublishedAt": "2024-10-08T14:14:03.876Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3272,7 +3291,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3289,21 +3308,23 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/01k3lWZ4f7T6FC6Vogvomn" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/2Oyrzj4Dkqn9LuNDxFZMnh" }, "fields": { "id": { - "en-US": "repository" + "en-US": "release" }, "term": { - "en-US": "Repository" + "en-US": "Release" }, "meaning": { - "en-US": "A directory containing files that are versioned by Git." + "en-US": "A 'snapshot' of a Git repository marked as being stable. Releases are commonly referred to by a version number. A popular scheme for determining version numbers is semantic versioning." }, "relatedlist": { "en-US": [ - "Git" + "Git", + "Repository", + "Semantic Versioning" ] } } @@ -3323,10 +3344,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6oyEIyUgTSadgfgqXcchmR", + "id": "7IvVbD5tUwbzWeWPqwQP5n", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.531Z", - "updatedAt": "2024-10-04T09:36:08.221Z", + "createdAt": "2024-10-08T14:14:02.122Z", + "updatedAt": "2024-10-08T14:14:03.853Z", "environment": { "sys": { "id": "prod", @@ -3335,20 +3356,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.221Z", - "firstPublishedAt": "2024-10-04T09:36:08.221Z", + "publishedAt": "2024-10-08T14:14:03.853Z", + "firstPublishedAt": "2024-10-08T14:14:03.853Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3357,7 +3378,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3374,17 +3395,23 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6oyEIyUgTSadgfgqXcchmR" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7IvVbD5tUwbzWeWPqwQP5n" }, "fields": { "id": { - "en-US": "official_outputs" + "en-US": "semantic_versioning" }, "term": { - "en-US": "Official Outputs" + "en-US": "Semantic Versioning" }, "meaning": { - "en-US": "Statistics and data analysis officially published by ONS for public consumption." + "en-US": "A popular scheme for determining version numbers. Consists of three integers, separated by full stops. The first integer is the 'major' version number, the second is the 'minor' version number, and the third is the 'patch' number. The patch number is incremented by 1 when bugfixes are implemented. The minor version is incremented by 1 when new functionality is introduced without affecting compatibility with previous versions. The major version number is incremented by 1 when changes are made that break compatibility with previous versions. See https://semver.org" + }, + "externalLinkTextShort": { + "en-US": "Semantic Versioning" + }, + "externalUrl": { + "en-US": "https://semver.org" } } }, @@ -3405,8 +3432,8 @@ }, "id": "11mx4pNTAuijgoH17sUAa3", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.534Z", - "updatedAt": "2024-10-04T09:36:08.208Z", + "createdAt": "2024-10-08T14:14:02.124Z", + "updatedAt": "2024-10-08T14:14:03.863Z", "environment": { "sys": { "id": "prod", @@ -3415,20 +3442,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.208Z", - "firstPublishedAt": "2024-10-04T09:36:08.208Z", + "publishedAt": "2024-10-08T14:14:03.863Z", + "firstPublishedAt": "2024-10-08T14:14:03.863Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3437,7 +3464,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3488,10 +3515,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "2EV5TKiycZvUQvjKLpUCY5", + "id": "6YIFLOQGzh9O370tgeARSq", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.536Z", - "updatedAt": "2024-10-04T09:36:08.199Z", + "createdAt": "2024-10-08T14:14:02.128Z", + "updatedAt": "2024-10-08T14:14:03.870Z", "environment": { "sys": { "id": "prod", @@ -3500,20 +3527,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.199Z", - "firstPublishedAt": "2024-10-04T09:36:08.199Z", + "publishedAt": "2024-10-08T14:14:03.870Z", + "firstPublishedAt": "2024-10-08T14:14:03.870Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3522,7 +3549,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3539,17 +3566,22 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/2EV5TKiycZvUQvjKLpUCY5" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6YIFLOQGzh9O370tgeARSq" }, "fields": { "id": { - "en-US": "sensitive" + "en-US": "release_notes" }, "term": { - "en-US": "Sensitive" + "en-US": "Release Notes" }, "meaning": { - "en-US": "Data or methods that reveal personal details, and as such requires accreditation to use." + "en-US": "A file containing notes explaining what changes have been made to a piece of software since the previous release." + }, + "relatedlist": { + "en-US": [ + "Release" + ] } } }, @@ -3568,10 +3600,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "79mygGJlikbZmNOLp9hU1V", + "id": "6q41cYDJBtyVn44KO4MuQQ", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.547Z", - "updatedAt": "2024-10-04T09:36:08.216Z", + "createdAt": "2024-10-08T14:14:02.132Z", + "updatedAt": "2024-10-08T14:14:03.867Z", "environment": { "sys": { "id": "prod", @@ -3580,20 +3612,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.216Z", - "firstPublishedAt": "2024-10-04T09:36:08.216Z", + "publishedAt": "2024-10-08T14:14:03.867Z", + "firstPublishedAt": "2024-10-08T14:14:03.867Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3602,7 +3634,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3619,23 +3651,22 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/79mygGJlikbZmNOLp9hU1V" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6q41cYDJBtyVn44KO4MuQQ" }, "fields": { "id": { - "en-US": "ids" + "en-US": "idp" }, "term": { - "en-US": "Integrated Data Service (IDS)" + "en-US": "Integrated Data Programme (IDP)" }, "meaning": { - "en-US": "A secure, integrated service providing access to data and tools for analysis and collaboration for Government analysts, devolved administrations and external Accredited Researchers." - }, - "externalLinkTextShort": { - "en-US": "Integrated Data Service" + "en-US": "The Integrated Data Programme, the ONS team that provides and adminstrates the Integrated Data Service (IDS)." }, - "externalUrl": { - "en-US": "https://integrateddataservice.gov.uk/" + "relatedlist": { + "en-US": [ + "Integrated Data Service (IDS)" + ] } } }, @@ -3654,10 +3685,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "hHSTKE9UpKOiCoB4aGkv5", + "id": "6lYqR80JEilHmlhyWOIpH2", "type": "Entry", - "createdAt": "2024-10-04T09:36:06.549Z", - "updatedAt": "2024-10-04T09:36:08.211Z", + "createdAt": "2024-10-08T14:14:05.860Z", + "updatedAt": "2024-10-08T14:14:07.865Z", "environment": { "sys": { "id": "prod", @@ -3666,20 +3697,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:08.211Z", - "firstPublishedAt": "2024-10-04T09:36:08.211Z", + "publishedAt": "2024-10-08T14:14:07.865Z", + "firstPublishedAt": "2024-10-08T14:14:07.865Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3688,7 +3719,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3705,17 +3736,22 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/hHSTKE9UpKOiCoB4aGkv5" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6lYqR80JEilHmlhyWOIpH2" }, "fields": { "id": { - "en-US": "metadata" + "en-US": "github" }, "term": { - "en-US": "Metadata" + "en-US": "GitHub" }, "meaning": { - "en-US": "'Data about data', giving information about a product itself, as opposed to its contents. In the case of the SML, metadata includes, for example: when a method was onboarded; its development status; by whom it was developed; whether or not it is approved for use in official outputs; etc." + "en-US": "A popular Microsoft-owned service providing hosting for Git repositories, a Web interface to Git, and related services." + }, + "relatedlist": { + "en-US": [ + "Git" + ] } } }, @@ -3734,10 +3770,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "5jT96XUoyfeVejeaTTKakT", + "id": "7gaTewUF0sQXN7T36lIDyX", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.209Z", - "updatedAt": "2024-10-04T09:36:12.248Z", + "createdAt": "2024-10-08T14:14:05.866Z", + "updatedAt": "2024-10-08T14:14:07.904Z", "environment": { "sys": { "id": "prod", @@ -3746,20 +3782,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.248Z", - "firstPublishedAt": "2024-10-04T09:36:12.248Z", + "publishedAt": "2024-10-08T14:14:07.904Z", + "firstPublishedAt": "2024-10-08T14:14:07.904Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3768,7 +3804,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3782,20 +3818,41 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "glossaryEntry" + "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5jT96XUoyfeVejeaTTKakT" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7gaTewUF0sQXN7T36lIDyX" }, "fields": { "id": { - "en-US": "markdown" + "en-US": "cell-key-perturbation-r" }, - "term": { - "en-US": "Markdown" + "name": { + "en-US": "Cell Key Perturbation " }, - "meaning": { - "en-US": "A popular and simple markup language used across the Web for formatting text. Markdown is the format in which SML specifications are written." + "theme": { + "en-US": "Statistical Disclosure Control" + }, + "expertGroup": { + "en-US": "Statistical Disclosure Control" + }, + "language": { + "en-US": "R" + }, + "author": { + "en-US": "ONS" + }, + "description": { + "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation." + }, + "contactDetails": { + "en-US": "smlhelp@ons.gov.uk" + }, + "methodReady": { + "en-US": false + }, + "releaseVersion": { + "en-US": "Not Released Yet" } } }, @@ -3814,10 +3871,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "1dEel1rXrwQTW8p1DumqQT", + "id": "1KlrkSlWVBd5dxHHcYKHGV", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.211Z", - "updatedAt": "2024-10-04T09:36:12.236Z", + "createdAt": "2024-10-08T14:14:05.868Z", + "updatedAt": "2024-10-08T14:14:07.879Z", "environment": { "sys": { "id": "prod", @@ -3826,20 +3883,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.236Z", - "firstPublishedAt": "2024-10-04T09:36:12.236Z", + "publishedAt": "2024-10-08T14:14:07.879Z", + "firstPublishedAt": "2024-10-08T14:14:07.879Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3848,7 +3905,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3862,53 +3919,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1dEel1rXrwQTW8p1DumqQT" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1KlrkSlWVBd5dxHHcYKHGV" }, "fields": { "id": { - "en-US": "date-adjustment" - }, - "name": { - "en-US": "Date Adjustment" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" + "en-US": "community_methods" }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" + "term": { + "en-US": "Community Methods" }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" + "meaning": { + "en-US": "Code developed by a wider community of analysts. These methods are held in a community code repository to ensure there is a clear distinction in terms of maintenance of the code. After sign-off, any changes to methods held in the SML community repository must be made via the SML governance process to ensure that specifications and documentation are kept up to date and users are informed of changes to the code. The developers of the code would be accountable for making any updates to the code." } } }, @@ -3927,10 +3951,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "7gaTewUF0sQXN7T36lIDyX", + "id": "6FEY1vfAQ1bNUjOxKoJ6zx", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.216Z", - "updatedAt": "2024-10-04T09:36:12.213Z", + "createdAt": "2024-10-08T14:14:05.868Z", + "updatedAt": "2024-10-08T14:14:07.875Z", "environment": { "sys": { "id": "prod", @@ -3939,20 +3963,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.213Z", - "firstPublishedAt": "2024-10-04T09:36:12.213Z", + "publishedAt": "2024-10-08T14:14:07.875Z", + "firstPublishedAt": "2024-10-08T14:14:07.875Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -3961,7 +3985,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -3975,41 +3999,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7gaTewUF0sQXN7T36lIDyX" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6FEY1vfAQ1bNUjOxKoJ6zx" }, "fields": { "id": { - "en-US": "cell-key-perturbation-r" - }, - "name": { - "en-US": "Cell Key Perturbation " - }, - "theme": { - "en-US": "Statistical Disclosure Control" - }, - "expertGroup": { - "en-US": "Statistical Disclosure Control" - }, - "language": { - "en-US": "R" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" + "en-US": "exploration" }, - "methodReady": { - "en-US": false + "term": { + "en-US": "Exploration" }, - "releaseVersion": { - "en-US": "Not Released Yet" + "meaning": { + "en-US": "Exploratory data analysis not intended for direct use as an official output." } } }, @@ -4028,10 +4031,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "1KlrkSlWVBd5dxHHcYKHGV", + "id": "1PQFWq5r92jnyKqZnqtmrk", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.217Z", - "updatedAt": "2024-10-04T09:36:12.240Z", + "createdAt": "2024-10-08T14:14:05.875Z", + "updatedAt": "2024-10-08T14:14:07.914Z", "environment": { "sys": { "id": "prod", @@ -4040,20 +4043,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.240Z", - "firstPublishedAt": "2024-10-04T09:36:12.240Z", + "publishedAt": "2024-10-08T14:14:07.914Z", + "firstPublishedAt": "2024-10-08T14:14:07.914Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4062,7 +4065,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4076,23 +4079,53 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "glossaryEntry" + "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1KlrkSlWVBd5dxHHcYKHGV" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1PQFWq5r92jnyKqZnqtmrk" }, "fields": { "id": { - "en-US": "community_methods" + "en-US": "cell-key-perturbation" }, - "term": { - "en-US": "Community Methods" + "name": { + "en-US": "Cell Key Perturbation" }, - "meaning": { - "en-US": "Code developed by a wider community of analysts. These methods are held in a community code repository to ensure there is a clear distinction in terms of maintenance of the code. After sign-off, any changes to methods held in the SML community repository must be made via the SML governance process to ensure that specifications and documentation are kept up to date and users are informed of changes to the code. The developers of the code would be accountable for making any updates to the code." - } - } - }, + "theme": { + "en-US": "Statistical Disclosure Control" + }, + "expertGroup": { + "en-US": "Statistical Disclosure Control" + }, + "language": { + "en-US": "Python/Pandas" + }, + "author": { + "en-US": "ONS" + }, + "description": { + "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation.\n\nTo install and use this method, please see [User Notes](https://github.com/ONSdigital/cell-key-perturbation/blob/main/documentation/SML_UserDocs_CellKeyPerturbation_Py.md)." + }, + "contactDetails": { + "en-US": "smlhelp@ons.gov.uk" + }, + "methodReady": { + "en-US": true + }, + "releaseVersion": { + "en-US": "v2.0.0" + }, + "releaseLink": { + "en-US": "https://github.com/ONSdigital/cell-key-perturbation/releases/tag/v2.0.0" + }, + "codeLink": { + "en-US": "https://github.com/ONSdigital/cell-key-perturbation/blob/main/cell_key_perturbation/create_perturbed_table.py" + }, + "userDocumentationLink": { + "en-US": "https://github.com/ONSdigital/cell-key-perturbation/blob/main/documentation/SML_UserDocs_CellKeyPerturbation_Py.md" + } + } + }, { "metadata": { "tags": [ @@ -4108,10 +4141,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "37TwJlBJgUvgCRJ7Tq30pt", + "id": "5jT96XUoyfeVejeaTTKakT", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.225Z", - "updatedAt": "2024-10-04T09:36:12.294Z", + "createdAt": "2024-10-08T14:14:05.875Z", + "updatedAt": "2024-10-08T14:14:07.849Z", "environment": { "sys": { "id": "prod", @@ -4120,20 +4153,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.294Z", - "firstPublishedAt": "2024-10-04T09:36:12.294Z", + "publishedAt": "2024-10-08T14:14:07.849Z", + "firstPublishedAt": "2024-10-08T14:14:07.849Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4142,7 +4175,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4156,20 +4189,20 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/37TwJlBJgUvgCRJ7Tq30pt" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5jT96XUoyfeVejeaTTKakT" }, "fields": { "id": { - "en-US": "provide-feedback" + "en-US": "markdown" }, - "title": { - "en-US": "Provide feedback" + "term": { + "en-US": "Markdown" }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + "meaning": { + "en-US": "A popular and simple markup language used across the Web for formatting text. Markdown is the format in which SML specifications are written." } } }, @@ -4188,10 +4221,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "1PQFWq5r92jnyKqZnqtmrk", + "id": "5dA4wvX0V2tLHCnwvDEyI2", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.227Z", - "updatedAt": "2024-10-04T09:36:12.285Z", + "createdAt": "2024-10-08T14:14:05.881Z", + "updatedAt": "2024-10-08T14:14:07.860Z", "environment": { "sys": { "id": "prod", @@ -4200,20 +4233,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.285Z", - "firstPublishedAt": "2024-10-04T09:36:12.285Z", + "publishedAt": "2024-10-08T14:14:07.860Z", + "firstPublishedAt": "2024-10-08T14:14:07.860Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4222,7 +4255,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4236,50 +4269,17 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "catalogueTableOfMethods2" + "id": "accessibilityPage" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1PQFWq5r92jnyKqZnqtmrk" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5dA4wvX0V2tLHCnwvDEyI2" }, "fields": { - "id": { - "en-US": "cell-key-perturbation" - }, - "name": { - "en-US": "Cell Key Perturbation" - }, - "theme": { - "en-US": "Statistical Disclosure Control" - }, - "expertGroup": { - "en-US": "Statistical Disclosure Control" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "Cell-key Perturbation adds small amounts of noise to frequency tables, to protect against disclosure. Noise is added to change the counts that appear in the frequency table by small amounts, for example a 14 is changed to a 15. This noise introduces uncertainty in the counts and makes it harder to identify individuals, especially when taking the ‘difference’ between two similar tables. An input file called a ‘ptable’ is needed which specifies the level of perturbation.\n\nTo install and use this method, please see [User Notes](https://github.com/ONSdigital/cell-key-perturbation/blob/main/documentation/SML_UserDocs_CellKeyPerturbation_Py.md)." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v2.0.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/cell-key-perturbation/releases/tag/v2.0.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/cell-key-perturbation/blob/main/cell_key_perturbation/create_perturbed_table.py" + "title": { + "en-US": "Accessibility Statement" }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/cell-key-perturbation/blob/main/documentation/SML_UserDocs_CellKeyPerturbation_Py.md" + "mainContent": { + "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" } } }, @@ -4298,10 +4298,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "5dA4wvX0V2tLHCnwvDEyI2", + "id": "1dEel1rXrwQTW8p1DumqQT", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.231Z", - "updatedAt": "2024-10-04T09:36:12.186Z", + "createdAt": "2024-10-08T14:14:05.883Z", + "updatedAt": "2024-10-08T14:14:07.867Z", "environment": { "sys": { "id": "prod", @@ -4310,20 +4310,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.186Z", - "firstPublishedAt": "2024-10-04T09:36:12.186Z", + "publishedAt": "2024-10-08T14:14:07.867Z", + "firstPublishedAt": "2024-10-08T14:14:07.867Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4332,7 +4332,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4346,17 +4346,53 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "accessibilityPage" + "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5dA4wvX0V2tLHCnwvDEyI2" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1dEel1rXrwQTW8p1DumqQT" }, "fields": { - "title": { - "en-US": "Accessibility Statement" + "id": { + "en-US": "date-adjustment" }, - "mainContent": { - "en-US": "# Accessibility Statement\n\nThis accessibility statement applies to the Office for National Statistics (ONS) Statistical Methods Library.  \n\nWe want as many people as possible to be able to use the website. If you have a disability, [AbilityNet](https://mcmw.abilitynet.org.uk/) has advice on making your device easier to use.\n\n## How accessible the website is\n\nWe are aware that some parts of this website are not fully accessible, and we are working to improve this.\n\n## How to request content in an accessible format\n\nIf you need information from the website in a different format please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk) and tell us:\n\n* The web address (URL).\n* Your name and email address.\n* The format you require.\n\nWe’ll reply within ten days to let you know when we will be able to provide the information. We will consider each request but may not be able to provide an alternative accessible format on every occasion.\n\n## Reporting accessibility problems\n\nWe are working to meet accessibility standards across this website. If you experience difficulty in accessing our website please contact us at [SMLHelp@ons.gov.uk](mailto:SMLHelp@ons.gov.uk).\n\n## Enforcement procedure\n\nThe Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the “accessibility regulations”). If you contact us with a complaint and you are not happy with our response contact the [Equality Advisory and Support Service (EASS)](https://www.equalityadvisoryservice.com/).\n\n## Technical information about the website’s accessibility\n\nThe ONS is committed to making this portal accessible, in accordance with the [Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018](https://www.legislation.gov.uk/uksi/2018/952/made).\n\n## What we’re doing to improve accessibility\n\nWe are committed to making sure our online services are accessible to all users and comply with level AA of the Web Content Accessibility Guidelines – WCAG 2.1 in line with the Public Sector Bodies (Websites and Mobile Applications) (No.2) Accessibility regulations 2018, and intend to.\n\nIn order to make sure our online services are accessible to all users, we are working with [The Digital Accessibility Centre (DAC)](http://www.digitalaccessibilitycentre.org/) to carry out WCAG 2.1 AA level technical compliance audits, which will also include testing by users with a wide range of disabilities.\n\n## Preparation of this accessibility statement\n\nThis statement was prepared on 1 February 2023.\n" + "name": { + "en-US": "Date Adjustment" + }, + "theme": { + "en-US": "Editing" + }, + "expertGroup": { + "en-US": "Editing & Imputation" + }, + "language": { + "en-US": "Python/Pandas" + }, + "author": { + "en-US": "ONS" + }, + "description": { + "en-US": "To generate summary and headline statistics for a period, the ONS requires all businesses responses to cover the same period. However, sometimes it is not possible for a business to provide data for the exact period of days required. The responder may specify a different start and end dates for which the response totals cover. Therefore, Date Adjustment methods are required to approximate the values of the data for the required period that are based on the data received." + }, + "contactDetails": { + "en-US": "smlhelp@ons.gov.uk" + }, + "methodReady": { + "en-US": true + }, + "releaseVersion": { + "en-US": "v1.0.0" + }, + "releaseLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.0.0" + }, + "codeLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/date_adjustment.py" + }, + "specificationLink": { + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" + }, + "userDocumentationLink": { + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/date-adjustment/date_adjustment.md" } } }, @@ -4375,10 +4411,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "1SzvT5lBJvPtZWnnfDbIJ4", + "id": "79mygGJlikbZmNOLp9hU1V", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.237Z", - "updatedAt": "2024-10-04T09:36:12.213Z", + "createdAt": "2024-10-08T14:14:05.883Z", + "updatedAt": "2024-10-08T14:14:07.861Z", "environment": { "sys": { "id": "prod", @@ -4387,20 +4423,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.213Z", - "firstPublishedAt": "2024-10-04T09:36:12.213Z", + "publishedAt": "2024-10-08T14:14:07.861Z", + "firstPublishedAt": "2024-10-08T14:14:07.861Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4409,7 +4445,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4426,17 +4462,23 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1SzvT5lBJvPtZWnnfDbIJ4" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/79mygGJlikbZmNOLp9hU1V" }, "fields": { "id": { - "en-US": "git" + "en-US": "ids" }, "term": { - "en-US": "Git" + "en-US": "Integrated Data Service (IDS)" }, "meaning": { - "en-US": "A popular software tool for version control. Files are stored in repositories (or 'repos'), which can be local or remote, and changes made are committed to a log, allowing files to be reverted to previous versions. A project can have multiple contributing authors and multiple 'branches' (variants) simultaneously, with Git providing tools to merge changes." + "en-US": "A secure, integrated service providing access to data and tools for analysis and collaboration for Government analysts, devolved administrations and external Accredited Researchers." + }, + "externalLinkTextShort": { + "en-US": "Integrated Data Service" + }, + "externalUrl": { + "en-US": "https://integrateddataservice.gov.uk/" } } }, @@ -4455,10 +4497,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6Benijjye1q8xVSrb6AEG3", + "id": "1SzvT5lBJvPtZWnnfDbIJ4", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.239Z", - "updatedAt": "2024-10-04T09:36:12.203Z", + "createdAt": "2024-10-08T14:14:05.885Z", + "updatedAt": "2024-10-08T14:14:07.880Z", "environment": { "sys": { "id": "prod", @@ -4467,20 +4509,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.203Z", - "firstPublishedAt": "2024-10-04T09:36:12.203Z", + "publishedAt": "2024-10-08T14:14:07.880Z", + "firstPublishedAt": "2024-10-08T14:14:07.880Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4489,7 +4531,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4506,17 +4548,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6Benijjye1q8xVSrb6AEG3" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/1SzvT5lBJvPtZWnnfDbIJ4" }, "fields": { "id": { - "en-US": "accredited_researcher" + "en-US": "git" }, "term": { - "en-US": "Accredited Researcher" + "en-US": "Git" }, "meaning": { - "en-US": "Researchers who have special permission from ONS to access personal information to assist in statistical research." + "en-US": "A popular software tool for version control. Files are stored in repositories (or 'repos'), which can be local or remote, and changes made are committed to a log, allowing files to be reverted to previous versions. A project can have multiple contributing authors and multiple 'branches' (variants) simultaneously, with Git providing tools to merge changes." } } }, @@ -4535,10 +4577,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "6FEY1vfAQ1bNUjOxKoJ6zx", + "id": "3yPRVuZ5tvZdP09NLOauEj", "type": "Entry", - "createdAt": "2024-10-04T09:36:10.245Z", - "updatedAt": "2024-10-04T09:36:12.230Z", + "createdAt": "2024-10-08T14:14:08.828Z", + "updatedAt": "2024-10-08T14:14:09.859Z", "environment": { "sys": { "id": "prod", @@ -4547,20 +4589,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:12.230Z", - "firstPublishedAt": "2024-10-04T09:36:12.230Z", + "publishedAt": "2024-10-08T14:14:09.859Z", + "firstPublishedAt": "2024-10-08T14:14:09.859Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4569,7 +4611,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4583,20 +4625,26 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "glossaryEntry" + "id": "helpCentreMethodRequest" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6FEY1vfAQ1bNUjOxKoJ6zx" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3yPRVuZ5tvZdP09NLOauEj" }, "fields": { - "id": { - "en-US": "exploration" + "name": { + "en-US": "Help Centre Method Request" }, - "term": { - "en-US": "Exploration" + "internalUserTitle": { + "en-US": "I am an ONS internal user" }, - "meaning": { - "en-US": "Exploratory data analysis not intended for direct use as an official output." + "internalUserContent": { + "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." + }, + "externalUserTitle": { + "en-US": "I am a user from outside the ONS" + }, + "externalUserContent": { + "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." } } }, @@ -4615,10 +4663,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "76zlJrhByCFNZlbKVA5AtB", + "id": "73KZnVqhnsVFeuLRNMcf3A", "type": "Entry", - "createdAt": "2024-10-04T09:36:14.194Z", - "updatedAt": "2024-10-04T09:36:16.205Z", + "createdAt": "2024-10-08T14:14:09.865Z", + "updatedAt": "2024-10-08T14:14:10.828Z", "environment": { "sys": { "id": "prod", @@ -4627,20 +4675,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.205Z", - "firstPublishedAt": "2024-10-04T09:36:16.205Z", + "publishedAt": "2024-10-08T14:14:10.828Z", + "firstPublishedAt": "2024-10-08T14:14:10.828Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4649,7 +4697,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4663,20 +4711,26 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/76zlJrhByCFNZlbKVA5AtB" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/73KZnVqhnsVFeuLRNMcf3A" }, "fields": { "id": { - "en-US": "expert-groups" + "en-US": "expert_group" }, - "title": { - "en-US": "Get information on expert groups" + "term": { + "en-US": "Expert Group" }, - "content": { - "en-US": "Please visit [Expert groups](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)." + "meaning": { + "en-US": "A group of ONS employees within the Methodology and Quality Directorate with expertise in a specific area. For a full list, see https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/" + }, + "externalLinkTextShort": { + "en-US": "Expert group" + }, + "externalUrl": { + "en-US": "https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/" } } }, @@ -4695,10 +4749,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "73KZnVqhnsVFeuLRNMcf3A", + "id": "6Benijjye1q8xVSrb6AEG3", "type": "Entry", - "createdAt": "2024-10-04T09:36:14.198Z", - "updatedAt": "2024-10-04T09:36:15.211Z", + "createdAt": "2024-10-08T14:14:09.870Z", + "updatedAt": "2024-10-08T14:14:10.834Z", "environment": { "sys": { "id": "prod", @@ -4707,20 +4761,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:15.211Z", - "firstPublishedAt": "2024-10-04T09:36:15.211Z", + "publishedAt": "2024-10-08T14:14:10.834Z", + "firstPublishedAt": "2024-10-08T14:14:10.834Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4729,7 +4783,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4746,23 +4800,17 @@ "id": "glossaryEntry" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/73KZnVqhnsVFeuLRNMcf3A" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6Benijjye1q8xVSrb6AEG3" }, "fields": { "id": { - "en-US": "expert_group" + "en-US": "accredited_researcher" }, "term": { - "en-US": "Expert Group" + "en-US": "Accredited Researcher" }, "meaning": { - "en-US": "A group of ONS employees within the Methodology and Quality Directorate with expertise in a specific area. For a full list, see https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/" - }, - "externalLinkTextShort": { - "en-US": "Expert group" - }, - "externalUrl": { - "en-US": "https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/" + "en-US": "Researchers who have special permission from ONS to access personal information to assist in statistical research." } } }, @@ -4783,8 +4831,8 @@ }, "id": "4GwadO5feNlF2biBAAZbfw", "type": "Entry", - "createdAt": "2024-10-04T09:36:14.210Z", - "updatedAt": "2024-10-04T09:36:16.246Z", + "createdAt": "2024-10-08T14:14:09.878Z", + "updatedAt": "2024-10-08T14:14:11.856Z", "environment": { "sys": { "id": "prod", @@ -4793,20 +4841,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.246Z", - "firstPublishedAt": "2024-10-04T09:36:16.246Z", + "publishedAt": "2024-10-08T14:14:11.856Z", + "firstPublishedAt": "2024-10-08T14:14:11.856Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4815,7 +4863,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4894,10 +4942,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "3yPRVuZ5tvZdP09NLOauEj", + "id": "3B4A7Fs3mnyEAzOgTaeHMn", "type": "Entry", - "createdAt": "2024-10-04T09:36:14.214Z", - "updatedAt": "2024-10-04T09:36:16.198Z", + "createdAt": "2024-10-08T14:14:09.880Z", + "updatedAt": "2024-10-08T14:14:11.845Z", "environment": { "sys": { "id": "prod", @@ -4906,20 +4954,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.198Z", - "firstPublishedAt": "2024-10-04T09:36:16.198Z", + "publishedAt": "2024-10-08T14:14:11.845Z", + "firstPublishedAt": "2024-10-08T14:14:11.845Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -4928,7 +4976,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -4942,26 +4990,14 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreMethodRequest" + "id": "privacycontent" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3yPRVuZ5tvZdP09NLOauEj" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3B4A7Fs3mnyEAzOgTaeHMn" }, "fields": { - "name": { - "en-US": "Help Centre Method Request" - }, - "internalUserTitle": { - "en-US": "I am an ONS internal user" - }, - "internalUserContent": { - "en-US": "Method requests can be raised to:\n\n* Have new methods developed for the Statistical Methods Library.\n* Add existing code to the Statistical Methods Library.\n* Change existing methods held within the Statistical Methods Library.\n\nIf you would like to make a suggestion for a new method, or to provide feedback about an existing method, please do so by emailing [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - }, - "externalUserTitle": { - "en-US": "I am a user from outside the ONS" - }, - "externalUserContent": { - "en-US": "Currently we do not accept formal method submissions or change requests from external users. In future, we will accept certain method requests via the [Integrated Data Service](https://integrateddataservice.gov.uk/)." + "privacy_content": { + "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." } } }, @@ -4980,10 +5016,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "0HJkQZKUd1CyK7UypkxqB", + "id": "7ald28ahkCJgBJu1oKhUmI", "type": "Entry", - "createdAt": "2024-10-04T09:36:14.216Z", - "updatedAt": "2024-10-04T09:36:16.221Z", + "createdAt": "2024-10-08T14:14:09.881Z", + "updatedAt": "2024-10-08T14:14:11.888Z", "environment": { "sys": { "id": "prod", @@ -4992,20 +5028,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.221Z", - "firstPublishedAt": "2024-10-04T09:36:16.221Z", + "publishedAt": "2024-10-08T14:14:11.888Z", + "firstPublishedAt": "2024-10-08T14:14:11.888Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -5014,7 +5050,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -5028,601 +5064,14 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/0HJkQZKUd1CyK7UypkxqB" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7ald28ahkCJgBJu1oKhUmI" }, "fields": { "id": { - "en-US": "troubleshooting" - }, - "title": { - "en-US": "Troubleshooting" - }, - "content": { - "en-US": "As issues using our methods are raised we will update this section with relevant information to resolve said issue. Providing a resource to help fix these issues as they occur in the future. \n\n#### Issues accessing a method on GitHub: \nWhen following the links to the projects stored on GitHub you may receive a 404 error. Please ensure you are logged into\nGitHub. \n\n#### Pip install issues: \n\nPlease note all commands in this section should be run in either a terminal(Linux/Mac) or a command prompt(Windows). \n\nIf you get an error when running pip install and can't immediately see the error try to add the --verbose flag to the\ncommand to see if that offers any more useful information, this can be done by running the command like so: \n\"pip install {package} --verbose\" \n\nIf multiple versions of python are installed on your machine it may also be the case that you need to run the command as\nsuch: \n\"pip3 install {package}\" \n\nSome other common errors include: \n\n1. Package name is incorrect, double check that the file path and name that you are giving to the command is correct.\n2. If you have an outdated version of pip this can occasionally cause an issue, try running the below commands: \n\"python -m pip install --update pip\" \n\"python -m pip install --update wheel distutils\" \n3. Permission errors, options here include running as admin/sudo where allowed or run: \n\"pip install {package} --user\" \nThis will run pip install defaulting the install location to the users home directory, as opposed to a system directory\nlike it normally would.\n4. Failure during install, on Windows in particular a library can have issues installing due to packages it relies on,\ntry running: \n\"pip install {package} --prefer-binary\" \nThis will cause pip to try install binary packages where possible as windows can sometimes throw errors compiling from\nsource\n\n#### Alternatives to pip for installation: \n\nSome users may be in the scenario that due to user privileges that they are not allowed to use pip on their machines.\nAs an alternative to the .whl file, within a given release there will also be a tar.gz file in the format of\n{LibraryName-version.tar.gz}. Download this file and extract it: \n\n- On a Unix system (linux/OSX) run the following command in a terminal: \"tar -xf archive.tar.gz\". Substituting archive.tar.gz\nwith the path to the tar.gz file downloaded\n\n- On a Windows system open the file within 7Zip or a similar file archive program and follow the interface to extract the\nfolder. \n\nNavigate to the extracted folder within a terminal or command prompt and run the following command: \n\"python setup.py install\". \n\nOnce this completes the library should now be installed on your machine. Please note on the above command to ensure\nthat you use the correct python command. Particularly for unix users, python V3.0 and higher will often be run as python3\nwithin the terminal. If the previous command failed, it may be that you need to instead substitute it with: \n\"python3 setup.py install\". \nAlternatively on Windows machine python may sometimes be installed as py so: \n\"py setup.py install\"." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "51E73QFXqVNxRsoUxzcoSj", - "type": "Entry", - "createdAt": "2024-10-04T09:36:14.219Z", - "updatedAt": "2024-10-04T09:36:16.210Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.210Z", - "firstPublishedAt": "2024-10-04T09:36:16.210Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/51E73QFXqVNxRsoUxzcoSj" - }, - "fields": { - "id": { - "en-US": "thousand-pound-correction" - }, - "name": { - "en-US": "Thousand Pound Correction" - }, - "theme": { - "en-US": "Editing" - }, - "expertGroup": { - "en-US": "Editing & Imputation" - }, - "language": { - "en-US": "Python/Pandas" - }, - "author": { - "en-US": "ONS" - }, - "description": { - "en-US": "The automatic editing method for thousand pounds correction is commonly used across ONS business surveys. It is a generic rule that uses user defined thresholds to automatically detect and correct thousand pounds errors. This is when the respondent should have reported values in thousands of pounds but has reported in actual pounds e.g., returned a value of £56,000 instead of correctly submitting 56.\n\nThe method checks the ratio of a principal variable against a suitable predictor variable and make an automatic correction if the calculated ratio is around 1000. The automatic correction is applied to all relevant variables for the respondent." - }, - "contactDetails": { - "en-US": "smlhelp@ons.gov.uk" - }, - "methodReady": { - "en-US": true - }, - "releaseVersion": { - "en-US": "v1.1.0" - }, - "releaseLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" - }, - "codeLink": { - "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/editing/thousand_pounds/thousand_pounds.py" - }, - "specificationLink": { - "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/thousand_pounds_correction/thousand_pounds_correction.md" - }, - "userDocumentationLink": { - "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/thousand-pound-correction/thousand_pound_correction.md" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "7ePz4NOKkNuYxTCKGceI0o", - "type": "Entry", - "createdAt": "2024-10-04T09:36:14.221Z", - "updatedAt": "2024-10-04T09:36:16.217Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.217Z", - "firstPublishedAt": "2024-10-04T09:36:16.217Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7ePz4NOKkNuYxTCKGceI0o" - }, - "fields": { - "id": { - "en-US": "support" - }, - "title": { - "en-US": "Get support" - }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "5WaengmajUsGSEbXHxhu1r", - "type": "Entry", - "createdAt": "2024-10-04T09:36:14.224Z", - "updatedAt": "2024-10-04T09:36:16.217Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.217Z", - "firstPublishedAt": "2024-10-04T09:36:16.217Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/5WaengmajUsGSEbXHxhu1r" - }, - "fields": { - "id": { - "en-US": "github" - }, - "title": { - "en-US": "Using GitHub" - }, - "content": { - "en-US": "This section contains useful links for anyone unfamiliar with Github, it provides some pointers to documentation that will help you use and navigate the system.\n\nFor general guidance consult the [Github documentation](https://docs.github.com/en) in the first instance\n#### Releases\n\nConsult the [Github guidance on navigating releases](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get an understanding of identifying where the release information can be found and how to search for a specific release.\n\nView the [Github release comparison documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/comparing-releases) to get information on comparing different release versions and understanding how to use Github to determine the changes between releases.\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3B4A7Fs3mnyEAzOgTaeHMn", - "type": "Entry", - "createdAt": "2024-10-04T09:36:14.225Z", - "updatedAt": "2024-10-04T09:36:16.195Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:16.195Z", - "firstPublishedAt": "2024-10-04T09:36:16.195Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "privacycontent" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3B4A7Fs3mnyEAzOgTaeHMn" - }, - "fields": { - "privacy_content": { - "en-US": "# Privacy and Data Protection\n\nThis information is for visitors to the Statistical Methods Library website.\n\nIf you would like to find out more about how ONS collect and use your personal data, please visit our [data protection page](https://www.ons.gov.uk/aboutus/transparencyandgovernance/dataprotection).\n\n## Links to other websites\n\nThis site contains links to other sites. The ONS is not responsible for the privacy practices or the content of such websites.\n\n### Following a link to another website\n\nIf you go to another website from this one, read the privacy policy on that website to find out what it does with your information.\n\n### Following a link to statisticalmethodslibrary.ons.gov.uk from another website\n\nIf you come to statisticalmethodslibrary.ons.gov.uk from another website, we may receive personal information from the other website.\n\nYou should read the privacy policy of the website you came from to find out more about this.\n\n## Contact us\n\nYou can contact the Data Protection Officer if you:\n\n* have a question about the processing of personal data within the Statistical Methods Library\n* think that your personal data have been misused or mishandled\n\n[DPO@statistics.gov.uk](mailto:DPO@statistics.gov.uk)\n\nTelephone: 0345 601 3034\n\nData Protection Officer \nOffice for National Statistics \nSegensworth Road \nTitchfield \nFareham \nHampshire \nPO15 5RR\n\n## Report a security vulnerability\n\nPlease see our [vulnerability disclosure policy](https://www.ons.gov.uk/help/vulnerabilitydisclosurepolicy) for information on how to report a vulnerability at HackerOne." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "3cCYV7jPz7iisw87gZvGgK", - "type": "Entry", - "createdAt": "2024-10-04T09:36:15.222Z", - "updatedAt": "2024-10-04T09:36:17.193Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:17.193Z", - "firstPublishedAt": "2024-10-04T09:36:17.193Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3cCYV7jPz7iisw87gZvGgK" - }, - "fields": { - "id": { - "en-US": "version-methods" - }, - "title": { - "en-US": "How the methods are versioned" - }, - "content": { - "en-US": "The Statistical Methods Library (SML) and the associated methods are versioned using semantic versioning comprised of a major, minor and patch release version separated by full stops (e.g 3.5.4). \n\nThere are separate releases of the libraries based on the method implementation, python/pandas or python/pySpark, and each library uses semantic versioning.\n\nThe major version is incremented (and minor and patch releases reset to zero) when backward incompatible changes are made (e.g renaming a pre-existing method function name).\n\nThe minor version is incremented (and the patch version reset to zero) when new features are added without breaking backward compatibility (e.g addition of a new statistical method)\n\nThe patch release version is incremented when backward compatible bugfixes are implemented.\n\nConsult the [SML python/pySpark release history in Github](https://github.com/ONSdigital/statistical-methods-library/releases) for the current and past releases for the python/pySpark methods and the [associated python/pySpark release notes](https://github.com/ONSdigital/statistical-methods-library/tree/main/docs/release-notes) to understand the changes between releases.\n\nConsult the [SML python/pandas release history in Github](https://github.com/ONSdigital/sml-python-small/releases) for the current and past releases for the python/pandas methods and the [associated python/pandas release notes](https://github.com/ONSdigital/sml-python-small/tree/main/docs/release-notes) to understand the changes between releases.\n\nFor further information about semantic versioning read the recommended [semantic versioning guidance](https://semver.org)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "6WQ6Wtug7CnYQigqvDNH9S", - "type": "Entry", - "createdAt": "2024-10-04T09:36:17.185Z", - "updatedAt": "2024-10-04T09:36:18.222Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:18.222Z", - "firstPublishedAt": "2024-10-04T09:36:18.222Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "helpCentreInformation" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/6WQ6Wtug7CnYQigqvDNH9S" - }, - "fields": { - "id": { - "en-US": "coding-standards" - }, - "title": { - "en-US": "Coding standards" - }, - "content": { - "en-US": "Code will be written to internationally recognised standards and according to principles set out in these links:-\n\n* [Government Digital Service](https://gds-way.cloudapps.digital/#the-gds-way/)\n* [ONS Quality Assurance for Code and Analysis (Duck book)](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)\n* [ONS Digital Software Engineering Standards](https://github.com/ONSdigital/software-engineer-community/blob/master/standards/README.md)\n\nFor Python, this means it will adhere to the [PEP8 Python style guide](https://peps.python.org/pep-0008/) and the [GDS Python style guide.](https://gds-way.cloudapps.digital/manuals/programming-languages/python/python.html#content)\n" - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } - }, - "id": "7ald28ahkCJgBJu1oKhUmI", - "type": "Entry", - "createdAt": "2024-10-04T09:36:17.190Z", - "updatedAt": "2024-10-04T09:36:18.229Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } - }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:18.229Z", - "firstPublishedAt": "2024-10-04T09:36:18.229Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } - }, - "fieldStatus": { - "*": { - "en-US": "published" - } - }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "catalogueTableOfMethods2" - } - }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/7ald28ahkCJgBJu1oKhUmI" - }, - "fields": { - "id": { - "en-US": "selective-editing" + "en-US": "selective-editing" }, "name": { "en-US": "Selective Editing" @@ -5680,10 +5129,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "3vD2v4Ma4DoxClPZgeQxdE", + "id": "51E73QFXqVNxRsoUxzcoSj", "type": "Entry", - "createdAt": "2024-10-04T09:36:17.191Z", - "updatedAt": "2024-10-04T09:36:18.242Z", + "createdAt": "2024-10-08T14:14:09.895Z", + "updatedAt": "2024-10-08T14:14:11.881Z", "environment": { "sys": { "id": "prod", @@ -5692,20 +5141,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:18.242Z", - "firstPublishedAt": "2024-10-04T09:36:18.242Z", + "publishedAt": "2024-10-08T14:14:11.881Z", + "firstPublishedAt": "2024-10-08T14:14:11.881Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -5714,7 +5163,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -5728,103 +5177,53 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "catalogueTableOfMethods2" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3vD2v4Ma4DoxClPZgeQxdE" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/51E73QFXqVNxRsoUxzcoSj" }, "fields": { "id": { - "en-US": "report-bug" + "en-US": "thousand-pound-correction" }, - "title": { - "en-US": "Report a defect or bug" + "name": { + "en-US": "Thousand Pound Correction" }, - "content": { - "en-US": "Please email [smlhelp@ons.gov.uk](mailto:smlhelp@ons.gov.uk)." - } - } - }, - { - "metadata": { - "tags": [ - ], - "concepts": [ - ] - }, - "sys": { - "space": { - "sys": { - "type": "Link", - "linkType": "Space", - "id": "h6k5tsc4ytaf" - } + "theme": { + "en-US": "Editing" }, - "id": "78d7qRmxYSzox6ccAwoPII", - "type": "Entry", - "createdAt": "2024-10-04T09:36:17.193Z", - "updatedAt": "2024-10-04T09:36:18.206Z", - "environment": { - "sys": { - "id": "prod", - "type": "Link", - "linkType": "Environment" - } + "expertGroup": { + "en-US": "Editing & Imputation" }, - "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:18.206Z", - "firstPublishedAt": "2024-10-04T09:36:18.206Z", - "createdBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } + "language": { + "en-US": "Python/Pandas" }, - "updatedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } + "author": { + "en-US": "ONS" }, - "publishedCounter": 1, - "version": 2, - "publishedBy": { - "sys": { - "type": "Link", - "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" - } + "description": { + "en-US": "The automatic editing method for thousand pounds correction is commonly used across ONS business surveys. It is a generic rule that uses user defined thresholds to automatically detect and correct thousand pounds errors. This is when the respondent should have reported values in thousands of pounds but has reported in actual pounds e.g., returned a value of £56,000 instead of correctly submitting 56.\n\nThe method checks the ratio of a principal variable against a suitable predictor variable and make an automatic correction if the calculated ratio is around 1000. The automatic correction is applied to all relevant variables for the respondent." }, - "fieldStatus": { - "*": { - "en-US": "published" - } + "contactDetails": { + "en-US": "smlhelp@ons.gov.uk" }, - "automationTags": [ - ], - "contentType": { - "sys": { - "type": "Link", - "linkType": "ContentType", - "id": "methodsCatalogue" - } + "methodReady": { + "en-US": true }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/78d7qRmxYSzox6ccAwoPII" - }, - "fields": { - "heading1": { - "en-US": "Methods catalogue" + "releaseVersion": { + "en-US": "v1.1.0" }, - "paragraph": { - "en-US": "Here you will discover statistical methods used by the Office for National Statistics." + "releaseLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/releases/tag/1.1.0" }, - "detail": { - "en-US": "What are method themes and expert groups?" + "codeLink": { + "en-US": "https://github.com/ONSdigital/sml-python-small/blob/main/sml_small/editing/thousand_pounds/thousand_pounds.py" }, - "detailContent": { - "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" + "specificationLink": { + "en-US": "https://github.com/ONSdigital/Statistical-Method-Specifications/blob/main/editing_and_imputation/editing/thousand_pounds_correction/thousand_pounds_correction.md" + }, + "userDocumentationLink": { + "en-US": "https://github.com/ONSdigital/sml-supporting-info/blob/main/method-info/thousand-pound-correction/thousand_pound_correction.md" } } }, @@ -5845,8 +5244,8 @@ }, "id": "5WYN3VRdVncydnbqCYupCM", "type": "Entry", - "createdAt": "2024-10-04T09:36:18.215Z", - "updatedAt": "2024-10-04T09:36:19.206Z", + "createdAt": "2024-10-08T14:14:09.903Z", + "updatedAt": "2024-10-08T14:14:11.865Z", "environment": { "sys": { "id": "prod", @@ -5855,20 +5254,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:19.206Z", - "firstPublishedAt": "2024-10-04T09:36:19.206Z", + "publishedAt": "2024-10-08T14:14:11.865Z", + "firstPublishedAt": "2024-10-08T14:14:11.865Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -5877,7 +5276,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -5920,10 +5319,10 @@ "id": "h6k5tsc4ytaf" } }, - "id": "3nzjuL0uUBerLb5tQYGuq8", + "id": "78d7qRmxYSzox6ccAwoPII", "type": "Entry", - "createdAt": "2024-10-04T09:36:18.217Z", - "updatedAt": "2024-10-04T09:36:19.215Z", + "createdAt": "2024-10-08T14:14:09.907Z", + "updatedAt": "2024-10-08T14:14:11.878Z", "environment": { "sys": { "id": "prod", @@ -5932,20 +5331,20 @@ } }, "publishedVersion": 1, - "publishedAt": "2024-10-04T09:36:19.215Z", - "firstPublishedAt": "2024-10-04T09:36:19.215Z", + "publishedAt": "2024-10-08T14:14:11.878Z", + "firstPublishedAt": "2024-10-08T14:14:11.878Z", "createdBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "updatedBy": { "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "publishedCounter": 1, @@ -5954,7 +5353,7 @@ "sys": { "type": "Link", "linkType": "User", - "id": "7BqQQLssfY5nUeZr8AO3cF" + "id": "6mszWgxBhBqoX0Rm2OPOa6" } }, "fieldStatus": { @@ -5968,20 +5367,23 @@ "sys": { "type": "Link", "linkType": "ContentType", - "id": "helpCentreInformation" + "id": "methodsCatalogue" } }, - "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/3nzjuL0uUBerLb5tQYGuq8" + "urn": "crn:contentful:::content:spaces/h6k5tsc4ytaf/environments/prod/entries/78d7qRmxYSzox6ccAwoPII" }, "fields": { - "id": { - "en-US": "view-methods" + "heading1": { + "en-US": "Methods catalogue" }, - "title": { - "en-US": "Find and view methods" + "paragraph": { + "en-US": "Here you will discover statistical methods used by the Office for National Statistics." }, - "content": { - "en-US": "You can find and view methods within the [methods catalogue](/methods)\n\nWhere available, links to GitHub for source code and specifications will be on the method's details page.\n" + "detail": { + "en-US": "What are method themes and expert groups?" + }, + "detailContent": { + "en-US": "Methods are sorted in hierarchical order with expert groups as the top level. For example, within an expert group are different themes, and within the themes are different methods.\n\nTo find out more about expert groups and themes, please visit the [analysis function website.](https://analysisfunction.civilservice.gov.uk/government-statistical-service-and-statistician-group/gss-support/methodology/information-on-specific-methods/)" } } } diff --git a/features/method_summary.feature b/features/method_summary.feature index 507f2a11a..6f19e31c3 100644 --- a/features/method_summary.feature +++ b/features/method_summary.feature @@ -9,8 +9,8 @@ Feature: Method summary page tests And The "Author" of the method is "ONS" And The "Theme" of the method is "Editing" And The "Expert group" of the method is "Editing & Imputation" - And The "Languages" of the method is "Python/Pandas" - And The "Release" of the method is "v1.0.0" + And The "Languages" of the method is "Python" + And The "Release" of the method is "v1.2.3" And The "Date Adjustment" method has the expected github resources Scenario: Thousand pound correction check @@ -20,8 +20,8 @@ Feature: Method summary page tests And The "Author" of the method is "ONS" And The "Theme" of the method is "Editing" And The "Expert group" of the method is "Editing & Imputation" - And The "Languages" of the method is "Python/Pandas" - And The "Release" of the method is "v1.1.0" + And The "Languages" of the method is "Python" + And The "Release" of the method is "v1.2.3" And The "Thousand Pound Correction" method has the expected github resources Scenario: Selective editing check @@ -31,8 +31,8 @@ Feature: Method summary page tests And The "Author" of the method is "ONS" And The "Theme" of the method is "Editing" And The "Expert group" of the method is "Editing & Imputation" - And The "Languages" of the method is "Python/Pandas" - And The "Release" of the method is "v1.0.0" + And The "Languages" of the method is "Python" + And The "Release" of the method is "v1.2.3" And The "Selective Editing" method has the expected github resources Scenario: Cell Key Perturbation check @@ -42,7 +42,7 @@ Feature: Method summary page tests And The "Author" of the method is "ONS" And The "Theme" of the method is "Statistical Disclosure Control" And The "Expert group" of the method is "Statistical Disclosure Control" - And The "Languages" of the method is "Python/Pandas" + And The "Languages" of the method is "Python" And The "Release" of the method is "v2.0.0" Scenario: Totals and Components check @@ -52,7 +52,7 @@ Feature: Method summary page tests And The "Author" of the method is "ONS" And The "Theme" of the method is "Editing" And The "Expert group" of the method is "Editing & Imputation" - And The "Languages" of the method is "Python/Pandas" - And The "Release" of the method is "v1.1.0" + And The "Languages" of the method is "Python" + And The "Release" of the method is "v1.2.3" And The "Totals and Components" method has the expected github resources diff --git a/features/methods.feature b/features/methods.feature index 874c9d1ee..a9ea2e86f 100644 --- a/features/methods.feature +++ b/features/methods.feature @@ -30,24 +30,24 @@ Feature: Methods catalogue tests Scenario: Cell Key Perturbation Python table row check Given I'm an sml portal user trying to get to the methods catalogue page When I navigate to the methods catalogue page - Then The "ready" table row of the method are "Cell Key Perturbation" "Statistical Disclosure Control" "Statistical Disclosure Control" "Python/Pandas" + Then The "ready" table row of the method are "Cell Key Perturbation" "Statistical Disclosure Control" "Statistical Disclosure Control" "Python" Scenario: Totals and Components table row check Given I'm an sml portal user trying to get to the methods catalogue page When I navigate to the methods catalogue page - Then The "ready" table row of the method are "Totals and Components" "Editing" "Editing & Imputation" "Python/Pandas" + Then The "ready" table row of the method are "Totals and Components" "Editing" "Editing & Imputation" "Python" Scenario: Date adjustment table row check Given I'm an sml portal user trying to get to the methods catalogue page When I navigate to the methods catalogue page - Then The "ready" table row of the method are "Date Adjustment" "Editing" "Editing & Imputation" "Python/Pandas" + Then The "ready" table row of the method are "Date Adjustment" "Editing" "Editing & Imputation" "Python" Scenario: Selective editing table row check Given I'm an sml portal user trying to get to the methods catalogue page When I navigate to the methods catalogue page - Then The "ready" table row of the method are "Selective Editing" "Editing" "Editing & Imputation" "Python/Pandas" + Then The "ready" table row of the method are "Selective Editing" "Editing" "Editing & Imputation" "Python" Scenario: Thousand pound correction table row check Given I'm an sml portal user trying to get to the methods catalogue page When I navigate to the methods catalogue page - Then The "ready" table row of the method are "Thousand Pound Correction" "Editing" "Editing & Imputation" "Python/Pandas" + Then The "ready" table row of the method are "Thousand Pound Correction" "Editing" "Editing & Imputation" "Python" diff --git a/features/steps/cookies.py b/features/steps/cookies.py index bcd20ac22..a01bcb1fc 100644 --- a/features/steps/cookies.py +++ b/features/steps/cookies.py @@ -13,7 +13,7 @@ def auth_user_home_page(context): .until(lambda d: d.find_element(By.TAG_NAME, "h1")) .text ) - assert banner == "An open source library for statistical code approved by the ONS" + assert banner == "A library for statistical code approved by the ONS" @given("I am on the cookies page") diff --git a/poetry.lock b/poetry.lock index 99e0fb273..56570439e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "astroid" @@ -438,38 +438,38 @@ requests = ">=2.20.0,<3.0" [[package]] name = "cryptography" -version = "43.0.1" +version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a"}, - {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042"}, - {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494"}, - {file = "cryptography-43.0.1-cp37-abi3-win32.whl", hash = "sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2"}, - {file = "cryptography-43.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d"}, - {file = "cryptography-43.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1"}, - {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa"}, - {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4"}, - {file = "cryptography-43.0.1-cp39-abi3-win32.whl", hash = "sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47"}, - {file = "cryptography-43.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2"}, - {file = "cryptography-43.0.1.tar.gz", hash = "sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d"}, + {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, + {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, + {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, + {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, + {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, + {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, + {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, ] [package.dependencies] @@ -482,7 +482,7 @@ nox = ["nox"] pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.1)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] @@ -903,72 +903,72 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "3.0.1" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.9" files = [ - {file = "MarkupSafe-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:db842712984e91707437461930e6011e60b39136c7331e971952bb30465bc1a1"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ffb4a8e7d46ed96ae48805746755fadd0909fea2306f93d5d8233ba23dda12a"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67c519635a4f64e495c50e3107d9b4075aec33634272b5db1cde839e07367589"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48488d999ed50ba8d38c581d67e496f955821dc183883550a6fbc7f1aefdc170"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f31ae06f1328595d762c9a2bf29dafd8621c7d3adc130cbb46278079758779ca"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80fcbf3add8790caddfab6764bde258b5d09aefbe9169c183f88a7410f0f6dea"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3341c043c37d78cc5ae6e3e305e988532b072329639007fd408a476642a89fd6"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cb53e2a99df28eee3b5f4fea166020d3ef9116fdc5764bc5117486e6d1211b25"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-win32.whl", hash = "sha256:db15ce28e1e127a0013dfb8ac243a8e392db8c61eae113337536edb28bdc1f97"}, - {file = "MarkupSafe-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:4ffaaac913c3f7345579db4f33b0020db693f302ca5137f106060316761beea9"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:26627785a54a947f6d7336ce5963569b5d75614619e75193bdb4e06e21d447ad"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b954093679d5750495725ea6f88409946d69cfb25ea7b4c846eef5044194f583"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:973a371a55ce9ed333a3a0f8e0bcfae9e0d637711534bcb11e130af2ab9334e7"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:244dbe463d5fb6d7ce161301a03a6fe744dac9072328ba9fc82289238582697b"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d98e66a24497637dd31ccab090b34392dddb1f2f811c4b4cd80c230205c074a3"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ad91738f14eb8da0ff82f2acd0098b6257621410dcbd4df20aaa5b4233d75a50"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7044312a928a66a4c2a22644147bc61a199c1709712069a344a3fb5cfcf16915"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a4792d3b3a6dfafefdf8e937f14906a51bd27025a36f4b188728a73382231d91"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-win32.whl", hash = "sha256:fa7d686ed9883f3d664d39d5a8e74d3c5f63e603c2e3ff0abcba23eac6542635"}, - {file = "MarkupSafe-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:9ba25a71ebf05b9bb0e2ae99f8bc08a07ee8e98c612175087112656ca0f5c8bf"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8ae369e84466aa70f3154ee23c1451fda10a8ee1b63923ce76667e3077f2b0c4"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40f1e10d51c92859765522cbd79c5c8989f40f0419614bcdc5015e7b6bf97fc5"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a4cb365cb49b750bdb60b846b0c0bc49ed62e59a76635095a179d440540c346"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee3941769bd2522fe39222206f6dd97ae83c442a94c90f2b7a25d847d40f4729"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62fada2c942702ef8952754abfc1a9f7658a4d5460fabe95ac7ec2cbe0d02abc"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4c2d64fdba74ad16138300815cfdc6ab2f4647e23ced81f59e940d7d4a1469d9"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fb532dd9900381d2e8f48172ddc5a59db4c445a11b9fab40b3b786da40d3b56b"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0f84af7e813784feb4d5e4ff7db633aba6c8ca64a833f61d8e4eade234ef0c38"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-win32.whl", hash = "sha256:cbf445eb5628981a80f54087f9acdbf84f9b7d862756110d172993b9a5ae81aa"}, - {file = "MarkupSafe-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a10860e00ded1dd0a65b83e717af28845bb7bd16d8ace40fe5531491de76b79f"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e81c52638315ff4ac1b533d427f50bc0afc746deb949210bc85f05d4f15fd772"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:312387403cd40699ab91d50735ea7a507b788091c416dd007eac54434aee51da"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ae99f31f47d849758a687102afdd05bd3d3ff7dbab0a8f1587981b58a76152a"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97ff7fedf56d86bae92fa0a646ce1a0ec7509a7578e1ed238731ba13aabcd1c"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7420ceda262dbb4b8d839a4ec63d61c261e4e77677ed7c66c99f4e7cb5030dd"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45d42d132cff577c92bfba536aefcfea7e26efb975bd455db4e6602f5c9f45e7"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c8817557d0de9349109acb38b9dd570b03cc5014e8aabf1cbddc6e81005becd"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a54c43d3ec4cf2a39f4387ad044221c66a376e58c0d0e971d47c475ba79c6b5"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-win32.whl", hash = "sha256:c91b394f7601438ff79a4b93d16be92f216adb57d813a78be4446fe0f6bc2d8c"}, - {file = "MarkupSafe-3.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:fe32482b37b4b00c7a52a07211b479653b7fe4f22b2e481b9a9b099d8a430f2f"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:17b2aea42a7280db02ac644db1d634ad47dcc96faf38ab304fe26ba2680d359a"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:852dc840f6d7c985603e60b5deaae1d89c56cb038b577f6b5b8c808c97580f1d"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0778de17cff1acaeccc3ff30cd99a3fd5c50fc58ad3d6c0e0c4c58092b859396"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:800100d45176652ded796134277ecb13640c1a537cad3b8b53da45aa96330453"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d06b24c686a34c86c8c1fba923181eae6b10565e4d80bdd7bc1c8e2f11247aa4"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:33d1c36b90e570ba7785dacd1faaf091203d9942bc036118fab8110a401eb1a8"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:beeebf760a9c1f4c07ef6a53465e8cfa776ea6a2021eda0d0417ec41043fe984"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bbde71a705f8e9e4c3e9e33db69341d040c827c7afa6789b14c6e16776074f5a"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-win32.whl", hash = "sha256:82b5dba6eb1bcc29cc305a18a3c5365d2af06ee71b123216416f7e20d2a84e5b"}, - {file = "MarkupSafe-3.0.1-cp313-cp313t-win_amd64.whl", hash = "sha256:730d86af59e0e43ce277bb83970530dd223bf7f2a838e086b50affa6ec5f9295"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4935dd7883f1d50e2ffecca0aa33dc1946a94c8f3fdafb8df5c330e48f71b132"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e9393357f19954248b00bed7c56f29a25c930593a77630c719653d51e7669c2a"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40621d60d0e58aa573b68ac5e2d6b20d44392878e0bfc159012a5787c4e35bc8"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f94190df587738280d544971500b9cafc9b950d32efcb1fba9ac10d84e6aa4e6"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6a387d61fe41cdf7ea95b38e9af11cfb1a63499af2759444b99185c4ab33f5b"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8ad4ad1429cd4f315f32ef263c1342166695fad76c100c5d979c45d5570ed58b"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e24bfe89c6ac4c31792793ad9f861b8f6dc4546ac6dc8f1c9083c7c4f2b335cd"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2a4b34a8d14649315c4bc26bbfa352663eb51d146e35eef231dd739d54a5430a"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-win32.whl", hash = "sha256:242d6860f1fd9191aef5fae22b51c5c19767f93fb9ead4d21924e0bcb17619d8"}, - {file = "MarkupSafe-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:93e8248d650e7e9d49e8251f883eed60ecbc0e8ffd6349e18550925e31bd029b"}, - {file = "markupsafe-3.0.1.tar.gz", hash = "sha256:3e683ee4f5d0fa2dde4db77ed8dd8a876686e3fc417655c2ece9a90576905344"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] @@ -1406,7 +1406,7 @@ astroid = ">=3.3.4,<=3.4.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, ] isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" @@ -1698,13 +1698,13 @@ idna2008 = ["idna"] [[package]] name = "rich" -version = "13.9.2" +version = "13.9.3" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" files = [ - {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, - {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, + {file = "rich-13.9.3-py3-none-any.whl", hash = "sha256:9836f5096eb2172c9e77df411c1b009bace4193d6a481d534fea75ebba758283"}, + {file = "rich-13.9.3.tar.gz", hash = "sha256:bc1e01b899537598cf02579d2b9f4a415104d3fc439313a7a2c165d76557a08e"}, ] [package.dependencies] diff --git a/scripts/contentful_Audit.sh b/scripts/contentful_Audit.sh new file mode 100755 index 000000000..fa127e063 --- /dev/null +++ b/scripts/contentful_Audit.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# $MASTER_CDA_KEY, $SPACE_ID and $CLI_KEY must be set as environment variables. +# $MASTER_CDA_KEY is the (read-only) Content Delivery API key which can access all environments. +# $SPACE_ID is the Contentful space ID. +# $CLI_KEY is the Contentful management token (sometimes referred to as CMA key). + +GREEN="\033[32m" +RED="\033[31m" +NC="\033[0m" + +while getopts b:c: opt; do + case "${opt}" in + b) + base_environment=${OPTARG} + ;; + c) + compare_environment=${OPTARG} + ;; + ?) + echo "Invalid option: -${OPTARG}." + exit 1 + ;; + esac +done + +allowed_envs='^(dev|preprod|prod)$' + + +if [ -z "$base_environment" ] || [ -z "$compare_environment" ]; then + echo "Usage: ./contentful_audit.sh -b -c " + echo " -- Example: ./contentful_migrate.sh -s dev -t preprod" + exit 1 +elif [ "$base_environment" == "$compare_environment" ]; then + echo "Usage: ./contentful_audit.sh -b -c " + echo " -- Source and target environments must be different" + exit 1 +elif [[ ! "$base_environment" =~ $allowed_envs ]] || [[ ! "$compare_environment" =~ $allowed_envs ]]; then + echo "Usage: ./contentful_audit.sh -b -c " + echo " -- Environment must be one of: dev, preprod, prod" + exit 1 +fi + + + +err_handler() { + # log the error + timestamp=$(date "+%Y.%m.%d-%H.%M.%S") + migration_log="${timestamp}: Error raised while auditing content from $base_environment to $compare_environment \n - Failing command: ${1} \n - Exit code: ${2}" + echo -e $migration_log + echo -e $migration_log >> ../contentful-data/migration-log.txt + exit $2 +} + +trap 'err_handler "$BASH_COMMAND" "$?"' ERR + +export ACTIVE_VALUE=False +python sub_scripts/contentful_webhook.py +echo " -- Webhook Disabled" +contentful merge show --te "$compare_environment" --se "$base_environment" --management-token $CLI_KEY +contentful merge export --te $compare_environment --se "$base_environment" --management-token $CLI_KEY --output-file ../contentful-data/audits/${compare_environment}-export.js +contentful-merge create --space $SPACE_ID --source $base_environment --target $compare_environment --cda-token $MASTER_CDA_KEY --output-file ../contentful-data/audits/${base_environment}-${compare_environment}-changeset.json +export ACTIVE_VALUE=True +python sub_scripts/contentful_webhook.py +echo " -- Webhook Enabled" + +timestamp=$(date "+%Y.%m.%d-%H.%M.%S") +migration_log="${timestamp}: Audited content between $base_environment and $compare_environment" +python sub_scripts/Contentful_audit.py ${base_environment}-${compare_environment}-changeset.json ${compare_environment} ${base_environment} \ No newline at end of file diff --git a/contentful_migrate.sh b/scripts/contentful_migrate.sh similarity index 77% rename from contentful_migrate.sh rename to scripts/contentful_migrate.sh index bef32828e..163223bea 100755 --- a/contentful_migrate.sh +++ b/scripts/contentful_migrate.sh @@ -52,7 +52,7 @@ err_handler() { timestamp=$(date "+%Y.%m.%d-%H.%M.%S") migration_log="${timestamp}: Error raised while migrating content from $source_environment to $target_environment \n - Failing command: ${1} \n - Exit code: ${2}" echo -e $migration_log - echo -e $migration_log >> ./contentful-data/migration-log.txt + echo -e $migration_log >> ../contentful-data/migration-log.txt echo "Consider triggering a rollback with the contentful_rollback script:" echo "./contentful_rollback.sh -s $source_environment -t $target_environment" exit $2 @@ -72,23 +72,23 @@ fi echo "Migrating content from $source_environment to $target_environment" # create backup files # store all the content entries and types in the target environment for rollback -contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json +contentful space export --management-token $CLI_KEY --export-dir ../contentful-data/rollbacks --environment-id $target_environment --content-file ${target_environment}-export.json # store the migration that would be required to revert the target environment to its original state -contentful merge export --te $source_environment --se $target_environment --management-token $CLI_KEY --output-file ./contentful-data/rollbacks/${target_environment}-export.js +contentful merge export --te $source_environment --se $target_environment --management-token $CLI_KEY --output-file ../contentful-data/rollbacks/${target_environment}-export.js # delete all entries in target environment using deletion_changeset.py -python deletion_changeset.py $target_environment ./contentful-data/rollbacks/${target_environment}-export.json -contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ./contentful-data/migrations/deletion-changeset.json +python sub_scripts/deletion_changeset.py $target_environment ../contentful-data/rollbacks/${target_environment}-export.json +contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ../contentful-data/migrations/deletion-changeset.json # migrate content types -contentful merge export --te $target_environment --se $source_environment --management-token $CLI_KEY --output-file ./contentful-data/migrations/${source_environment}-export.js -contentful space migration --space-id $SPACE_ID --management-token $CLI_KEY --environment-id $target_environment ./contentful-data/migrations/${source_environment}-export.js +contentful merge export --te $target_environment --se $source_environment --management-token $CLI_KEY --output-file ../contentful-data/migrations/${source_environment}-export.js +contentful space migration --space-id $SPACE_ID --management-token $CLI_KEY --environment-id $target_environment ../contentful-data/migrations/${source_environment}-export.js # then merge entries -contentful-merge create --space $SPACE_ID --source $source_environment --target $target_environment --cda-token $MASTER_CDA_KEY --output-file ./contentful-data/migrations/${source_environment}-${target_environment}-changeset.json -contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ./contentful-data/migrations/${source_environment}-${target_environment}-changeset.json +contentful-merge create --space $SPACE_ID --source $source_environment --target $target_environment --cda-token $MASTER_CDA_KEY --output-file ../contentful-data/migrations/${source_environment}-${target_environment}-changeset.json +contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ../contentful-data/migrations/${source_environment}-${target_environment}-changeset.json # log the migration timestamp=$(date "+%Y.%m.%d-%H.%M.%S") migration_log="${timestamp}: Migrated content from $source_environment to $target_environment" echo $migration_log -echo $migration_log >> ./contentful-data/migration-log.txt +echo $migration_log >> ../contentful-data/migration-log.txt diff --git a/contentful_rollback.sh b/scripts/contentful_rollback.sh similarity index 80% rename from contentful_rollback.sh rename to scripts/contentful_rollback.sh index cdccf35d3..6d27ea54d 100755 --- a/contentful_rollback.sh +++ b/scripts/contentful_rollback.sh @@ -45,7 +45,7 @@ err_handler() { timestamp=$(date "+%Y.%m.%d-%H.%M.%S") migration_log="${timestamp}: Error raised while rolling back content in $target_environment \n - Failing command: ${1} \n - Exit code: ${2}" echo -e $migration_log - echo -e $migration_log >> ./contentful-data/migration-log.txt + echo -e $migration_log >> ../contentful-data/migration-log.txt exit $2 } @@ -61,16 +61,16 @@ else fi echo "Rolling back content in $target_environment" # export the current state of the environment for use in deletion_changeset.py -contentful space export --management-token $CLI_KEY --export-dir ./contentful-data/content-exports --environment-id $target_environment --content-file ${target_environment}-export.json +contentful space export --management-token $CLI_KEY --export-dir ../contentful-data/content-exports --environment-id $target_environment --content-file ${target_environment}-export.json # delete all entries using deletion_changeset.py -python deletion_changeset.py $target_environment ./contentful-data/content-exports/${target_environment}-export.json -contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ./contentful-data/migrations/deletion-changeset.json +python sub_scripts/deletion_changeset.py $target_environment ../contentful-data/content-exports/${target_environment}-export.json +contentful-merge apply --space $SPACE_ID --environment $target_environment --cma-token $CLI_KEY --file ../contentful-data/migrations/deletion-changeset.json # perform any necessary content type changes -contentful space migration --space-id $SPACE_ID --management-token $CLI_KEY --environment-id $target_environment ./contentful-data/rollbacks/${target_environment}-export.js +contentful space migration --space-id $SPACE_ID --management-token $CLI_KEY --environment-id $target_environment ../contentful-data/rollbacks/${target_environment}-export.js # import the snapshot -contentful space import --management-token $CLI_KEY --environment-id $target_environment --content-file ./contentful-data/rollbacks/${target_environment}-export.json +contentful space import --management-token $CLI_KEY --environment-id $target_environment --content-file ../contentful-data/rollbacks/${target_environment}-export.json # log the rollback timestamp=$(date "+%Y.%m.%d-%H.%M.%S") migration_log="${timestamp}: Performed rollback on environment $target_environment" echo $migration_log -echo $migration_log >> ./contentful-data/migration-log.txt +echo $migration_log >> ../contentful-data/migration-log.txt diff --git a/scripts/sub_scripts/contentful_audit.py b/scripts/sub_scripts/contentful_audit.py new file mode 100644 index 000000000..3f64ced98 --- /dev/null +++ b/scripts/sub_scripts/contentful_audit.py @@ -0,0 +1,288 @@ +import difflib +import json +import os +from sys import argv + +from contentful import Client + +MASTER_CDA_KEY = os.environ.get("MASTER_CDA_KEY") +SPACE_ID = os.environ.get("SPACE_ID") + + +def main(filepath, target_env, base_env): + with open( + f"../contentful-data/audits/{filepath}", encoding="utf-8" + ) as changeset_file: + changeset = json.load(changeset_file) + ( + change_add, + change_edit, + change_delete, + add_sections, + edit_sections, + delete_sections, + change_data, + change_json, + ) = parse_changeset(changeset, target_env, base_env) + build_html( + change_add, + change_edit, + change_delete, + add_sections, + edit_sections, + delete_sections, + change_data, + filepath, + ) + build_json( + change_add, + change_edit, + change_delete, + add_sections, + edit_sections, + delete_sections, + change_json, + filepath, + ) + print("audit_reports created") + + +def parse_changeset(json_data, target_env, base_env): + target_client = Client(SPACE_ID, MASTER_CDA_KEY, environment=target_env) + base_client = Client(SPACE_ID, MASTER_CDA_KEY, environment=base_env) + change_add = 0 + add_sections = [] + change_edit = 0 + edit_sections = [] + change_delete = 0 + delete_sections = [] + change_data = [] + change_dict = [] + items = json_data["items"] + for dictionary in items: + match dictionary["changeType"]: + # Track number of new entries and names of new entires + case "add": + change_add += 1 + add_sections.append( + base_client.entry(dictionary["entity"]["sys"]["id"]).fields()[ + "api_name" + ] + ) + # Track number of update entries and names of updated entries + case "update": + change_edit += 1 + edit_sections.append( + target_client.entry(dictionary["entity"]["sys"]["id"]).fields()[ + "api_name" + ] + ) + # Track number of deleted entries and names of deleted entries + case "delete": + change_delete += 1 + delete_sections.append( + target_client.entry(dictionary["entity"]["sys"]["id"]).fields()[ + "api_name" + ] + ) + # For new entries, create a dictionary entry using the base environment api, create green html text for report + if dictionary["changeType"] == "add": + entry = base_client.entry(dictionary["entity"]["sys"]["id"]) + final_text = "ENTRY TITLE: " + entry.fields()["api_name"].title() + "\n" + section_title = entry.fields()["api_name"].split("/") + json_entry = { + "Change_type": "add", + "Section": section_title[0], + "Change_Title": section_title[1], + "Change_Summary": {}, + } + for key, value in dictionary["data"]["fields"].items(): + final_text += f'+ {key}\n+ {value["en-US"]}\n\n' + json_entry["Change_Summary"][key] = value["en-US"] + change_data.append(final_text) + change_dict.append(json_entry) + # For updated entries, compare base and target api clients to create a diff of the data, create dict + # that shows old vs new data + elif dictionary["changeType"] == "update": + entry = target_client.entry(dictionary["entity"]["sys"]["id"]) + base_entry = base_client.entry(dictionary["entity"]["sys"]["id"]).fields() + final_text = "ENTRY TITLE: " + entry.fields()["api_name"].title() + "\n" + section_title = entry.fields()["api_name"].split("/") + json_entry = { + "Change_type": "edit", + "Section": section_title[0], + "Change_Title": section_title[1], + "Change_Summary": {}, + } + for key, value in base_entry.items(): + highlight_text = highlight_differences(entry.fields()[key], value) + highlight_text = "\n" + key.title() + "\n" + highlight_text + "\n" + final_text += highlight_text + json_entry["Change_Summary"]["original_" + key] = entry.fields()[key] + json_entry["Change_Summary"]["new_" + key] = value + change_data.append(final_text) + change_dict.append(json_entry) + # For deleted data use target api client to show data that would be deleted and create red html text, + # additionally add data to dict for json output + elif dictionary["changeType"] == "delete": + entry = target_client.entry(dictionary["entity"]["sys"]["id"]) + final_text = "ENTRY TITLE: " + entry.fields()["api_name"].title() + "\n" + section_title = entry.fields()["api_name"].split("/") + json_entry = { + "Change_type": "delete", + "Section": section_title[0], + "Change_Title": section_title[1], + "Change_Summary": {}, + } + for key, value in entry.fields().items(): + final_text += f'- {key}\n- {value}\n\n' + json_entry["Change_Summary"][key] = value + change_data.append(final_text) + change_dict.append(json_entry) + return ( + change_add, + change_edit, + change_delete, + add_sections, + edit_sections, + delete_sections, + change_data, + change_dict, + ) + + +def build_json( + add, edit, delete, add_sections, edit_sections, delete_sections, data, name +): + name = name.split("" "-") + # create JSON structure to output using data created in parse_changeset + summary_dictionary = { + "audit_report": f"{name[0].title()} to {name[1].title()} Audit report", + "change_summary": { + "added": {"total": add, "affected_sections": add_sections}, + "edited": {"total": edit, "affected_sections": edit_sections}, + "deleted": {"total": delete, "affected_sections": delete_sections}, + }, + "entries": data, + } + with open("audit_report.json", "w", encoding="utf-8") as file: + json.dump(summary_dictionary, file, indent=4) + file.close() + + +def build_html( + add, edit, delete, add_sections, edit_sections, delete_sections, data, name +): + html_header = """ + + + + + Highlighted Differences + + + +
+    """
+    html_footer = """
+    
+ + + """ + # Take the add, edit and delete lists and create a CSV string for the report + add_string = ", ".join(add_sections) + edit_string = ", ".join(edit_sections) + delete_string = ", ".join(delete_sections) + with open("audit_report.html", "w", encoding="utf-8") as file: + name = name.split("" "-") + file.write(html_header+"\n") + file.write(f"{name[0].title()} to {name[1].title()} Audit report:\n\n") + file.write(f"Number " f"of Entries added: {add}\n") + file.write(f"Added entries: {add_string}\n\n") + file.write(f"Number of Entries edited: {edit}\n") + file.write(f"Edited entries: {edit_string}\n\n") + file.write(f"Number of Entries deleted: {delete}\n\n") + file.write(f"Deleted entries: {delete_string}\n\n") + file.write( + "--------------------------------------" "--------------------------\n\n" + ) + file.write("Summary of contents changed:\n") + file.write( + "----------------------------------------------------------------\n\n" + ) + for count, entry in enumerate(data, start=1): + file.write(f"Entry: {count}\n") + file.write(f"{entry}\n\n") + file.write( + "----------------------------------------------------------------\n\n" + ) + file.write("End of Report") + file.write(html_footer) + file.close() + + +def highlight_differences(target_env_string, base_env_string, context=3): + # context refers to the number of lines to buffer before and after a changed line + # Compare both strings and create a delta containing the difference + diff = list( + difflib.ndiff(target_env_string.splitlines(), base_env_string.splitlines()) + ) + result = [] + buffer = [] + in_context = False + unchanged_count = 0 + # Loop through the delta and create a final output + for line_number, line in enumerate(diff): + if line.startswith(" "): # indicates unchanged line + # loop through unchanged lines, storing the last x lines where x = context (e.g if context is 3 we only + # consider the most recent 3 lines of the diff, allowing us to give useful context i the output without + # outputting large text blocks) + if in_context: + buffer.append(line) + unchanged_count += 1 + if unchanged_count > context: + buffer.pop(0) + else: + buffer.append(line) + if len(buffer) > context: + buffer.pop(0) + else: + # when a changed line is found, take the buffer, add the changed line with the relevant colour, add the 3 + # lines after the changed line and add this to the final output diff + if buffer: + result.extend( + buffer[-context:] + ) # Include the last 'context' lines before the change + buffer = [] + if line.startswith("+ "): + result.append( + f'{line}' + ) # Green for additions + elif line.startswith("- "): + result.append( + f'{line}' + ) # Red for deletions + elif line.startswith("? "): + result.append( + f'{line}' + ) # Yellow for context + else: + result.append(line) + in_context = True + unchanged_count = 0 + for line_after_change in range( + 1, context + 1 + ): # Take the 3 lines after a change + if line_number + line_after_change < len(diff) and diff[ + line_number + line_after_change + ].startswith(" "): + result.append(diff[line_number + line_after_change]) + else: + break + return "\n".join(result) + + +if __name__ == "__main__": + main(argv[1], argv[2], argv[3]) diff --git a/scripts/sub_scripts/contentful_webhook.py b/scripts/sub_scripts/contentful_webhook.py new file mode 100644 index 000000000..b0a21f63c --- /dev/null +++ b/scripts/sub_scripts/contentful_webhook.py @@ -0,0 +1,17 @@ +import os +import sys + +from contentful_management import Client + +CDA_KEY = os.environ.get("CLI_KEY") +SPACE_ID = os.environ.get("SPACE_ID") +ACTIVE_VALUE = os.environ.get("ACTIVE_VALUE") +client = Client(CDA_KEY) + +webhooks = client.webhooks(SPACE_ID).find("4pAWhYZSUHT8wNyzW6fff8") +webhooks.update({"active": ACTIVE_VALUE == "True"}) + +webhooks = client.webhooks(SPACE_ID).find("4pAWhYZSUHT8wNyzW6fff8") +output = webhooks.__dict__ +if str(output["raw"]["active"]) != ACTIVE_VALUE: + sys.exit("Webhook active status does not match intended value. Exiting.") diff --git a/deletion_changeset.py b/scripts/sub_scripts/deletion_changeset.py similarity index 89% rename from deletion_changeset.py rename to scripts/sub_scripts/deletion_changeset.py index fdf6e6da5..218fe2564 100644 --- a/deletion_changeset.py +++ b/scripts/sub_scripts/deletion_changeset.py @@ -17,7 +17,7 @@ print("Invalid environment. Allowed environments are dev, preprod, prod.") sys.exit(1) with open( - "./contentful-data/migrations/deletion-changeset.json", encoding="utf-8" + "../contentful-data/migrations/deletion-changeset.json", encoding="utf-8" ) as deletion_changeset_file: deletion_changeset = load(deletion_changeset_file) with open( @@ -38,5 +38,5 @@ for item in target_environment_data["entries"] if item["sys"]["environment"]["sys"]["id"] == target_environment ] - with open("./contentful-data/migrations/deletion-changeset.json", "w") as outfile: + with open("../contentful-data/migrations/deletion-changeset.json", "w") as outfile: dump(deletion_changeset, outfile)