Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The know-all app
Ruby HTML JavaScript CSS Cucumber Shell
Pull request Compare This branch is even with master.
Latest commit 0993c86 @rboulton rboulton Merge pull request #316 from alphagov/migrate-primary-browse-page-to-…

Migrate primary browse page to parent
Failed to load latest commit information.
app Set parent link as primary section
config Refactor TaggingUpdater
data Add additional slugs to the migrator
db Set content_id for all publisher's artefacts
doc Convert to a Rails app.
features Reserve URLs using Publishing API...
lib Merge pull request #316 from alphagov/migrate-primary-browse-page-to-…
log Convert to a Rails app.
public Remove old dangling symlinks
script Avoid mongo cursor timeout in query
test Set parent link as primary section
vendor Switch to using govuk_admin_template layout
.gitignore Script to create shared Panopticon/Publisher DB.
.ruby-version Upgrade ruby to 2.1.7
.travis.yml Exclude master from travis builds. Define contributing guide
Gemfile Merge pull request #313 from alphagov/add-migrator
Gemfile.lock Merge pull request #313 from alphagov/add-migrator
LICENCE.txt Correct copyright notice
Procfile Add Procfile to run message queue worker Add message queue consumer
Rakefile Use London timezone, not UTC Convert to a Rails app. should abort on error Add branch build script Kill off some more trailing whitespace.


The GOV.UK content platform has been built with a focus on tools over content. That is manifest in the existence of numerous small applications that provide focussed solutions to specific user needs, or offer a suite of similar but distinct solutions; alongside the 'publisher/frontend' editorial tools there are apps like 'smart answers', 'planners', and so on.

To bring that all together as a single site a single interface was required to attach consistent metadata to the pieces, connect them together as 'related items' and generally have a complete overview of all the solutions/artefacts in the system. That's this app: Panopticon.


Panopticon provides:

  • an admin UI where items can be created and their metadata edited. This is authenticated in conjunction with sign-on-o-tron.
  • a writeable API where applications can register the content they provide. This is authenticated using OAuth2.
  • a read API for retrieving metadata about a given item

Importing organisation tags

Panopticon includes a Rake task to create tags for each organisation from the Whitehall app. To run this in the development environment, the production data source can be used, so that there is no need to have an up-to-date Whitehall database.

PLEK_SERVICE_WHITEHALL_ADMIN_URI= bundle exec rake organisations:import

Indexing artefacts in search

Panopticon includes observers which will index, update or delete records in the search index when an artefact is updated. It expects an instance of Rummager to be present.

Running the message queue

This application uses the GOV.UK message queue to update artefacts when they are tagged via the publishing-api.

To run the message queue:

govuk_setenv panopticon bundle exec rake message_queue:consumer
Something went wrong with that request. Please try again.