Skip to main content
Table of contents

Application: service-manual-publisher

Publishes the Service Manual on GOV.UK

Ownership

#govuk-platform-health owns the application and is responsible for updating its dependencies.

Hosting

The production version of this application is hosted on Carrenza.

SSH Access (Carrenza & AWS)

This application lives on backend machines in Carrenza.

gds govuk connect ssh -e staging carrenza/backend
gds govuk connect ssh -e production carrenza/backend

This application lives on backend machines on the integration environment in AWS.

gds govuk connect ssh -e integration backend

Run a rake task

Example pages published by service-manual-publisher

README

Warning The content below is pulled in directly from the repository.
Links might not function properly.

Service Manual Publisher is used for publishing and maintaining https://gov.uk/service-manual. This application, together with
service-manual-frontend
replaced the previous Jekyll-based
service manual.

Screenshots

Landing page screenshot

Edit interface screenshot

Nomenclature

  • Guide: A guide is the main document format used for manuals.
  • Guide Community: A profile page that represents the community who curate a collection of guides.
  • Topic: A collection of guides.
  • Point: A point from the service standard.

Technical documentation

PostgreSQL-backed Rails publishing application for internal use, with no
public facing aspect.

There is some disparity between the content as it appears in the database, and
the content as it appears in the publishing api
.
This will need to be addressed if we switch to using the publishing api as our
main data store in the future.

The Service manual’s guide pages have a nested URL structure which is unusual
for GOV.UK. The pros and cons to the nested URL structure are
retrospectively documented.

Dependencies

Optional dependencies

To handle image uploads

To persist and render guides

NB: Every application above may have its own dependencies

You will need to clone down all these repositories, and run the following commands
for each one:

bundle
bundle exec rake db:setup

Development

To run the application in development you will need at least one user in the
application database. In a rails console do:

User.create!(name: "My Name", email: "my.email@somedomain.com")

You can use Bowler to automatically run
the application and all of its dependencies. To do this, you’ll need to check
out the development repository where the
Pinfile is located.

cd /var/govuk/development
bowl service-manual-publisher service-manual-frontend

Alternatively, run ./startup.sh in the service-manual-publisher directory on
the development VM.

cd /var/govuk/service-manual-publisher
./startup.sh

The application runs on port 3111 by default. If you’re using the GDS VM it’s
exposed on http://service-manual-publisher.dev.gov.uk.

The application has a style guide that can be accessed on /style-guide.

Testing

bundle exec rake

Licence

MIT License