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 |
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) |
| 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 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
-
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.
-
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.
-
navigationDynamicMenu2Search.cshtml -- Verify if any client uses in-menu search. If so, this partial needs to be created.
MEDIUM Priority
-
GalleryService -- If gallery listing pages are used by any client, the service and related ViewModels need to be migrated.
-
Help/_subarticle.cshtml -- Check if the help section sub-article rendering is needed.
-
MobileTermsConditions -- Verify if mobile T&C is a separate feature or merged into the standard T&C view.
-
SubscribeToContentServiceSavingComposer -- Review what content save events were being handled and whether they are still needed.
-
Forms email templates -- Verify that email templates are properly stored in the v17 Umbraco Forms database after migration.
LOW Priority
-
Instagram integration -- Instagram Basic Display API was deprecated. Consider removing or replacing with a different integration.
-
DiploGodMode -- Check if a v17-compatible version exists or if the functionality is needed.
-
TrustpilotWidget page template -- Check content usage across all client databases.
-
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.