Skip to content

Recovery Center

The Recovery Center is the admin shell for import and recovery work. Admin provides the navigation, permissions, import-session resource, notifications, and fallback actions. The actual export/import/restore implementation is supplied by the optional capell-app/backup package.

This split matters: export/import is not a Core feature. If Backup is not installed, Admin can show the recovery area but import actions either stay unavailable or report that the Backup package is required.

Admin surfacePurpose
Import sessionsReview previous import attempts, current status, timestamps, counts, and errors.
Recovery navigationGroups import/recovery screens in the admin panel.
NotificationsSends completion and failure messages for import sessions.
Backup contractsDefines interfaces such as page export so Backup can bind the real implementation.
PermissionsInstalls and checks recovery/import permissions for admin users.

capell-app/backup owns the actual recovery workflows:

WorkflowWhat it does
Page exportPackages selected pages and relations for transfer or safekeeping.
Site exportPackages a site and related content.
Package importReads package manifests, validates integrity, resolves relations, ingests media, and creates import sessions.
RestoreRestores backup state using the package’s restore services.
WordPress importReads WordPress XML and runs it through a reviewable import path.

Backup lives in the sibling first-party packages repository. See Approved packages for where it fits in the product.

  1. Open the Recovery Center from the admin navigation.
  2. Start an import using the package-specific screen made available by Backup.
  3. Review validation results, URL collisions, and relation resolution prompts.
  4. Confirm the import plan.
  5. Watch the import session until it completes or fails.
  6. Review imported draft content before publishing it.

When PublishingStudio is installed, imported content can be reviewed before it reaches the live site. That keeps recovery work out of the public frontend until an editor or approver signs it off.

Admin references Backup through contracts and null implementations. Do not put import/export domain logic in Admin resources or Filament pages. Add package behavior in Backup, bind the relevant contracts, and expose only the required admin screens through package registration.

Related docs: