Skip to content

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

  1. 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.
  2. 03-v8-grid-baseline.md — Full v8 database analysis: 14 grid datatypes, 78 editor aliases, document type mappings, content usage counts, deduplication candidates.

  3. 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.json updated with Umbraco MCP credentials (https://psv17.double.pt)
  • V8 database connection tested OK via node mssql package
  • mssql npm 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
Migration documentation by Double for Progress Credit Union