Ruby HTML JavaScript PLpgSQL Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app Generate a redirect path with arguments instead of string interpolation Aug 2, 2018
bin
config
db
doc/arch Document disparity between DB and Publishing API Feb 28, 2017
lib Migrate URLs to the design system Jun 22, 2018
log Bare Rails application Oct 6, 2015
public
spec
vendor/assets
.gitignore
.rspec
.rubocop.yml Add govuk-lint gem and rake task Jun 16, 2016
.ruby-version
Gemfile Bump factory_bot_rails from 4.10.0 to 4.11.0 Aug 17, 2018
Gemfile.lock
Jenkinsfile
LICENSE
README.md
Rakefile
config.ru
startup.sh

README.md

Service-manual-publisher

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 4 "Publishing 2.0" 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