Support government changes
Change a government in Whitehall
Following a General Election or other reason for governmental change the current Government in Whitehall will need to be closed, and a new one created.
The Content Support team will normally be the ones who close the government and re-assign ministers once a new government has been opened. However, a developer will often be required to monitor the queues, as detailed below.
Closing a government
Governments are listed at the government path of Whitehall Admin.
- Select the current government, and click the
Prepare to close this government
link. - Close the government - note that this may take some time, be patient after clicking the button
This will close the current government and remove all ministerial appointments.
This will cause a high number of documents to be represented by the Publishing API which might mean some delays on content being up to date on the website. Previous tests have shown that it takes around 3.5 hours for the queues to clear in integration / staging.
Grafana monitoring for the Publishing API queues:
Reindexing political content in search
There is a Rake task to reindex all political content in search. This must be done after a government is closed, but can be done before the publishing-api queues have completed their processing.
This is necessary because search is populated by whitehall, which is a piece of technical debt.
k exec deploy/whitehall-admin -- rake search:political
Open a new government
This will instantly create a new government. Changes can be seen in the Rails
console by running Government.current
.
Applying a banner to political content published by the previous government
Content in Whitehall can be marked as political, either automatically on publishing
(if deemed political by the PoliticalContentIdentifier), or manually post-publication
(through checking the “Political?” checkbox). Political content which was published under
a previous government is historic?
, and is highlighted both on the page and
in search results - see examples:
This feature is also known as history mode.
Backdating
If we need to backdate a government or split a single government into two distinct dates, we need to run a rake task to republish all political content from Whitehall to properly associate content with the government at its first published date:
k exec deploy/whitehall-admin -- rake election:republish_political_content
Ending ministerial roles without closing a government
If we need to end all ministerial roles without explicitly closing a government, we can run a rake task:
k exec deploy/whitehall-admin -- rake election:end_ministerial_appointments
This will end all ministerial roles except the Prime Minister. You might have to do that one manually. Note that the rake task takes an optional date parameter, if you wish to specify an end date other than ‘today’.
Machinery of Government Changes
Following machinery of government changes, developers can help content designers make bulk changes to documents and users.
Bulk changing users
There is a Rake task in Signon to change the organisation that a user belongs to in bulk. However, it may be necessary to leave the old users around so they can still edit content for the old organisation (in which case you can bulk invite new users using the interface in Signon).
The rake task for changing the organisation the user belongs to is:
data_hygiene:bulk_update_organisation[csv_file]
.
It accepts a CSV file which should have at least the following columns (in any order):
Column Header | Description |
---|---|
Old email |
The old email address of the user. |
New email |
The new email address of the user. |
New organisation |
The slug of the new organisations for the user. |
We should phase out CSV-reliant rake tasks now that we’re on Kubernetes. In the meantime, follow the working with CSVs on Kubernetes instructions.
Bulk retagging documents
There is a Rake task in Whitehall to change the lead and supporting
organisations that a document is tagged to in bulk:
data_hygiene:bulk_update_organisation[csv_file]
.
It accepts a CSV file which should have at least the following columns (in any order):
Column Header | Description |
---|---|
Slug |
The slug of the document. |
Document type |
The type of the document, for example DetailedGuide . This is used when more than one document is matched by the Slug . |
New lead organisations |
The slugs of the new leading organisations (separated by a comma). These will replace any existing organisations. |
New supporting organisations |
The slugs of the new supporting organisations (separated by a comma). These will replace any existing organisations. |
We should phase out CSV-reliant rake tasks now that we’re on Kubernetes. In the meantime, follow the working with CSVs on Kubernetes instructions.
In Publishing Api, the task responsible for retagging documents is
data_hygiene:bulk_update_organisation[csv_file]
.
It accepts a CSV file listing the document’s slug and new associated organisations:
Column Header | Description |
---|---|
path |
The slug of the document. |
all organisations |
The slugs of the new organisations (separated by a comma). These will replace any existing organisations. |
There is a similar Rake task to change the organisations for Manuals. A data migration is required to change the organisations for (Mainstream) Publisher documents. This is an example PR: Migrate Publisher docs
Reorder ministers/peoples role titles
During a reshuffle, a minister can gain two positions of state, known as RoleAppointments
in Whitehall. One of these is perceived to be a more senior role than the other.
To reorder a minister or persons titles, visit the following URL, replacing <person-name>
with the hyphenated name of the person:
https://whitehall-admin.publishing.service.gov.uk/government/admin/people/<person-name>/reorder_role_appointments
For example, for Rishi Sunak it would be:
https://whitehall-admin.publishing.service.gov.uk/government/admin/people/rishi-sunak/reorder_role_appointments