Skip to main content
Last updated: 13 May 2021

Republish content

Sometimes it may be necessary to republish content to make it show up on the website. For example if we make an update to govspeak that would require us to re-render and save new HTML for content.

This process varies per app and requires

Whitehall

If the documents are in Whitehall, there are Rake tasks you can run as outlined below. Try to pick the one most focused to the scope of what you need to republish to avoid unnecessary load. You can monitor the effect on the publishing queue via these Grafana dashboards:

publishing_api:republish_document[slug]

For organisations, run:

publishing_api:republish_organisation[slug]

For all of a single document type, run:

publishing_api:bulk_republish:document_type[DocumentClass]

For example: /government/case-studies/alexander-dennis-maximum-capacity publishing_api:bulk_republish:document_type[CaseStudies]

You may wish to test first on Integration: publishing_api:bulk_republish:document_type[DocumentClass]

For a short list of Content IDs, run: publishing_api:bulk_republish:republish_documents_by_content_ids[content_id_1 content_id_2]

For a significant number of Content IDs: Some preparation is needed for this as a CSV file needs to be in place. The CSV should have a column called content_id that contains all the relevant IDS. This should be added to the whitehall repository at: lib/tasks/{FILENAME}.csv publishing_api:bulk_republish:republish_documents_by_content_ids_from_csv[csv_file_name] Ensure that the CSV is removed again after the job completes.

To republish all documents: Caution: this is a lot of content and will take hours to complete. If it is possible to scope the republish do so and use a different task, but if you have made a change such as something in govspeak that will affect the majority of content, this is available. Before running this job confirm with 2nd line that they are happy for you to proceed as it could cause backed up publishing queues and alerts.

publishing_api:bulk_republish:all

Content Publisher

If the document is in content publisher, there is a resync Rake task you can run.

You can resync a single document by passing it a content ID and locale:

resync:document[a-content-id:locale]

or you can resync all documents:

resync:all