Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The publishing tool for GOV.UK
Ruby HTML JavaScript CSS Shell
Branch: master

Merge pull request #420 from alphagov/gss-codes-revisited

GSS codes for Business Support Editions
latest commit fc4fafec4c
@jennyd jennyd authored
Failed to load latest commit information.
app Persist each Area's slug and GSS code side-by-side
config Remove editions/areas (A.K.A. /areas) endpoint
data Add LGSL code 266
db Populate BusinessSupportEdition `area_gss_codes`
doc Remove a few deprecated files
lib Fix bug in republisher scheduler
public Remove some compiled assets
reports Write CSV reports to folder within the app
script Make Fact Check email fetching more robust
spec/javascripts Tidy up Areas Relator spec a bit
test Persist each Area's slug and GSS code side-by-side
vendor/assets/javascripts Remove old HTML5 shim
.generators Added tests to ensure that a publication cannot be destroyed if it is…
.gitignore Write CSV reports to folder within the app
.ruby-version Upgrade to Ruby 2.1.6
.simplecov Merge coverage reports so that unit tests contribute towards coverage. Define contributing guide
Gemfile Update govuk_content_models gem to 31.1.0
Gemfile.lock Update govuk_content_models gem to 31.1.0
LICENCE.txt Correct copyright notice
Procfile Adding Sidekiq and related config Replace old 'script/console' by 'rails console'
Rakefile Include jasmine:ci in default task Rename guides app to 'publisher' (dull, but appropriate). Will stay a… Fix the Clone content schemas for the CI build Add Jenkins branch build script Add startup script.


Publisher is the primary content design app for GOV.UK. It provides the user interface for entering all the key editorial formats and an API so other apps (primarily frontend) can access that data for display. It is intended to work in partnership with Panopticon which manages metadata, slugs, titles, etc.

Running in development

If you're just interested in running the Publisher locally, with a minimum of interaction with other apps, here's how.

Create a user

publisher$ rails console
>> User.create name: "Your name", email: "", uid:, version: 1

Run panopticon using rails s or similar

panopticon$ rails s -p 3001

Run the publisher app setting env variable to point at your panopticon instance

publisher$ PANOPTICON_URI="http://localhost:3001" bundle exec rails server

Local Transactions

There is no UI or automated process for importing the source data for local transactions.

The source data can be downloaded from

They can be imported using a rake task:

bundle exec rake local_transactions:import SOURCE=/path/to/local_authority_service_details.CSV


This application uses statsd-ruby to send metrics to statsd. If a statsd process isn't present on the server it won't matter as statsd-ruby sends metrics over UDP. If a statsd process is present then it'll send strings with the respective increment/decrement/gauge function to use.

Asset Manager

If your models include media assets such as images and video, you will need to run the asset-manager app alongside publisher.

See the asset-manager project for app-specific setup instructions.

Publisher needs an OAuth bearer token in order to authenticate with Asset Manager. By default, this is loaded from the PUBLISHER_ASSET_MANAGER_BEARER_TOKEN environment variable in config/initializers/gds_api.rb.

To obtain this bearer token, you should create an API user in the signonotron2 application. In the signonotron2 directory, run:

rake api_clients:create[publisher,,asset-manager,signin]

This will generate the bearer token you need.

Running the test suite

The test suite relies on the presence of the govuk-content-schemas repository. If it is present at the same directory level as the government-frontend repository then run the tests with:

bundle exec rake

Or to specify the location explicitly:

GOVUK_CONTENT_SCHEMAS_PATH=/some/dir/govuk-content-schemas bundle exec rake

Something went wrong with that request. Please try again.