Whitehall
Whitehall is deployed in two modes:
- 'admin' for publishers to create and manage content (e.g. http://whitehall-admin.dev.gov.uk/government/admin/news/new)
- 'frontend' for rendering content to the public that has yet to be migrated to using Publishing API (see live examples that follow)
Live examples (public facing APIs)
- Governments: https://www.gov.uk/api/governments
- World Locations: https://www.gov.uk/api/world-locations
Live examples (public facing frontend)
CSV Previews
- CSV Preview pages: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/560889/LEMPRD_201610180000-CSV-GOVUK.csv/preview
World Information
- Help and services around the world: https://www.gov.uk/world
- Worldwide Organisation pages: https://www.gov.uk/world/organisations/british-embassy-paris
Running the Application
Use GOV.UK Docker to run any commands that follow.
Traditionally, the two sides of Whitehall are available on different domains in development, which reflect their counterparts in production:
While this usually results in different routing behaviour, in development all routes can be accessed from either domain, although the redirect behaviour may differ.
Nomenclature
- Govspeak A variation of Markdown used throughout whitehall as the general publishing format
Technical documentation
This is a Ruby on Rails app, and should follow our Rails app conventions.
You can use the GOV.UK Docker environment to run the application and its tests with all the necessary dependencies. Follow the usage instructions to get started.
Running the test suite
These commands assume you have the GOV.UK Docker environment running and its binaries in your PATH.
# run all the test suites
govuk-docker-run bundle exec rake
Javascript unit tests can also be run separately:
# run all the JavaScript tests
govuk-docker-run bundle exec rake jasmine
Further documentation
See the docs/
directory.
- CSS
- Edition model
- Edition workflow
- How to publish a finder in whitehall
- Internationalisation
- JavaScript
- Search setup guide
- Timestamps
- Troubleshooting
- Adding a data migration