23-Jan-2026 — Image-migration and Migration: 2 features #126
Image Migration Enhancements
Album Migration
- Fixed S3 paths for album images to use
carousels/{album-name}/ structure
- Albums now correctly preserve their folder hierarchy when migrated
- ContentMetadata documents updated with correct rootFolder value
Migration Control
- Added cancel button to stop migrations gracefully mid-process
- Successfully uploaded images are saved even when cancelled
- Real-time progress indicator shows upload count and percentage
- Improved progress messaging during migration phases
Image Processing
- Auto-resize option respects configured size limits
- Clearer logging when no size limit is set vs when files are under limit
Page Content Improvements
Path Management
- Added path mismatch detection when pasting page content
- Option to keep current path or use pasted content's path
- Warning when pasted path already exists (paths must be unique)
- Fixed path validation to prevent double slashes in URLs
- Fixed changePath to use document ID fallback when path lookup fails
UI/UX Improvements
- File size selector now uses ng-select for consistent styling
- All dropdowns positioned to open downward
- Progress bar aligned with cancel button inline
- Improved alert messaging for migration status
migration: add image migration from external hosts to S3 (#126)
- Add admin tool to scan site content for images hosted on external websites
- Auto-discover external hosts from albums, pages, walks and social events
- Allow selection of specific images to migrate with thumbnail previews
- Support optional auto-resize during migration to reduce storage usage
- Place album images in their correct album folder automatically
- Show real-time progress with detailed activity logging
- Add clickable links to source pages and albums from scan results