Application to serve some mainstream formats and the homepage for GOV.UK.
##test
Simple smart answer
Transaction start pages:
- https://www.gov.uk/ (homepage)
- https://www.gov.uk/tour (tour of GOV.UK)
- https://www.gov.uk/help (help index page)
- https://www.gov.uk/help/cookies
- https://www.gov.uk/help/ab-testing
- https://www.gov.uk/foreign-travel-advice (travel advice index page)
- https://www.gov.uk/find-local-council
- https://www.gov.uk/roadmap (GOV.UK public facing roadmap)
Some examples:
- https://www.gov.uk/premises-licence
- https://www.gov.uk/temporary-events-notice
- https://www.gov.uk/apply-skip-permit
- https://www.gov.uk/street-collection-licence
- https://www.gov.uk/zoo-licence
- https://www.gov.uk/premises-licence-scotland
- https://www.gov.uk/house-to-house-collection-licence
- https://www.gov.uk/public-charitable-collection-permit-scotland
- https://www.gov.uk/late-hours-catering-licence-scotland
- https://www.gov.uk/food-business-registration
- https://www.gov.uk/cooling-tower-notification
- https://www.gov.uk/performing-animals-registration
Standard survey:
Assisted digital satisfaction surveys:
- https://www.gov.uk/done/register-flood-risk-exemption
- https://www.gov.uk/done/waste-carrier-or-broker-registration
- https://www.gov.uk/done/register-waste-exemption
- format: our phrase for a type of content
- scope: each type of calendar (eg daylight saving, bank holidays) is known as a scope. A scope has its own view templates, JSON data source and primary route.
Frontend is a Ruby on Rails application that renders the citizen-facing part of formats stored in the Content Store. It looks up the passed-in slug in the Content Store.
It also serves the homepage as a hard-coded route.
Calendar JSON data files are stored in lib/data/<scope>.json
, with a divisions
hash for separate data per region (united-kingdom
, england-and-wales
, scotland
or northern-ireland
).
Each scope's data file contains a list of divisions, containing a list of years, each with a list of events:
{
"title": "UK bank holidays",
"description": "UK bank holidays calendar - see UK bank holidays and public holidays for 2012 and 2013",
"divisions": {
"england-and-wales": {
"title": "England and Wales",
"2011": [{
"title": "New Year's Day",
"date": "02/01/2011",
"notes": "Substitute day"
}]
}
}
}
The division title
attribute is optional. If this is not present the slug will be humanized and used instead.
- alphagov/static - provides shared templates, styles, and JavaScript
- alphagov/content-store - provides raw data for rendering formats
- alphagov/mapit - provides postcode lookups
- alphagov/imminence - provides places lookups (e.g. for find-my-nearest)
- alphagov/publishing-api - this app sends data to the content-store
If you are using docker to run the application (which is advised) it will be available on the host at http://frontend.dev.gov.uk/
To run the application standalone, run static and execute the following command:
PLEK_SERVICE_STATIC_URI=http://127.0.0.1:3013 ./startup.sh --live
which uses a local copy of static and content from production.
Note that you will have to have GOV.UK Mapit running locally. A valid dataset will have to be loaded for Mapit or postcode lookups will not succeed. This is part of the standard GOV.UK data replication steps.
To run in a full development stack (with DNS, all apps running etc.) use./startup.sh
.
bundle exec rake
runs the test suite.
Send the calendars to the publishing-api:
bundle exec rake publishing_api:publish_calendars
If you're using govuk-docker, you may need to govuk-docker-up
on publishing-api
in a separate shell. You may also need to run the rake task a couple of times if you encounter timeouts.
Search indexing is performed automatically on data sent to publishing api.
A rake task has been created to generate the bank holidays JSON for a given year. They need to be then inserted, and modified to take into account any additions/modifications made by proclamation.
Run the rake task like this:
bundle exec rake bank_holidays:generate_json[2016]
-
For summer time, we can use the Summer Time Act 1972.
-
Bank holidays are determined both by law and by proclamation. We use the following legislation: the Banking and Financial Dealings Act 1971 and the St Andrew's Day Bank Holiday Act.
-
The proclamations of holidays are published in The Gazette. Holidays are announced there 6 months to one year in advance, usually between the months of May and July for the following year.