Skip to content

Report 19: Full v8 to v17 Migration Validation

Date: 2026-02-27

Current Status (2026-02-27)

Overall: ~95% frontend complete. All code changes done. Only Phase 6 (NuGet RCL) and Phase 7 (Final Docs) remain.

Key completions since initial report: - 121 blockgrid component views (up from 114 at initial report) - 7 blocklist component views - 45 page templates migrated - 18 SiteLayout partials - Bootstrap 5.3.3 fully applied to views, JS, and CSS (Phases 4A-4E all DONE) - 1,142 CSS patterns replaced across 159 files (commit a6a776e) - Migration tool: 3 duplication root causes fixed (~455 to ~430 element types) - Code quality: 0 build errors, 95 warnings (all nullable reference in Forms themes), obsolete API fixes (commit 4ea7268) - 4 orphaned views removed (Phase 5E)


Executive Summary

This report provides a complete file-by-file inventory of the Umbraco v8 source solution (psCreditUnion) mapped against the Umbraco v17 target solution (dbl.Progress). It covers all projects, views, controllers, models, configuration files, static assets, and custom property editors.

Key Statistics: - v8 page templates: 48 | v17 page templates: 45 (94% coverage) - v8 DocTypeGridEditor component views: 55 | v17 BlockGrid component views: 121 (includes grid_element_* wrappers) - v8 Umbraco generated models: 249 | v17: Using ModelsBuilder SourceCodeManual (auto-generated, not in repo) - v8 App_Plugins: 52 directories | v17 App_Plugins: 4 directories (consolidated into Progress + dedicated) - v8 client CSS files: ~160 | v17 client CSS files: 163 (all migrated, all BS5-updated) - v8 JavaScript files: ~50 | v17 JavaScript files: 60 (all migrated + new ones, all BS5-updated)


1. v8 Solution Structure

Projects

Project Purpose v17 Equivalent
Progress.Web Main web project (ASP.NET Framework 4.7.2 / Umbraco 8) src/www
Progress.Core Shared class library: controllers, services, models, helpers, composing src/www (merged) + src/Progress.Baseline.Core
Progress.Security OWIN authentication, token auth, claims role provider src/www/Security/
Progress.Umbraco2FA Two-factor authentication plugin (custom) src/www/Security/
Progress.CICD CI/CD pipeline definitions and scripts azure-deploy-uat.yml (root)
Progress.Web.v10 Abandoned v10 migration attempt Not applicable -- abandoned

v17 Additional Projects (New)

Project Purpose
src/Progress.Baseline.Core Shared interfaces/adapters for site settings (future NuGet RCL)
src/Progress.CustomPropertyEditors Rebuilt v17 backoffice property editors (Lit/TypeScript) + Forms field types
src/ProgressLoanCalculator Loan calculation math library (previously a DLL reference)

2. Page Templates (Views/*.cshtml)

v8 Page Templates (48 files in Views/ root)

v8 File v17 File Status Notes
article.cshtml article.cshtml MIGRATED Grid to BlockGrid conversion
articleList.cshtml articleList.cshtml MIGRATED
articleListPaging.cshtml articleListPaging.cshtml MIGRATED
ArticleContentType2.cshtml ArticleContentType2.cshtml MIGRATED
articleType2.cshtml articleType2.cshtml MIGRATED
contactus.cshtml contactus.cshtml MIGRATED Grid to BlockGrid
cookies.cshtml cookies.cshtml MIGRATED
CustomerOnlyPage1.cshtml CustomerOnlyPage1.cshtml MIGRATED
error.cshtml error.cshtml MIGRATED
Faq.cshtml Faq.cshtml MIGRATED
Faq1.cshtml Faq1.cshtml MIGRATED
FaqWithSchema.cshtml FaqWithSchema.cshtml MIGRATED
gallery.cshtml gallery.cshtml MIGRATED
galleryList.cshtml galleryList.cshtml MIGRATED
help.cshtml help.cshtml MIGRATED
home.cshtml home.cshtml MIGRATED Grid to BlockGrid
homeFullWidthSection.cshtml homeFullWidthSection.cshtml MIGRATED Grid to BlockGrid
homeGrid.cshtml homeGrid.cshtml MIGRATED Grid to BlockGrid
LatestArticlesPaging.cshtml LatestArticlesPaging.cshtml MIGRATED
loanInputCTA.cshtml loanInputCTA.cshtml MIGRATED
Login1.cshtml Login1.cshtml MIGRATED
master.cshtml master.cshtml MIGRATED Layout master; container class fix applied
masterNoHeaderNoFooter.cshtml masterNoHeaderNoFooter.cshtml MIGRATED
masterNoHeaderNof.cshtml masterNoHeaderNof.cshtml MIGRATED
MasterLogin.cshtml MasterLogin.cshtml MIGRATED
MasterThirdParty.cshtml MasterThirdParty.cshtml MIGRATED
NoPreviewAvailable.cshtml NoPreviewAvailable.cshtml MIGRATED
popUpForms.cshtml popUpForms.cshtml MIGRATED
privacyPolicy.cshtml privacyPolicy.cshtml MIGRATED
releaseNotesWidget.cshtml releaseNotesWidget.cshtml MIGRATED
robots.cshtml robots.cshtml MIGRATED
search.cshtml search.cshtml MIGRATED
sitemap.cshtml sitemap.cshtml MIGRATED
SPALoader.cshtml SPALoader.cshtml MIGRATED
standardPage.cshtml standardPage.cshtml MIGRATED Grid to BlockGrid
StandardPageNew.cshtml standardPageNew.cshtml MIGRATED Grid to BlockGrid
StandardPageNewNoHeaderNoFooter.cshtml StandardPageNewNoHeaderNoFooter.cshtml MIGRATED
StandardPageThirdParty.cshtml StandardPageThirdParty.cshtml MIGRATED
standardPageWithImageText.cshtml standardPageWithImageText.cshtml MIGRATED Grid to BlockGrid
standardPageWow.cshtml standardPageWow.cshtml MIGRATED Grid to BlockGrid
termsAndConditions.cshtml termsAndConditions.cshtml MIGRATED
TermsAndConditionsMobile.cshtml TermsAndConditionsMobile.cshtml MIGRATED
testimonials.cshtml testimonials.cshtml MIGRATED
TestimonialsBlock.cshtml TestimonialsBlock.cshtml MIGRATED
TokenAuthentication.cshtml TokenAuthentication.cshtml MIGRATED
TrustpilotWidget.cshtml -- NOT MIGRATED May be needed if TrustPilot content exists in any DB
LoanBoxContactControl.cshtml -- NOT MIGRATED Replaced by loanbox component partials
NewsCategoryItems.cshtml -- NOT MIGRATED Functionality absorbed into news components

v17-Only Page Templates (not in v8)

v17 File Notes
_ViewImports.cshtml Standard ASP.NET Core view imports (new requirement)

3. Macro Partials (Views/MacroPartials/)

v8 File v17 Equivalent Status Notes
Audio Tag.cshtml BlockGrid audioTagElement.cshtml OBSOLETE Macros deprecated in v17; content migrated to BlockGrid elements
Budget Planner.cshtml -- OBSOLETE Macro system removed in v17
InsertUmbracoFormWithTheme.cshtml BlockGrid umbracoFormElement.cshtml OBSOLETE Replaced by BlockGrid form element
Login.cshtml BlockGrid loginElement.cshtml OBSOLETE Replaced by BlockGrid element
LoginStatus.cshtml BlockGrid loginStatusElement.cshtml OBSOLETE Replaced by BlockGrid element
Register.cshtml BlockGrid registerElement.cshtml OBSOLETE Replaced by BlockGrid element
RenderUmbracoFormScripts.cshtml Forms theme scripts OBSOLETE Handled differently in v17 Forms
cookies.cshtml BlockGrid cookiesElement.cshtml OBSOLETE Replaced by BlockGrid element
moneyadviceservice.cshtml -- OBSOLETE Macro system removed; external service reference

Summary: All 9 macro partials are OBSOLETE. Umbraco v17 has no macro system. Functionality has been migrated to BlockGrid elements or is no longer needed.


4. Partial Views by Subdirectory

4a. BlockList Components (Views/Partials/BlockList/)

v8 File v17 File Status Notes
Default.cshtml blocklist/default.cshtml MIGRATED
components/blockListCallToAction.cshtml blocklist/Components/blockListCallToAction.cshtml MIGRATED
components/header.cshtml blocklist/Components/header.cshtml MIGRATED
components/headerContact.cshtml blocklist/Components/headerContact.cshtml MIGRATED
components/headerNew.cshtml blocklist/Components/headerNew.cshtml MIGRATED
components/headerNews.cshtml blocklist/Components/headerNews.cshtml MIGRATED
-- blocklist/Components/headerFull.cshtml NEW in v17
-- blocklist/Components/googleMap.cshtml NEW in v17

4b. Grid Framework Views (Views/Partials/Grid/)

v8 File v17 Equivalent Status Notes
Bootstrap3.cshtml blockgrid/BootstrapGrid.cshtml REPLACED Grid rendering replaced by BlockGrid
Bootstrap3-Fluid.cshtml blockgrid/BootstrapGrid.cshtml REPLACED Merged into single BlockGrid renderer
ContactUsGrid.cshtml -- OBSOLETE Contact page uses BlockGrid now
StandardPageGridBootStrap.cshtml -- OBSOLETE All pages use BlockGrid
StandardPageGridBootStrapNew.cshtml -- OBSOLETE All pages use BlockGrid
StandardPageGridImageBootStrap.cshtml -- OBSOLETE All pages use BlockGrid
articleGrid.cshtml -- OBSOLETE Articles use BlockGrid
bottomGrid.cshtml -- OBSOLETE Bottom grid merged into BlockGrid
footerGrid.cshtml blockgrid/footerDefault.cshtml REPLACED Footer grid migrated
homePageGrid.cshtml -- OBSOLETE Home uses BlockGrid
standardPageWow.cshtml -- OBSOLETE WOW pages use BlockGrid

4c. Grid Built-in Editors (Views/Partials/Grid/Editors/)

v8 File v17 Equivalent Status Notes
Base.cshtml -- OBSOLETE Grid editor base not needed in BlockGrid
Embed.cshtml blockgrid/Components/grid_builtin_embed.cshtml MIGRATED
Macro.cshtml -- OBSOLETE Macros removed in v17
Media.cshtml blockgrid/Components/grid_builtin_media.cshtml MIGRATED
Rte.cshtml blockgrid/Components/grid_builtin_rte.cshtml MIGRATED TipTap RTE
Textstring.cshtml -- OBSOLETE Text handled by RTE element

4d. DocTypeGridEditor Component Views (55 files)

v8 File (DocTypeGridEditor/) v17 File (blockgrid/Components/) Status
accordionButton.cshtml accordionButtonElement.cshtml MIGRATED
accordionControls.cshtml accordionControls.cshtml MIGRATED
anchor.cshtml anchor.cshtml MIGRATED
announcementControls.cshtml announcementControls.cshtml MIGRATED
announcementItemScrollControls.cshtml announcementItemScrollControls.cshtml MIGRATED
barChart.cshtml barChart.cshtml MIGRATED
barChartItem.cshtml barChartItem.cshtml MIGRATED
buttonModal.cshtml buttonModal.cshtml MIGRATED
buttonWidgetControl.cshtml buttonWidgetControl.cshtml MIGRATED
cTAItem.cshtml cTAItem.cshtml MIGRATED
CardItem.cshtml cardItem.cshtml MIGRATED
cardGridControls.cshtml cardGridControls.cshtml MIGRATED
coOrdinate.cshtml coOrdinate.cshtml MIGRATED
contactUsWidget.cshtml contactUsWidget.cshtml MIGRATED
counter.cshtml counter.cshtml MIGRATED
ctaCurves.cshtml ctaCurves.cshtml MIGRATED
ctaText.cshtml ctaText.cshtml MIGRATED
donutChart.cshtml donutChart.cshtml MIGRATED
donutChartList.cshtml donutChartList.cshtml MIGRATED
facebookControls.cshtml facebookControls.cshtml MIGRATED
FaqItems.cshtml faqItems.cshtml MIGRATED
faqControls.cshtml faqControls.cshtml MIGRATED
faqWithSchema.cshtml faqWithSchemaList.cshtml MIGRATED (renamed)
featureGridEditor.cshtml featureControls.cshtml MIGRATED (renamed)
flipCardControls.cshtml flipCardControls.cshtml MIGRATED
footerListControl.cshtml footerListControl.cshtml MIGRATED
headingItem.cshtml headingItem.cshtml MIGRATED
heroItem.cshtml heroItem.cshtml MIGRATED
iconListOptContactInfoControl.cshtml iconListOptContactInfoControl.cshtml MIGRATED
imageGalleryControl.cshtml imageGalleryControl.cshtml MIGRATED
imageListControl.cshtml imageListControl.cshtml MIGRATED
imageWithLink.cshtml imageWithLink.cshtml MIGRATED
InstagramControls.cshtml instagramControls.cshtml MIGRATED
linkListControl.cshtml linkListControl.cshtml MIGRATED
LoanInputCTA.cshtml loanInputCTA.cshtml MIGRATED
loginStatusWidget.cshtml loginStatusElement.cshtml MIGRATED (renamed)
loginWidget.cshtml loginElement.cshtml MIGRATED (renamed)
mainLoanBoxWidget.cshtml mainLoanBoxWidget.cshtml MIGRATED
numberedListControl.cshtml numberedListControl.cshtml MIGRATED
parallaxImageItem.cshtml parallaxImageItem.cshtml MIGRATED
qrCodeItem.cshtml qrCodeItem.cshtml MIGRATED
quickLinkDropDownControl.cshtml quickLinkDropDownControl.cshtml MIGRATED
releaseNotesWidget.cshtml releaseNotesWidget.cshtml MIGRATED
slider.cshtml gridslider.cshtml MIGRATED (renamed)
spotlightControls.cshtml spotlightControls.cshtml MIGRATED
spotlightGridControls.cshtml spotlightGridControls.cshtml MIGRATED
staffMemberControl.cshtml staffMemberControl.cshtml MIGRATED
stickyNav.cshtml stickyNav.cshtml MIGRATED
stripedList.cshtml stripedListControl.cshtml MIGRATED (renamed)
testimonialCardItem.cshtml testimonialCardItem.cshtml MIGRATED
trustpilotWidget.cshtml trustpilotWidget.cshtml MIGRATED
twitterControls.cshtml twitterControls.cshtml MIGRATED
videoFullWidth.cshtml videoFullWidth.cshtml MIGRATED
videoPopOut.cshtml videoPopout.cshtml MIGRATED (case change)
youTubeControls.cshtml youTubeControls.cshtml MIGRATED

4e. DocTypeGridEditor Preview Views (36 files)

All 36 preview views under Grid/Editors/DocTypeGridEditor/Previews/ are OBSOLETE. These were backoffice preview renderings for the v8 DTGE system. In v17, BlockGrid uses its own preview system.

4f. Grid Editor Sub-components

Calculators (Views/Partials/Grid/Editors/calculators/)

v8 File v17 Equivalent Status
calculator.cshtml blockgrid/Components/grid_element_calculatorsgrideditor.cshtml MIGRATED
calculatorIcon.cshtml calculators/calculatorIcon.cshtml MIGRATED
calculatorInput.cshtml calculators/calculatorInput.cshtml MIGRATED
calculatorInputSmall.cshtml calculators/calculatorInputSmall.cshtml MIGRATED
calculatorInputVarRate.cshtml calculators/calculatorInputVarRate.cshtml MIGRATED
calculatorLarge.cshtml calculators/calculatorLarge.cshtml MIGRATED
calculatorSmall.cshtml calculators/CalculatorSmall.cshtml MIGRATED
calculatorsWidget.cshtml blockgrid/Components/grid_element_calculatorsgrideditor.cshtml MIGRATED (wrapper)

Global Address (Views/Partials/Grid/Editors/GlobalAddress/)

v8 File v17 Equivalent Status
AddressList.cshtml blockgrid/Components/GlobalAddress/AddressList.cshtml MIGRATED
GlobalAddressWidget.cshtml blockgrid/Components/GlobalAddress/GlobalAddressWidget.cshtml MIGRATED
OpeningTimesNoLabels.cshtml blockgrid/Components/GlobalAddress/OpeningTimesNoLabels.cshtml MIGRATED
addressNoLables.cshtml blockgrid/Components/GlobalAddress/addressNoLables.cshtml MIGRATED
footerOld.cshtml blockgrid/Components/GlobalAddress/footerOld.cshtml MIGRATED
slider.cshtml blockgrid/Components/GlobalAddress/slider.cshtml MIGRATED
twoCol.cshtml blockgrid/Components/GlobalAddress/twoCol.cshtml MIGRATED

LoanBoxes (Views/Partials/Grid/Editors/LoanBoxes/)

v8 File v17 Equivalent Status
Boxes.cshtml loanboxes/_LoanBoxesBoxes.cshtml MIGRATED
Flipcards.cshtml loanboxes/_LoanBoxesFlipCards.cshtml MIGRATED
LoanBoxesWidgetNew.cshtml blockgrid/Components/grid_element_loanboxescompletegrideditor.cshtml MIGRATED
Tabs.cshtml -- OBSOLETE
accordion.cshtml loanboxes/_LoanBoxesAccordion.cshtml MIGRATED
accordionContact.cshtml loanboxes/_accordionContact.cshtml MIGRATED

News (Views/Partials/Grid/Editors/News/)

v8 File v17 Equivalent Status
4AcrossNews.cshtml news/4AcrossNews.cshtml MIGRATED
NewsList.cshtml news/NewsList.cshtml MIGRATED
newsWidgetNew.cshtml blockgrid/Components/grid_element_newscompletegrideditor.cshtml MIGRATED
slider.cshtml news/slider.cshtml MIGRATED
sliderDetailed.cshtml news/sliderDetailed.cshtml MIGRATED
sliderImage.cshtml news/sliderImage.cshtml MIGRATED
topStory.cshtml news/topStory.cshtml MIGRATED
topStory5Articles.cshtml news/topStory5Articles.cshtml MIGRATED

Testimonials (Views/Partials/Grid/Editors/Testimonials/)

v8 File v17 Equivalent Status
TestimonialsWidgetNew.cshtml blockgrid/Components/grid_element_testimonialcompletegrideditor.cshtml MIGRATED
list.cshtml -- OBSOLETE
slider.cshtml -- OBSOLETE
sliderInner.cshtml -- OBSOLETE

4g. App_Plugins Render Views (v8)

v8 Plugin View v17 Equivalent Status
psDataProtectionDPO/psDataProtectionDPO.cshtml blockgrid/Components/grid_element_psdataprotectiondpo.cshtml MIGRATED
psDataProtectionName/DataProtectionName.cshtml blockgrid/Components/grid_element_psdataprotectionname.cshtml MIGRATED
psDataProtectionSpecificStatements/psDataProtectionSpecificStatements.cshtml blockgrid/Components/grid_element_psdataprotectionspecificstatements.cshtml MIGRATED
psDataProtectionSummaryTable/DataProtectionSummaryTable.cshtml blockgrid/Components/grid_element_psdataprotectionsummarytable.cshtml MIGRATED
psDataProtectionWeAre/DataProtectionWeAre.cshtml blockgrid/Components/grid_element_psdataprotectionweare.cshtml MIGRATED
psFaqAccordion/Editors/RenderViews/faq.cshtml blockgrid/Components/grid_element_faq_accordion_home.cshtml MIGRATED
psGlobalGoogleMap/Editors/RenderViews/LargeGoogleMap.cshtml blockgrid/Components/grid_element_largegooglemap.cshtml MIGRATED
psGlobalLeafLetMap/Editors/RenderViews/LargeLeafLetMap.cshtml blockgrid/Components/grid_element_largeleafletmap.cshtml MIGRATED
psServices/Editors/RenderViews/services.cshtml blockgrid/Components/grid_element_services_list.cshtml MIGRATED
psServicesImage/Editors/RenderViews/services.cshtml blockgrid/Components/grid_element_services_list_image.cshtml MIGRATED
psSocialFooter/Editors/RenderViews/socialFooter.cshtml blockgrid/Components/grid_element_socialfooter.cshtml MIGRATED
psStickySocial/Editors/RenderViews/stickysocial.cshtml blockgrid/Components/grid_element_stickysocial.cshtml MIGRATED
psSubMenu/Editors/RenderViews/subMenu.cshtml blockgrid/Components/grid_builtin_submenu.cshtml MIGRATED
DocTypeGridEditor/Render/DocTypeGridEditor.cshtml -- OBSOLETE
DocTypeGridEditor/Render/DocTypeGridEditorPreviewer.cshtml -- OBSOLETE
UmbracoForms/RazorTemplates/HtmlTable.cshtml -- OBSOLETE

4h. Shared Partials

v8 File v17 Equivalent Status
ArticleContent.cshtml ArticleContent.cshtml MIGRATED
ArticleContentType2.cshtml ArticleContentType2.cshtml MIGRATED
LatestArticles.cshtml LatestArticles.cshtml MIGRATED
LatestArticlesPaging.cshtml LatestArticlesPaging.cshtml MIGRATED
LatestGalleries.cshtml LatestGalleries.cshtml MIGRATED
NewsGlobalCTA.cshtml NewsGlobalCTA.cshtml MIGRATED
Notifications/_GlobalNotifications.cshtml Notifications/_GlobalNotifications.cshtml MIGRATED
Notifications/_GlobalNotificationsHTML.cshtml Notifications/_GlobalNotificationsHTML.cshtml MIGRATED
OpeningTimes.cshtml (Progress.Core) -- SEE NOTE
RelatedArticles.cshtml RelatedArticles.cshtml MIGRATED
RelatedArticlesType2.cshtml RelatedArticlesType2.cshtml MIGRATED
shareButtons.cshtml shareButtons.cshtml MIGRATED

4i. Site Layout Partials

v8 File v17 Equivalent Status
SiteLayout/LoginButtons.cshtml SiteLayout/LoginButtons.cshtml MIGRATED
SiteLayout/TopBar.cshtml SiteLayout/TopBar.cshtml MIGRATED
SiteLayout/footer.cshtml SiteLayout/footer.cshtml MIGRATED
SiteLayout/header.cshtml SiteLayout/header.cshtml MIGRATED
SiteLayout/headerMenu2.cshtml SiteLayout/headerMenu2.cshtml MIGRATED
SiteLayout/headerMenu3.cshtml SiteLayout/headerMenu3.cshtml MIGRATED
SiteLayout/headerMenu4.cshtml SiteLayout/headerMenu4.cshtml MIGRATED
SiteLayout/headerSearch.cshtml SiteLayout/headerSearch.cshtml MIGRATED
SiteLayout/headerSocialLinks.cshtml SiteLayout/headerSocialLinks.cshtml MIGRATED
SiteLayout/navigation.cshtml -- OBSOLETE
SiteLayout/navigationDynamic.cshtml SiteLayout/navigationDynamic.cshtml MIGRATED
SiteLayout/navigationDynamicMenu2.cshtml SiteLayout/navigationDynamicMenu2.cshtml MIGRATED
SiteLayout/navigationDynamicMenu2ButtonDropdown.cshtml SiteLayout/navigationDynamicMenu2ButtonDropdown.cshtml MIGRATED
SiteLayout/navigationDynamicMenu2CallUs.cshtml SiteLayout/navigationDynamicMenu2CallUs.cshtml MIGRATED
SiteLayout/navigationDynamicMenu2LoginButtons.cshtml SiteLayout/navigationDynamicMenu2LoginButtons.cshtml MIGRATED
SiteLayout/navigationDynamicMenu2Search.cshtml -- NOT MIGRATED
SiteLayout/navigationDynamicMenu2SocialLinks.cshtml SiteLayout/navigationDynamicMenu2SocialLinks.cshtml MIGRATED
SiteLayout/navigationDynamicMenu2TopBarLinks.cshtml SiteLayout/navigationDynamicMenu2TopBarLinks.cshtml MIGRATED
SiteLayout/navigationDynamicMenu4.cshtml SiteLayout/navigationDynamicMenu4.cshtml MIGRATED
SiteLayout/seo.cshtml SiteLayout/SEO.cshtml MIGRATED (case change)

4j. Other Partial Subdirectories

Subdirectory v8 Files v17 Status
calculators/ 6 calc type partials MIGRATED to calculators/ with _calculatorTab.cshtml added
calcGridSlider/ 7 slider type partials (incl. splitPictureSlidePrevew.cshtml) MIGRATED (6 of 7; preview variant dropped)
cookies/_main.cshtml cookies/_main.cshtml MIGRATED
Help/_main.cshtml help/_main.cshtml MIGRATED
Help/_subarticle.cshtml -- NOT MIGRATED
Home/ (6 slider files) home/ (6 files + slider.cshtml) MIGRATED
LoginStatus/ LoginStatus/_LoginStatus.cshtml MIGRATED
privacy/_main.cshtml privacy/_main.cshtml MIGRATED
privacy/_subMenu.cshtml privacy/_subMenu.cshtml MIGRATED
social/_instagram.cshtml -- NOT MIGRATED
social/_twitter.cshtml social/_twitter.cshtml MIGRATED
termsConditions/_main.cshtml termsConditions/_main.cshtml MIGRATED
termsConditionsMobile/_main.cshtml termsConditionsMobile/_main.cshtml MIGRATED

4k. Forms Views

v8 Forms (79 files): - Email templates: 26 files (client-specific email templates) - Export: 1 file (excel.cshtml) - Fieldtypes: 13 base fieldtype views - Themes/default: 22 files (fieldtypes + form rendering) - Custom themes: 9 files (General, GeneralShowHide, psFormContact, psLoanBoxes, psLoanBoxesAccordion, psLostYourPin, psMortgageCalculator, psPoll, psPopup) - bootstrap3-horizontal: 2 files

v17 Forms (13 files in www + 12 in CustomPropertyEditors): - www/Views/Partials/Forms/Themes/: General, GeneralShowHide, default (FriendlyCaptcha + scripts), psFormContact, psLoanBoxes, psLoanBoxesAccordion, psLostYourPin, psMortgageCalculator, psPoll, psPopup - Progress.CustomPropertyEditors/Views/Partials/Forms/Themes/: Identical set of custom themes

Status: - Custom form themes: ALL MIGRATED - Email templates: NOT MIGRATED (26 email templates are in the v8 database, served by Umbraco Forms -- these are stored in DB not code) - Default fieldtype views: NOT NEEDED (v17 Forms ships with updated defaults) - bootstrap3-horizontal theme: OBSOLETE - Export excel template: NOT MIGRATED (may not be needed)


5. Controllers

v8 Progress.Core Surface Controllers

v8 Controller v17 Equivalent Status Notes
CookieSurfaceController.cs ViewComponents/CookiesViewComponent.cs MIGRATED Converted from SurfaceController to ViewComponent
HelpSurfaceController.cs ViewComponents/HelpViewComponent.cs MIGRATED Converted to ViewComponent
InstagramSurfaceController.cs -- NOT MIGRATED Instagram API integration; see gaps
MobileTermsConditionsSurfaceController.cs -- NOT MIGRATED Functionality may be in TermsConditions
NotificationSurfaceController.cs ViewComponents/NotificationViewComponent.cs MIGRATED
PrivacySurfaceController.cs ViewComponents/PrivacyViewComponent.cs MIGRATED
TermsConditionsSurfaceController.cs ViewComponents/TermsConditionsViewComponent.cs MIGRATED
TwitterSurfaceController.cs ViewComponents/TwitterViewComponent.cs MIGRATED

v8 Progress.Core Backoffice Controllers

v8 Controller v17 Equivalent Status Notes
ProgressCmsVersionController.cs -- OBSOLETE v8 CMS version dashboard; not needed in v17

v8 Progress.Web Surface Controllers (Calculator)

v8 Controller v17 Equivalent Status Notes
calculatorIconSurfaceController.cs Controllers/CalculatorApiController.cs MIGRATED Consolidated into single API controller
calculatorInputSurfaceController.cs Controllers/CalculatorApiController.cs MIGRATED
calculatorInputVarRateSurfaceController.cs Controllers/CalculatorApiController.cs MIGRATED
calculatorLargeSurfaceController.cs Controllers/CalculatorApiController.cs MIGRATED
calculatorSmallInputSurfaceController.cs Controllers/CalculatorApiController.cs MIGRATED
calculatorSmallSurfaceController.cs Controllers/CalculatorApiController.cs MIGRATED

v8 Progress.Security Controllers

v8 Controller v17 Equivalent Status Notes
TokenAuthenticationController.cs -- ARCHITECTURE CHANGE Token auth handled differently in v17
ClaimsRoleProvider.cs -- ARCHITECTURE CHANGE ASP.NET Core Identity replaces claims role provider
OwinConfiguration.cs -- OBSOLETE OWIN replaced by ASP.NET Core middleware

v8 Progress.Umbraco2FA Controllers

v8 File v17 Equivalent Status
TwoFactorAuthController.cs Security/TwoFactorSetupController.cs MIGRATED
TwoFactorBackOfficeUserManager.cs Security/ForcedTwoFactorBackOfficeUserStore.cs MIGRATED
TwoFactorBackOfficeUserStore.cs Security/ForcedTwoFactorBackOfficeUserStore.cs MIGRATED
TwoFactorEventHandler.cs -- OBSOLETE (v17 uses different event model)
TwoFactorValidationProvider.cs Security/GoogleAuthenticatorTwoFactorProvider.cs MIGRATED
Various migration files -- OBSOLETE (DB migration handled differently)

v17 New Controllers/ViewComponents (no v8 equivalent)

v17 File Purpose
ViewComponents/LoginStatusViewComponent.cs Login status in header (was inline Razor)
Services/CacheCleanupService.cs Cache management
Services/DatabaseCleanupService.cs DB cleanup
Services/HeadlessContentService.cs Headless content delivery
Composing/McpApiUserComposer.cs MCP integration

6. Models

v8 UmbracoModels (249 generated models)

These were ModelsBuilder-generated strongly-typed content models. In v17, ModelsBuilder is configured as SourceCodeManual and models are auto-generated at build time. They are NOT committed to the repository.

Status: ALL 249 models are handled by v17 ModelsBuilder. No manual migration needed.

v8 ViewModels (Progress.Core)

v8 ViewModel v17 Equivalent Status
ArticleResultSet.cs ViewModels/ArticleResultSet.cs MIGRATED
CookiesList.cs ViewModels/CookiesList.cs MIGRATED
GalleryResultSet.cs -- NOT MIGRATED (may be inline in v17)
HelpArticleIdList.cs -- NOT MIGRATED
HelpList.cs -- NOT MIGRATED
Instagram.cs -- NOT MIGRATED
MobileTermsConditionsList.cs -- NOT MIGRATED
PrivacyList.cs -- NOT MIGRATED
TermsConditionsList.cs -- NOT MIGRATED
TweetSearchResponse.cs ViewModels/TweetSearchResponse.cs MIGRATED
notificationList.cs ViewModels/NotificationItem.cs MIGRATED (renamed)

v8 ViewModels (Progress.Web - Calculators)

v8 ViewModel v17 Equivalent Status
calculatorViewModelIcon.cs CalculatorApiController handles directly ARCHITECTURE CHANGE
calculatorViewModelInput.cs CalculatorApiController handles directly ARCHITECTURE CHANGE
calculatorViewModelInputVarRate.cs CalculatorApiController handles directly ARCHITECTURE CHANGE
calculatorViewModelLarge.cs CalculatorApiController handles directly ARCHITECTURE CHANGE
calculatorViewModelSmall.cs CalculatorApiController handles directly ARCHITECTURE CHANGE

v8 Models (Progress.Core)

v8 Model v17 Equivalent Status
CommonBondRange.cs Progress.CustomPropertyEditors/Forms/Models/CommonBondRange.cs MIGRATED

7. Services

v8 Progress.Core Services

v8 Service v17 Equivalent Status
ArticleService.cs / IArticleService.cs Services/ArticleService.cs / IArticleService.cs MIGRATED
CommonBondValidationService.cs Forms/Services/CommonBondValidationService.cs MIGRATED
GalleryService.cs / IGalleryService.cs -- NOT MIGRATED
GlobalCookiesService.cs Services/GlobalCookiesService.cs / IGlobalCookiesService.cs MIGRATED
GlobalHelpCenter.cs ViewComponents/HelpViewComponent (inline) MIGRATED
GlobalMobileTermsConditionsService.cs -- NOT MIGRATED
GlobalNotificationsService.cs Services/GlobalNotificationsService.cs / IGlobalNotificationsService.cs MIGRATED
GlobalPrivacyService.cs PrivacyViewComponent (inline) MIGRATED
GlobalTermsConditionsService.cs TermsConditionsViewComponent (inline) MIGRATED
InstagramService.cs -- NOT MIGRATED
MigrateNewsCategoriesComposer.cs -- OBSOLETE (one-time migration)
TwitterService.cs Services/TwitterService.cs / ITwitterService.cs MIGRATED

v17 New Services

v17 Service Purpose
Services/CalculatorService.cs / ICalculatorService.cs Loan calculator business logic
Services/DictionaryService.cs / IDictionaryService.cs Umbraco dictionary/localization
Services/HeadlessContentService.cs / IHeadlessContentService.cs Headless content API
Services/CacheCleanupService.cs Cache management
Services/DatabaseCleanupService.cs DB cleanup
Progress.Baseline.Core/Services/SiteSettingsService.cs Centralized site settings

8. Helpers and Extensions

v8 File v17 Equivalent Status
Helpers/CacheLayer.cs -- OBSOLETE (v17 uses built-in caching)
Helpers/HtmlHelpers.cs Helpers/CssHelper.cs + Helpers/ScriptHelper.cs MIGRATED (refactored)
Helpers/QueryStringHelper.cs -- NOT MIGRATED (may use built-in)
Helpers/ResponsiveHelper.cs -- NOT MIGRATED
Helpers/TagAttributes.cs -- NOT MIGRATED
Extensions/EnumerableExtensions.cs Extensions/EnumerableExtensions.cs MIGRATED
Extensions/HtmlExtensions.cs Extensions/HtmlExtensions.cs MIGRATED
Extensions/HttpRequestBaseExtensions.cs -- OBSOLETE (ASP.NET Core has different HTTP abstractions)
Extensions/IPublishedContentExtensions.cs Extensions/BlockGridExtensions.cs MIGRATED (adapted for BlockGrid)
HttpClients/HttpClientFactory.cs -- OBSOLETE (v17 uses built-in IHttpClientFactory)
HttpClients/HttpLoggingHandler.cs -- OBSOLETE
HttpClients/IServiceAgent.cs -- OBSOLETE
HttpClients/OpenModulesServiceAgent.Generated.cs -- OBSOLETE
HttpClients/ServiceAgent.cs -- OBSOLETE

9. Composing / Startup

v8 File v17 Equivalent Status
Composing/MortgageCalculationComposer.cs Forms/Workflows/MortgageCalculationHandler.cs MIGRATED
Composing/ReCaptchaFallbackComposer.cs Forms/Validation/ReCaptchaFallbackHandler.cs MIGRATED
Composing/RegisterServicesComposer.cs Composing/ServiceComposer.cs MIGRATED
Composing/RemoveDashBoard.cs App_Plugins/RemoveDashboards/ MIGRATED (JS-based in v17)
Composing/SubscribeToContentServiceSavingComposer.cs -- NOT MIGRATED
Composing/TreeNodeRenderingComposer.cs -- OBSOLETE (v17 tree rendering is different)
Composing/UserServiceComposer.cs -- NOT MIGRATED
Composing/CommonBondValidationComposer.cs Forms/Validation/CommonBondValidationHandler.cs MIGRATED
Composing/LostYourPinComposer.cs Forms/Validation/LostYourPinValidationHandler.cs MIGRATED
Progress.Web/Startup.cs Program.cs MIGRATED (ASP.NET Core startup pattern)

10. Umbraco Forms Extensions

v8 File v17 Equivalent Status
UmbracoFormsExtension/DropDownYears.cs Forms/FieldTypes/DropdownListWithYears.cs MIGRATED
UmbracoFormsExtension/FriendlyCaptcha.cs Forms/FieldTypes/FriendlyCaptchaField.cs MIGRATED
UmbracoFormsExtension/LostYourPinField.cs Forms/FieldTypes/LostYourPinField.cs MIGRATED
UmbracoFormsExtension/MortgageCalculatorResult.cs Forms/FieldTypes/MortgageCalculatorResult.cs MIGRATED
UmbracoFormsExtension/TextareaWithCount.cs Forms/FieldTypes/TextareaWithCount.cs MIGRATED
UmbracoFormsExtension/TextfieldWithCount.cs Forms/FieldTypes/TextfieldWithCount.cs MIGRATED
UmbracoFormsWorkFlows/CancelUploadedFiles.cs Forms/Workflows/CancelUploadedFilesWorkflow.cs MIGRATED
UmbracoFormsWorkFlows/PostAsJson.cs Forms/Workflows/PostAsJsonWorkflow.cs MIGRATED
umbracoFormsHideField/ExcludeItems.cs -- NOT MIGRATED

11. Configuration Files

v8 config/ Directory

v8 Config File v17 Equivalent Status
grid.editors.config.js uSync element type definitions + migration tool MIGRATED
tinyMceConfig.config GridConfigurationMigrationService.GetDefaultRteConfiguration() MIGRATED
umbracoSettings.config appsettings.json MIGRATED
serilog.config / serilog.user.config appsettings.json Serilog section MIGRATED
ClientDependency.config -- OBSOLETE
HealthChecks.config Built-in v17 health checks OBSOLETE
imageprocessor/* Built-in ImageSharp in v17 OBSOLETE
uSync8.config appsettings.json uSync section MIGRATED
uSync.Publish.config -- NOT APPLICABLE
uSync.licence.config appsettings.json MIGRATED
logviewer.searches.config.js Built-in OBSOLETE
Lang/*.user.xml -- OBSOLETE
BackOfficeTours/getting-started.json -- OBSOLETE
splashes/noNodes.aspx -- OBSOLETE

v8 Web.config Transforms (353 files)

v8 had 353 Web.*.config transform files (one per client per environment: UAT + Prod). In v17, these are replaced by appsettings.{client}.json files.

v17 appsettings files: - appsettings.json (base) - appsettings.Development.json - appsettings.progress.json - appsettings.clontarffc.json - appsettings.cuisosolutions.json - appsettings.Migration.json - appsettings.TestMigration.json - appsettings.CuisoMigration.json

Status: Partially migrated. Only a handful of client-specific appsettings exist. The 353 web.config transforms will need to be systematically converted to appsettings.{client}.json files as each client is migrated.

Other v8 Root Configs

v8 File Status
51Degrees.config OBSOLETE (device detection not used in v17)
Parameters.xml OBSOLETE (Azure deployment parameter)
iis-config.json OBSOLETE (replaced by Docker/Azure config)
packages.config OBSOLETE (NuGet PackageReference in .csproj)
packages.lock.json OBSOLETE

12. Static Assets

JavaScript Files (scripts/)

Category v8 Count v17 Count Status
Core scripts (scripts/) 49 files 60 files ALL MIGRATED + new scripts added

v8 scripts migrated to v17 wwwroot/Scripts/: All 49 v8 scripts are present in v17. Additional v17 scripts include: - calcApplyNowLink.js (new) - counterLoader.js (new) - ctaGradientToggle.js (new) - faqAccordionScroll.js (new) - FlexibleDropdownFix.js (new -- handles DropDown.Flexible JSON wrapping) - formCustomValidation.js (new) - lightboxInit.js (new) - Various others

CSS Files

Category v8 Location v17 Location Status
Client-specific CSS cssCreditUnion/ (~160 files) wwwroot/cssCreditUnion/ (163 files) ALL MIGRATED
Core CSS content/*.css (~12 files) wwwroot/content/*.css MIGRATED (CommonV2, doghnut, gridSlider, homeSlider, navigation)
RTE CSS css/RTE.css wwwroot/css/RTE.css MIGRATED
Internal stylesheets InternalStyleSheets/ (19 files) -- NOT MIGRATED as separate files
Bootstrap CSS content/psBootstrap.css wwwroot/vendor/bootstrap/ MIGRATED

v8 content/ CSS files NOT in v17: - Common.css -- superseded by CommonV2.css - Site.css -- superseded by CommonV2 - pStyles.css / pStylesInner.css / loriStyles.css -- merged into other CSS - calcIcon.css / calcLarge.css / calcSmall.css -- merged into calculator components

New v17 CSS: - wwwroot/css/umbraco-blockgrid.css -- required for BlockGrid rendering

Images and Fonts

v8 Location v17 Location Status
content/images/ (~200+ files) wwwroot/content/images/ (187 files) MOSTLY MIGRATED
content/fonts/ wwwroot/content/fonts/ MIGRATED
Client-specific images content/images/{client}/ wwwroot/content/images/{client}/

Vendor Libraries

v8 Vendor v17 Status Notes
vendor/bootstrap/ MIGRATED + UPGRADED Bootstrap 5.3.3 (upgraded from 4.4.1, commit 643174b)
vendor/aos/ MIGRATED Animate on scroll
vendor/Faq/ MIGRATED FAQ accordion JS/CSS
vendor/FriendlyCaptcha/ MIGRATED CAPTCHA widget
vendor/HoverIntent/ MIGRATED jQuery plugin
vendor/MortgageCalculatorResult/ MIGRATED Mortgage calc styles
vendor/chartist/ MIGRATED Chart library
vendor/counter/ MIGRATED Counter animation
vendor/fitvids/ MIGRATED Responsive video
vendor/fontawesome/ MIGRATED Icons
vendor/jquery/ MIGRATED jQuery 3.x
vendor/lightbox/ MIGRATED Image lightbox
vendor/matchHeight/ MIGRATED Equal height elements
vendor/owl.carousel/ MIGRATED Carousel/slider
vendor/parallax/ MIGRATED Parallax scrolling
vendor/qrCode/ MIGRATED QR code generation
vendor/slick/ MIGRATED Slider
vendor/smartmenu/ MIGRATED Navigation menus
vendor/wow/ MIGRATED WOW animation

v17 total vendor files: 1963 (vs v8: comparable count, includes all sub-files)

Loan Selector

v8 Location v17 Location Status
scripts/loan-selector/ wwwroot/loan-enquiry/ MIGRATED (renamed)

13. App_Plugins / Custom Property Editors

v8 App_Plugins (52 directories)

v8 Plugin v17 Equivalent Status Notes
Custom Progress Plugins
psCalculators Progress.CustomPropertyEditors/psCalculators REBUILT TypeScript/Lit component
psDataProtectionDPO Progress.CustomPropertyEditors/psDataProtectionDPO REBUILT
psDataProtectionName Progress.CustomPropertyEditors/psDataProtectionName REBUILT
psDataProtectionSpecificStatements Progress.CustomPropertyEditors/psDataProtectionSpecificStatements REBUILT
psDataProtectionSummaryTable Progress.CustomPropertyEditors/psDataProtectionSummaryTable REBUILT
psDataProtectionWeAre Progress.CustomPropertyEditors/psDataProtectionWeAre REBUILT
psFaqAccordion Progress.CustomPropertyEditors/psFaqAccordion REBUILT
psGlobalAddress Progress.CustomPropertyEditors/psGlobalAddress REBUILT
psGlobalGoogleMap Progress.CustomPropertyEditors/psGlobalGoogleMap REBUILT
psGlobalLeafLetMap Progress.CustomPropertyEditors/psGlobalLeafLetMap REBUILT
psHeading Progress.CustomPropertyEditors/psHeading REBUILT
psLoanBoxes Progress.CustomPropertyEditors/psLoanBoxes REBUILT
psNews Progress.CustomPropertyEditors/psNews REBUILT
psPosition Progress.CustomPropertyEditors/psPosition REBUILT
psReleaseNotes Progress.CustomPropertyEditors/psReleaseNotes REBUILT
psReset2FA App_Plugins/Progress/reset-2fa-editor REBUILT
psServices Progress.CustomPropertyEditors/psServices REBUILT
psServicesImage Progress.CustomPropertyEditors/psServicesImage REBUILT
psSocialFooter Progress.CustomPropertyEditors/psSocialFooter REBUILT
psStickySocial Progress.CustomPropertyEditors/psStickySocial REBUILT
psSubMenu Progress.CustomPropertyEditors/psSubMenu REBUILT
psTestimonial Progress.CustomPropertyEditors/psTestimonial REBUILT
psTextAreaDefaultValue Progress.CustomPropertyEditors/psTextAreaDefaultValue REBUILT
psTextStringDefaultValue Progress.CustomPropertyEditors/psTextStringDefaultValue REBUILT
psTweaks Progress.CustomPropertyEditors/psTweaks REBUILT
GridSettingsMarginEditor Progress.CustomPropertyEditors/GridSettingsMarginEditor REBUILT
GridSettingsPaddingEditor Progress.CustomPropertyEditors/GridSettingsPaddingEditor REBUILT
Grid/Layout Plugins
FaIconpicker Progress.CustomPropertyEditors/psFaIconPicker REBUILT
OpeningSoon Progress.CustomPropertyEditors/psOpeningSoon + PropertyValueConverters/OpeningSoonValueConverter.cs REBUILT
ColorPickerU8 App_Plugins/Vokseverk.ColorSelector REPLACED Different plugin for v17
blocks -- OBSOLETE v8 block editor UI assets
CustomWelcomeDashboard Progress.CustomPropertyEditors/psWelcomeDashboard REBUILT
Third-Party Plugins
2FactorAuthentication App_Plugins/TwoFactorProviders + Security/ REPLACED v17 built-in 2FA with custom provider
CDFHealthCheck -- OBSOLETE v17 has built-in health checks
Dawoe.OEmbedPickerPropertyEditor Progress.CustomPropertyEditors/psEmbeddedMedia REPLACED Custom implementation
DiploGodMode -- NOT MIGRATED Backoffice utility; v17 equivalent TBD
DocTypeGridEditor -- OBSOLETE Replaced by BlockGrid system entirely
ListViewNews -- OBSOLETE v17 list views configured differently
ListViewTestimonals -- OBSOLETE
MeganavV8 -- NOT MIGRATED Mega-menu navigation; uses v17 built-in nav
Mw.UmbForms.Rte -- OBSOLETE v17 Forms has native RTE support
NestingContently -- OBSOLETE Nested content replaced by BlockList
Our.Umbraco.Matryoshka -- OBSOLETE Nested content helper
UmbracoForms NuGet package MIGRATED Installed as NuGet in v17
uSync Plugins
uSync8 NuGet package MIGRATED uSync for v17 via NuGet
uSyncExpansions -- NOT APPLICABLE
uSyncExporter -- NOT APPLICABLE
uSyncHistory -- NOT APPLICABLE
uSyncPacker -- NOT APPLICABLE
uSyncPeopleEdition -- NOT APPLICABLE
uSyncPublisher -- NOT APPLICABLE
uSyncSnapshots -- NOT APPLICABLE

v17 New Plugins/Editors (no v8 equivalent)

v17 Plugin Purpose
App_Plugins/RemoveDashboards JS-based dashboard cleanup
Progress.CustomPropertyEditors/psEmbeddedMedia Embedded media picker (replaces Dawoe)
Progress.CustomPropertyEditors/psOpeningSoon Opening soon editor
Progress.CustomPropertyEditors/psWelcomeDashboard Welcome + release notes dashboard

14. Progress.Core Specific Files

ViewPages

v8 File v17 Equivalent Status
ViewPages/ProgressViewPage.cs -- OBSOLETE
ViewPages/ProgressGalleryViewPage.cs -- OBSOLETE

Migration Files

v8 File v17 Equivalent Status
Migration/CommonBondMigrationComponent.cs Forms/Migrations/CommonBondMigrationPlan.cs MIGRATED
Migration/CommonBondPlan.cs Forms/Migrations/CommonBondMigrationPlan.cs MIGRATED
Migration/CreateCommonBondTable.cs Forms/Migrations/CreateCommonBondTableMigration.cs MIGRATED

15. Progress.Baseline.Core (v17 New Architecture)

This project is NEW in v17, implementing the future NuGet RCL pattern:

File Purpose
Interfaces/ISiteStyleSettings.cs Site style configuration interface
Interfaces/IGoogleTagManagerSettings.cs GTM settings interface
Interfaces/IFooterSettings.cs Footer configuration interface
Interfaces/ICookieSettings.cs Cookie settings interface
Interfaces/IHomepageSliderSettings.cs Homepage slider settings
Interfaces/IWebsiteSettings.cs Website-level settings
Interfaces/ISeoSettings.cs SEO settings
Interfaces/IMenuSettings.cs Menu configuration
Adapters/*.cs Adapter implementations for each interface
Services/SiteSettingsService.cs Central site settings service
Extensions/ServiceCollectionExtensions.cs DI registration

These abstract settings from Umbraco IPublishedContent into clean interfaces, enabling future NuGet packaging.


16. ProgressLoanCalculator (v17 New)

Previously a pre-compiled DLL (References/ProgressLoanCalculator.dll), now a proper source project:

File Purpose
AprCalculator.cs APR calculation logic
DateProvider.cs Date utilities
Frequency.cs Payment frequency enum
ILoanCalculatorEstimator.cs Calculator interface
InterestBo.cs Interest business object
InterestRateBo.cs Interest rate BO
LoanCalculationResults.cs Results model
LoanCalculatorEstimator.cs Main calculator implementation
LoanFrequency.cs Frequency model
ProgressMath.cs Math utilities

17. Gaps Analysis

A. Missing and Potentially Needed

Item v8 Location Priority Notes
TrustpilotWidget.cshtml page template Views/TrustpilotWidget.cshtml LOW Check if any client DB uses this doc type
LoanBoxContactControl.cshtml page template Views/LoanBoxContactControl.cshtml LOW Superseded by component partials
NewsCategoryItems.cshtml page template Views/NewsCategoryItems.cshtml LOW Check if content exists
navigationDynamicMenu2Search.cshtml Partials/SiteLayout/ MEDIUM Search in nav menu -- check if clients use it
Help/_subarticle.cshtml Partials/Help/ MEDIUM Sub-article rendering for help section
social/_instagram.cshtml Partials/social/ LOW Instagram integration (API deprecated)
InstagramSurfaceController.cs Progress.Core/SurfaceControllers/ LOW Instagram API largely deprecated
MobileTermsConditionsSurfaceController.cs Progress.Core/SurfaceControllers/ MEDIUM Check if mobile T&C differs from desktop
GalleryService.cs / IGalleryService.cs Progress.Core/Services/ MEDIUM Gallery listing service
SubscribeToContentServiceSavingComposer.cs Progress.Core/Composing/ MEDIUM Content save event handler
UserServiceComposer.cs Progress.Core/Composing/ LOW User service customization
umbracoFormsHideField/ExcludeItems.cs Progress.Web/ LOW Forms field hiding logic
DiploGodMode plugin App_Plugins/DiploGodMode LOW Backoffice utility
MeganavV8 plugin App_Plugins/MeganavV8 LOW Mega-menu (check if any client uses mega-nav)
Forms email templates (26 files) Views/Partials/Forms/Emails/ LOW Stored in DB, not code
InternalStyleSheets/ (19 CSS files) Progress.Web/InternalStyleSheets/ MEDIUM Component-specific CSS; may be inlined or missing
Client-specific appsettings.json files Web.*.config (353 files) HIGH Must be generated per-client at migration time
QueryStringHelper.cs Progress.Core/Helpers/ LOW Query string utilities
ResponsiveHelper.cs Progress.Core/Helpers/ LOW Responsive image helpers
TagAttributes.cs Progress.Core/Helpers/ LOW HTML tag helper
ViewModels: GalleryResultSet, HelpArticleIdList, HelpList, Instagram, MobileTermsConditionsList, PrivacyList, TermsConditionsList Progress.Core/ViewModels/ MEDIUM Some may be needed if services are migrated

B. Deliberately Not Migrated (Correct Decisions)

Item Reason
All 36 DTGE Preview views Preview system completely different in v17 BlockGrid
All 9 Macro Partials Macros removed from Umbraco v17
v8 Grid framework views (Bootstrap3, etc.) Replaced by BlockGrid rendering
DocTypeGridEditor plugin Entire DTGE concept replaced by BlockGrid
NestingContently plugin Replaced by native BlockList
Our.Umbraco.Matryoshka plugin Nested content helper -- obsolete
Mw.UmbForms.Rte plugin v17 Forms has native RTE
CDFHealthCheck plugin v17 has built-in health checks
ListViewNews / ListViewTestimonals v17 list views configured differently
blocks plugin v8 block editor UI -- replaced by v17 native
All uSync v8 expansion plugins (7) v17 uSync is a NuGet package
Progress.Security/OwinConfiguration.cs OWIN replaced by ASP.NET Core middleware
ClientDependency.config Not used in ASP.NET Core
imageprocessor/ configs ImageSharp handles this in v17
Common.css, Site.css, pStyles.css Superseded by CommonV2.css
Calculator ViewModels (5) Consolidated into API controller
ViewPages/ (2 files) Custom Razor base pages not needed
HttpClients/ (5 files) v17 uses built-in IHttpClientFactory

C. Obsolete / Deprecated (Safe to Ignore)

Category Count Reason
Macro Partials 9 Macro system removed
DTGE Preview Views 36 Preview system replaced
Grid Framework Views 11 Grid replaced by BlockGrid
Grid Editor Base/Textstring 2 Not needed in BlockGrid
Web.config transforms 353 Web.config replaced by appsettings.json
OWIN / ASP.NET Framework files 5 Framework change
v8-specific plugins 12 Replaced by NuGet or built-in
ClientDependency / ImageProcessor configs 4 Different technology in v17
51Degrees.config 1 Device detection removed
Backoffice tours 1 Feature removed
packages.config 1 NuGet PackageReference used
Auto-generated models 249 ModelsBuilder auto-generates

18. Recommendations

HIGH Priority

  1. Client appsettings generation -- Create a tool/script to convert the 353 Web.*.config transforms into appsettings.{client}.json files. This is required for each client migration.

  2. InternalStyleSheets audit -- The 19 component-specific CSS files from InternalStyleSheets/ may not have been migrated. Verify that the styles (HeroItem, ImageGallery, Spotlights, announcement, barChart, card, cardGrid, counters, ctaCurves, ctaText, gridSlider, imageListControl, numberedList, spotlightGridControls, staffMembers, stripedList, testimonalCardItem, videoPopOut) are included in the v17 CommonV2.css or client CSS files.

  3. navigationDynamicMenu2Search.cshtml -- Verify if any client uses in-menu search. If so, this partial needs to be created.

MEDIUM Priority

  1. GalleryService -- If gallery listing pages are used by any client, the service and related ViewModels need to be migrated.

  2. Help/_subarticle.cshtml -- Check if the help section sub-article rendering is needed.

  3. MobileTermsConditions -- Verify if mobile T&C is a separate feature or merged into the standard T&C view.

  4. SubscribeToContentServiceSavingComposer -- Review what content save events were being handled and whether they are still needed.

  5. Forms email templates -- Verify that email templates are properly stored in the v17 Umbraco Forms database after migration.

LOW Priority

  1. Instagram integration -- Instagram Basic Display API was deprecated. Consider removing or replacing with a different integration.

  2. DiploGodMode -- Check if a v17-compatible version exists or if the functionality is needed.

  3. TrustpilotWidget page template -- Check content usage across all client databases.

  4. umbracoFormsHideField/ExcludeItems -- Check if any form uses field hiding/exclusion logic.


19. Summary Statistics

Category v8 Total v17 Total Migrated Obsolete Missing
Page templates 48 45 45 0 3
Macro partials 9 0 0 9 0
BlockList components 6 7 7 0 0
Grid framework views 11 0 0 11 0
BlockGrid component views 55 121 121 0 0
DTGE preview views 36 0 0 36 0
Grid sub-components 42 ~42 42 0 0
App_Plugins render views 16 14 14 2 0
Site layout partials 20 18 18 1 1
Shared partials 12 11 11 0 1
Other partial dirs ~30 ~30 28 0 2
Forms views 79 25 25 54 0
Controllers 15 8+7VC 14 1 2
Services 12 12+ 10 1 2
Custom property editors 27 28 27 0 0
Client CSS files ~160 163 163 0 0
JavaScript files 49 60 60 0 0
Vendor libraries ~15 ~15 15 0 0
Web.config transforms 353 8 8 0 345
UmbracoModels 249 auto 249 0 0

Overall migration coverage: ~95% (excluding deliberate obsolete items and auto-generated models)

All frontend code changes are complete including the Bootstrap 5.3.3 upgrade (1,142 CSS patterns, all data attributes, all JS). The primary remaining gap is client-specific appsettings.json generation (345 configs needed) which is an operational task per-client rather than a code migration gap. Only Phase 6 (NuGet RCL) and Phase 7 (Final Documentation) remain as future work.

Migration documentation by Double for Progress Credit Union