diff --git a/src/filters/aOrAn.js b/src/filters/aOrAn.js
new file mode 100644
index 00000000..98ab0634
--- /dev/null
+++ b/src/filters/aOrAn.js
@@ -0,0 +1,4 @@
+export function aOrAn (word) {
+ // returns 'a' or 'an' depending on the first letter of the input word - does not quite work for all words such as hour
+ return word && typeof word === 'string' ? (['a', 'e', 'i', 'o', 'u'].includes(word.trim().toLowerCase()[0]) ? 'an' : 'a') : 'a'
+}
diff --git a/src/filters/filters.js b/src/filters/filters.js
index 03b8fee2..c0f67d4a 100644
--- a/src/filters/filters.js
+++ b/src/filters/filters.js
@@ -13,6 +13,7 @@ import { schemaIssues } from './schemaIssues.js'
import { endpointSubmissionFormToolDeepLink } from './endpointSubmissionFormDeepLink.js'
import { isFeatureEnabled } from '../utils/features.js'
import { getNavigationLinks } from './getNavigationLinks.js'
+import { aOrAn } from './aOrAn.js'
/** maps dataset status (as returned by `fetchLpaOverview` middleware to a
* CSS class used by the govuk-tag component
*/
@@ -47,6 +48,7 @@ const addFilters = (nunjucksEnv) => {
nunjucksEnv.addFilter('getFullServiceName', getFullServiceName)
nunjucksEnv.addFilter('statusToTagClass', statusToTagClass)
nunjucksEnv.addFilter('pluralise', pluralize)
+ nunjucksEnv.addFilter('aOrAn', aOrAn)
nunjucksEnv.addFilter('checkToolDeepLink', checkToolDeepLink)
nunjucksEnv.addFilter('endpointSubmissionFormToolDeepLink', endpointSubmissionFormToolDeepLink)
nunjucksEnv.addFilter('getDatasetGuidanceUrl', getDatasetGuidanceUrl)
diff --git a/src/filters/getNavigationLinks.js b/src/filters/getNavigationLinks.js
index 22c368c0..0374a426 100644
--- a/src/filters/getNavigationLinks.js
+++ b/src/filters/getNavigationLinks.js
@@ -6,6 +6,14 @@ const navigationLinks = {
guidance: {
href: '/guidance',
text: 'Guidance'
+ },
+ community: {
+ href: '/community',
+ text: 'Community'
+ },
+ extract: {
+ href: '/extract',
+ text: 'Extract your data'
}
}
diff --git a/src/routes/community.js b/src/routes/community.js
new file mode 100644
index 00000000..ba26d48e
--- /dev/null
+++ b/src/routes/community.js
@@ -0,0 +1,11 @@
+import express from 'express'
+import nunjucks from 'nunjucks'
+
+const router = express.Router()
+
+router.get('/', (req, res) => {
+ const communityPage = nunjucks.render('community.html', {})
+ res.send(communityPage)
+})
+
+export default router
diff --git a/src/routes/extract.js b/src/routes/extract.js
new file mode 100644
index 00000000..22135152
--- /dev/null
+++ b/src/routes/extract.js
@@ -0,0 +1,11 @@
+import express from 'express'
+import nunjucks from 'nunjucks'
+
+const router = express.Router()
+
+router.get('/', (req, res) => {
+ const extractPage = nunjucks.render('extract.html', {})
+ res.send(extractPage)
+})
+
+export default router
diff --git a/src/serverSetup/routes.js b/src/serverSetup/routes.js
index b921aa81..c14544d5 100644
--- a/src/serverSetup/routes.js
+++ b/src/serverSetup/routes.js
@@ -8,13 +8,16 @@ import manage from '../routes/manage.js'
import privacy from '../routes/privacy.js'
import cookies from '../routes/cookies.js'
import guidance from '../routes/guidance.js'
+import community from '../routes/community.js'
+import extract from '../routes/extract.js'
export function setupRoutes (app) {
app.use('/', manage)
app.use('/check', checkFormWizard)
app.use('/organisations', organisations)
app.use('/guidance', guidance)
-
+ app.use('/community', community)
+ app.use('/extract', extract)
app.use('/api', polling)
app.use('/accessibility', accessibility)
diff --git a/src/views/accessibility.html b/src/views/accessibility.html
index dfc23040..c307d8cd 100644
--- a/src/views/accessibility.html
+++ b/src/views/accessibility.html
@@ -1,5 +1,5 @@
{% extends "layouts/main.html" %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set pageName = 'Accessibility statement for Check and provide planning and housing data for England' %}
{% set markdownContent %}
diff --git a/src/views/community.html b/src/views/community.html
new file mode 100644
index 00000000..d184fd70
--- /dev/null
+++ b/src/views/community.html
@@ -0,0 +1,10 @@
+{% extends "layouts/main.html" %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
+{% set pageName = 'Community' %}
+
+{% block main %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/src/views/cookies.html b/src/views/cookies.html
index 0367b151..34273a71 100644
--- a/src/views/cookies.html
+++ b/src/views/cookies.html
@@ -6,7 +6,7 @@
{% set pageName = 'Cookie notice for Check and provide planning and housing data for England' %}
{% set serviceType = 'manage' %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set markdownContent %}
# Check and provide planning and housing data for England cookies notice
diff --git a/src/views/error.html b/src/views/error.html
index f05056e8..46f66de9 100644
--- a/src/views/error.html
+++ b/src/views/error.html
@@ -1,7 +1,7 @@
{% from "govuk/components/button/macro.njk" import govukButton %}
{% set pageName = "Error" %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% extends "layouts/main.html" %}
{% block content %}
Error
diff --git a/src/views/extract.html b/src/views/extract.html
new file mode 100644
index 00000000..d93b9b79
--- /dev/null
+++ b/src/views/extract.html
@@ -0,0 +1,25 @@
+{% extends "layouts/main.html" %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
+{% set pageName = 'Extract' %}
+
+{% block main %}
+
+
Extract your data
+
Extract is a tool that turns your maps, PDFs and historic planning records into standardised
+ planning data.
+
When you upload a document, the tool will:
+
+ - extract key information (like dates, locations and decisions) and format it into datasets
+ - trace boundaries drawn on maps and outline boundary areas
+ - match the boundary areas to coordinates
+
+
You can review and correct the data that the tool extracts before you export it.
+
We currently support:
+
+ - article 4 directions
+ - conservation areas
+ - tree preservation orders
+
+
Find out more about Extract
+
+{% endblock %}
\ No newline at end of file
diff --git a/src/views/includes/_issue-guidance.html b/src/views/includes/_issue-guidance.html
index b9b327f7..1033ea11 100644
--- a/src/views/includes/_issue-guidance.html
+++ b/src/views/includes/_issue-guidance.html
@@ -17,7 +17,7 @@
How to fix this issue
- Your dataset is missing the {{ issueSpecification.field }} column.
+ Your data is missing {{ issueSpecification.field | aOrAn }} {{ issueSpecification.field }}.
The {{ dataset.name }} guidance explains how to fix the issue:
{{ govukInsetText({
html: issueSpecificationInsetHtml
diff --git a/src/views/landing.html b/src/views/landing.html
index 3ade7bcc..50c2a272 100644
--- a/src/views/landing.html
+++ b/src/views/landing.html
@@ -1,10 +1,10 @@
{% extends "layouts/main.html" %}
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from 'govuk/components/phase-banner/macro.njk' import govukPhaseBanner %}
-
{% set serviceType = 'Manage' %}
{% set pageName = '' %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set mainClasses = 'govuk-!-padding-0' %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% block main %}
{{ super() }}
-{% endblock %}
-
-{% block content %}
-
-
-
Check your data
-
-
The check tool can help you understand which issues you need to fix straightaway, and which issues you can fix later.
-
-
The tool will accept any of these formats:
-
- - CSV
- - GeoJSON
- - GML
- - GeoPackage
-
-
-
Alternatively you can use your endpoint URL (the URL of the data file or feed itself).
-
You do not need to publish your data on your website before you check it.
-
-
-
-
-
-
-
-
Provide your data
-
-
Once you have published your data on your website, you can provide your data to the platform. We'll need your:
-
-
- - full name
- - work email address
- - endpoint URL
- - webpage URL: the URL of the page on your website which contains information about the dataset and the link to your data
-
-
-
-
-
-
-
-
-
View your data
-
-
- Visit your organisation’s dashboard anytime to clearly see the data you’ve supplied and the datasets you still need to provide.
-
-
-
For any live data, we’ll let you know what you can do to improve it.
-
-
-
-
-
-
-
-
Contribute to the data design process
-
-
Information about how you can help with designing data and get involved in community events and discussions.
-
-
Contribute to the data design process
-
-
-
-{% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/src/views/organisations/dataset-overview.html b/src/views/organisations/dataset-overview.html
index f6598e4e..eeac90bc 100644
--- a/src/views/organisations/dataset-overview.html
+++ b/src/views/organisations/dataset-overview.html
@@ -26,7 +26,7 @@
{% from "components/alternativeSourceNotice.html" import alternativeSourceNotice %}
{% from "components/alternativePrePopulatedSourceNotice.html" import alternativePrePopulatedSourceNotice %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set serviceType = 'Manage' %}
{% set pageName %}
diff --git a/src/views/organisations/datasetTaskList.html b/src/views/organisations/datasetTaskList.html
index 87a8a937..ebed926c 100644
--- a/src/views/organisations/datasetTaskList.html
+++ b/src/views/organisations/datasetTaskList.html
@@ -2,7 +2,7 @@
{% from 'govuk/components/task-list/macro.njk' import govukTaskList %}
{% from "../components/dataset-navigation.html" import datasetNavigation %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Task list{% endset %}
{% set serviceType = 'Manage' %}
diff --git a/src/views/organisations/dataview.html b/src/views/organisations/dataview.html
index 50289a81..dfae18e2 100644
--- a/src/views/organisations/dataview.html
+++ b/src/views/organisations/dataview.html
@@ -5,7 +5,7 @@
{% from "components/alternativeSourceNotice.html" import alternativeSourceNotice %}
{% from "components/alternativePrePopulatedSourceNotice.html" import alternativePrePopulatedSourceNotice %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set serviceType = 'Submit'%}
{% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Dataset table{% endset %}
diff --git a/src/views/organisations/find.html b/src/views/organisations/find.html
index 685ef893..bed3bbf2 100644
--- a/src/views/organisations/find.html
+++ b/src/views/organisations/find.html
@@ -1,6 +1,6 @@
{% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set serviceType = 'Manage' %}
{% set pageName = "Find your organisation" %}
diff --git a/src/views/organisations/get-started.html b/src/views/organisations/get-started.html
index 9e780e63..1c6f2178 100644
--- a/src/views/organisations/get-started.html
+++ b/src/views/organisations/get-started.html
@@ -1,6 +1,6 @@
{% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set serviceType = 'Manage' %}
{% set pageName %}
{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Get started
diff --git a/src/views/organisations/http-error.html b/src/views/organisations/http-error.html
index 58b7e536..2d606022 100644
--- a/src/views/organisations/http-error.html
+++ b/src/views/organisations/http-error.html
@@ -1,7 +1,7 @@
{% from "govuk/components/summary-list/macro.njk" import govukSummaryList %}
{% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Task list{% endset %}
{% set serviceType = 'manage' %}
{% set resubmitUrl %}/organisations/{{ organisation.organisation | urlencode }}/{{ dataset.dataset | urlencode }}/get-started{% endset %}
diff --git a/src/views/organisations/issueDetails.html b/src/views/organisations/issueDetails.html
index b5677525..b85022c8 100644
--- a/src/views/organisations/issueDetails.html
+++ b/src/views/organisations/issueDetails.html
@@ -4,7 +4,7 @@
{% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %}
{% set isExpectation = issueType === 'expectation' %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set serviceType = 'Submit'%}
{% if issueEntitiesCount > 1 %}
{% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Issues (Page {{pageNumber}} of {{issueEntitiesCount}}){% endset %}
diff --git a/src/views/organisations/issueTable.html b/src/views/organisations/issueTable.html
index e9bbfab1..b8bd61dd 100644
--- a/src/views/organisations/issueTable.html
+++ b/src/views/organisations/issueTable.html
@@ -4,7 +4,7 @@
{% from "govuk/components/pagination/macro.njk" import govukPagination %}
{% from "govuk/components/breadcrumbs/macro.njk" import govukBreadcrumbs %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set serviceType = 'Submit'%}
{% if issueEntitiesCount > 1 %}
{% set pageName %}{{organisation.name}} - {{dataset.dataset | datasetSlugToReadableName(true)}} - Issues (Page {{pageNumber}} of {{issueEntitiesCount}}){% endset %}
diff --git a/src/views/organisations/overview.html b/src/views/organisations/overview.html
index 616f99f0..4bd07318 100644
--- a/src/views/organisations/overview.html
+++ b/src/views/organisations/overview.html
@@ -3,7 +3,7 @@
{% from "components/deadlineNotice.html" import deadlineNotice %}
{% from "components/deadlineNoticeContent.html" import noticeHeading, noticeCardHint %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set pageName = organisation.name + " overview" %}
{% set serviceType = 'Manage' %}
diff --git a/src/views/privacy-notice.html b/src/views/privacy-notice.html
index 70647462..f7d77471 100644
--- a/src/views/privacy-notice.html
+++ b/src/views/privacy-notice.html
@@ -1,7 +1,7 @@
{% extends "layouts/main.html" %}
{% set pageName = 'Privacy notice for Check and provide planning and housing data for England' %}
-{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance']) %}
+{% set navigationItems = currentPath | getNavigationLinks(['organisations', 'guidance', 'community', 'extract']) %}
{% set markdownContent %}
# Check and provide planning and housing data for England privacy notice
diff --git a/test/PageObjectModels/landingPage.js b/test/PageObjectModels/landingPage.js
index ab7bf6f0..30d909c1 100644
--- a/test/PageObjectModels/landingPage.js
+++ b/test/PageObjectModels/landingPage.js
@@ -7,7 +7,7 @@ export default class LandingPage extends BasePage {
}
async clickStartNow () {
- await this.page.click('text=Check and provide data')
+ await this.page.click('text=Start now')
return await super.verifyAndReturnPage(OrganisationsPage)
}
}