Overview
The Migrations panel in Admin → Settings is where you run one-off data migrations against your tenant. Each migration includes a Dry Run mode so you can preview the impact before Juno writes any data.Migrations require the Admin role. They run scoped to your current tenant — they never affect other organizations.
Migrate block comments to inline comments
Older content in Juno used block-level comments that attached to entire content blocks. Inline comments — the newer experience — attach to a specific element (a paragraph, an image, a list item) inside the editor and render as a colored highlight you select to open the thread. This migration moves every legacy block comment in your tenant to the inline format, so reviewers and authors see all threads in the same place going forward.When to use it
Run this migration if you want to:- Consolidate review activity into one comments experience after upgrading from block comments.
- See historical block comments inline next to the content they describe.
- Clean up content that mixes the two comment styles.
Before you start
- Confirm you have the Admin role.
- Decide on a scope:
- Whole tenant — leave both ID fields blank.
- Single learning unit — provide a Unit ID.
- Single section — provide a Section ID.
- Always dry run first. The report tells you exactly how many threads Juno would create and lists anything it would skip, so you can spot-check before committing.
Run the migration
- Go to Admin → Settings → Migrations.
- Locate the Migrate Block Comments to Inline Comments card.
- (Optional) Enter a Section ID or Unit ID to limit the scope.
- Select Dry Run to preview the changes.
- Review the report (see below).
- When the dry-run numbers look right, select Migrate Comments to apply.
Reading the report
Each run returns a report with the following counts:| Field | Meaning |
|---|---|
| Found | Block comments Juno discovered in scope. |
| Created (or Would create on a dry run) | New inline threads Juno wrote. |
| Already migrated | Block comments Juno migrated on a previous run and skipped this time. |
| Skipped | Block comments Juno did not migrate. Each entry shows the element type and the reason — for example, empty_comments (the block had no comment content) or no_creator (Juno could not resolve an author). |
| Thread created but no visual mark | Juno created the inline thread but could not attach a highlight to a matching element in the editor — usually because someone deleted the element after writing the comment. You can still open the thread from the comments side panel. |
| By type | Breakdown of created threads by element type (paragraph, heading, image, code block, and so on). |
| Duration | How long the run took. |
| Errors | Any failures Juno encountered during the run. |
Example: dry-run a single unit
To preview the migration for one learning unit before running it across the tenant:Migrate Block Comments