Archiving & repository housekeeping
Purpose: Define retention and cleanup for pages, versions, workflows and assets so the repository stays operable.
Who this page is for
| Audience | Why it matters to you |
|---|---|
| Platform engineers | Automation owners |
| Content ops | Retention decision makers |
Why this page exists
Repositories only grow. Growth degrades everything gradually — backups, indexes, compaction, upgrades — until a "sudden" crisis (repository growth). Housekeeping is the boring insurance.
Retention decisions to extract from the business (once, in writing)
| Object | Question | Typical answer |
|---|---|---|
| Page versions | Rollback horizon needed? | 30 versions / 180 days (regulated pages may differ — compliance input) |
| Audit log | Compliance retention? | 1–7 years — but exported to the log platform, not hoarded in-repo |
| Workflow instances | Investigation horizon? | 90 days then purge |
| Unpublished stale pages | When is a draft dead? | Report at 12 months, archive at 18 |
| Assets unused + unpublished | Keep why? | Archive tier after rights/owner review |
| Campaign/launch leftovers | Post-event cleanup? | 30 days after event close |
Encode each answer as a purge/maintenance config (maintenance tasks) or a scheduled report for human review. A retention rule without automation is a wish.
Archiving patterns
- Archive ≠ delete: move to an archive tree (
/content/phi-archive) with restricted read, excluded from search/sitemaps, never published — reversible for the "we need that 2019 page" call. - Export-then-delete for true cold storage: content packages of the archive tree to object storage, indexed by a manifest; delete from repo after verification.
- Assets: leverage the DAM lifecycle (DAM governance) — archived assets lose their published state first, storage reclaim follows datastore GC.
The quarterly housekeeping review
One hour: repo size trend, purge job outcomes, biggest-growth paths (oak-run/JMX stats), stale-content report actioned by content ops. Attendance: platform engineer + content ops owner. Cheap meeting, expensive to skip.