AFL

Run a content migration

How-to: start a content migration run from the Migration tab, approve it, and retry failed items.

Use this to move pages from the legacy CMS into Optimizely. The steps and limits are in Content migration pipeline.

Before you start, apply migration 0006_content_migration.sql (supabase db push), set the environment variables, and refresh the page list on the Migration tab so there are pages to run.

Start a run

  1. Open the Migration tab and find Content pipeline.
  2. Choose a site, a page type and a maximum number of items (up to 500).
  3. Leave Dry run ticked for a first pass: it stops after Validate and never writes to Optimizely.
  4. Select Start run.

The widget shows overall progress and one card per step. It refreshes every five seconds while the run is active.

Approve the Validate gate

When every item has passed Validate, its card shows Blocked until approved.

  1. Check the Validate and earlier cards for errors.
  2. Select Approve and enter your name.

Items that passed Validate are queued for Migrate, and items that pass later continue on their own. A dry run has nothing to approve; start a run without Dry run to migrate.

Retry failed items

An item that runs out of retries shows as an error on its step card.

  1. Select the error count on the card to list the items with their error messages.
  2. Select Retry on one item, or Retry failed at the top of the widget for the whole run.

A retry starts the step again with a fresh attempt count and carries on through the later steps.

An Unmapped: error means an ID has no Optimizely match. Add a row to migration_overrides (entity, legacy_id, optimizely_key), then retry the item.

Run one step or one item

  • Run this step only runs the chosen step for every item that is ready for it, without continuing to the next step.
  • Run item on a row in the item list runs that item from its first unfinished step.

Running Migrate needs the run to be approved.

Re-run a migrated page

Start another run for the same page. Migrate finds the content it created before and updates it; it does not create a second item.