Resume Prompt — Migration Review Audit¶
What This Is¶
This is a continuation prompt for the Umbraco v8→v17 migration review audit. Read this file to understand what was done and what needs to happen next.
Context¶
We are creating a deep analysis of the v8→v17 Umbraco migration for Progress Credit Union. The analysis covers: - Which v8 views have been migrated to v17 and which are missing - Duplicate partial views in v17 (naming convention conflicts) - Element types created by the migration tool — which are used, unused, or orphaned - Grid datatype deduplication opportunities - View ↔ element type cross-referencing
What's Been Done¶
Reports Completed¶
02-duplicate-views-analysis.md— Analysis of 4 duplicate pairs (gridElement vs grid_element_), 5 unique files, 1 headerNews duplicate. Root cause traced to two code paths in GridConfigurationMigrationService.cs.-
03-v8-grid-baseline.md— Full v8 database analysis: 14 grid datatypes, 78 editor aliases, document type mappings, content usage counts, deduplication candidates. -
01-views-migration-audit.md— COMPLETED. 79% migration completeness (197/257 files). 34/50 page templates migrated, 12 missing. 50/56 grid editor partials migrated. Biggest gap: Forms (14/43 migrated, but many are standard field types with v17 built-in equivalents).
Configuration Done¶
.mcp.jsonupdated with Umbraco MCP credentials (https://psv17.double.pt)- V8 database connection tested OK via node mssql package
mssqlnpm package installed in project root
What Needs To Be Done Next¶
Step 1: Report 01 is DONE — skip to Step 2¶
All three base reports (01, 02, 03) are complete. Start directly with the MCP queries.
Step 2: Use Umbraco MCP (should now be available after restart)¶
The MCP tools should be available now. Use them to:
- List ALL element types (document types where isElement=true)
- Categorize by alias prefix: grid_{dataTypeId}_layout_*, grid_{dataTypeId}_content_*, grid_{dataTypeId}_areawrapper_*, etc.
- Check content usage per element type
- Query BlockGrid datatype configs to see which element types are in each config
- Categorize each element type as: in-use / unused-but-valid / likely-orphaned
Write to: docs/migration-review/04-v17-element-type-audit.md
Step 3: Grid Deduplication Analysis¶
Cross-reference v8 baseline (report 03) with v17 element types (report 04): - Which v8 datatypes produced duplicate element types in v17? - Migration code root cause analysis - Impact assessment and fix proposals
Write to: docs/migration-review/05-grid-deduplication-analysis.md
Step 4: View ↔ Element Type Cross-Reference¶
Map element type aliases to view filenames: - Element types with no matching view file (missing views) - View files with no matching element type (orphaned views) - Investigate Umbraco's exact view resolution logic
Write to: docs/migration-review/06-view-element-crossref.md
Step 5: Summary Report¶
Consolidate all findings into master report with action items.
Write to: docs/migration-review/00-SUMMARY.md
Key File Locations¶
- Plan:
C:\Users\Marco Teodoro\.claude\plans\sprightly-tumbling-frost.md - Reports:
C:\repos\progress\docs\migration-review\ - V8 source views:
C:\repos\progress\psCreditUnion\Progress.Web\Views\ - V17 target views:
C:\repos\progress\dbl.Progress\src\www\Views\ - Migration tool:
C:\repos\progress\double-migration-tool\ - V8 DB: Server=cb-sql.double.pt,7071;Database=progresscu.ie;User ID=progress;Password=dpt*jdp6jau!NAN_xkj;TrustServerCertificate=True
Critical Context: Shared Codebase¶
The v8 codebase is shared across MULTIPLE credit union projects/databases. Datatypes/templates with zero content in progresscu.ie may be actively used in other client databases. Always migrate everything. Cleanup only from destination DB after cross-validating all clients.
Key Findings to Remember¶
- Migration tool creates element types PER DATATYPE (correct architecture)
- Two code paths for aliases: Path A preserves original (gridElementX), Path B creates synthetic (grid_element_x)
- Data protection views are broken in production — snake_case files loaded but have generic stubs, camelCase files have correct logic but never loaded
- 14 v8 grid datatypes found, only 5 have content
- 12 v8 page templates missing from v17 (4 HIGH, 5 MEDIUM, 3 LOW priority)
- Orphaned element types need manual validation before deletion