Skip to content

Report 27: Static Assets Comparison (V8 vs V17)

Generated: 2026-02-27 | Scope: JavaScript, CSS, vendor libraries, images, fonts


1. Overview

Asset Category V8 Count V17 Count Delta Notes
Custom JS (Scripts/) 44 58 +14 new All v8 files carried over; 14 new v17-only scripts
Internal JS (internalJs/) 1 0 -1 gridSlider.js moved to Scripts/
Client CSS (cssCreditUnion/) 170 163 -7 7 client stylesheets not migrated
Core CSS (css/) 1 2 +1 umbraco-blockgrid.css added for v17 BlockGrid
InternalStyleSheets 19 0 -19 Absorbed into CommonV2.css (10,818 lines)
Content CSS (content/) ~4 ~4 0 CommonV2.css, gridSlider.css, etc.
Vendor libraries 25 dirs 25 dirs 0 Bootstrap upgraded 4.4.1 -> 5.3.3
Content images 173 173 0 Identical
Custom fonts 3 3 0 Cairde CU custom font (ttf, woff, woff2)

2. JavaScript Comparison

2.1 All V8 Custom JS Files (44 files) -- All Migrated

Every v8 Scripts/ file is present in v17 Scripts/. Additionally, internalJs/gridSlider.js was moved into Scripts/gridSlider.js.

V8 File V17 File Status
aosInit.js aosInit.js Carried over
ButtonModal.js ButtonModal.js Carried over
calculatorIcon.js calculatorIcon.js Carried over
calculatorInput.js calculatorInput.js Carried over
calculatorInputSmall.js calculatorInputSmall.js Carried over
calculatorInputVarRate.js calculatorInputVarRate.js Carried over
calculatorLarge.js calculatorLarge.js Carried over
calculatorSmall.js calculatorSmall.js Carried over
calculatorSmallnput.js calculatorSmallnput.js Carried over (typo preserved)
counters.js counters.js Carried over
fitVidInit.js fitVidInit.js Carried over
FixedNav.js FixedNav.js Carried over
footerScripts.js footerScripts.js Carried over
footerSlider.js footerSlider.js Carried over
footerSliderTwoCol.js footerSliderTwoCol.js Carried over
formSubmission.js formSubmission.js Carried over
googleMaps.js googleMaps.js Carried over
gridSlider.js gridSlider.js Carried over
HomePage.js HomePage.js Carried over
HomeSlider.js HomeSlider.js Carried over
lazysizes.min.js lazysizes.min.js Carried over
loan-selector/js/slideform.js loan-selector/js/slideform.js Carried over
NewsArticleList.js NewsArticleList.js Carried over
NewsFilter.js NewsFilter.js Carried over
NewsFilterPagination.js NewsFilterPagination.js Carried over
NewsWidgetDetailedSlider.js NewsWidgetDetailedSlider.js Carried over
NewsWidgetDetailedSlider4Across.js NewsWidgetDetailedSlider4Across.js Carried over
NewsWidgetSlider.js NewsWidgetSlider.js Carried over
Notifications.js Notifications.js Carried over
passive.js passive.js Carried over
picturefill.min.js picturefill.min.js Carried over
progress.js progress.js Carried over
progressCore.js progressCore.js Carried over
qrCode.js qrCode.js Carried over
QuickLinks.js QuickLinks.js Carried over
relatedArticles.js relatedArticles.js Carried over
RelatedArticlesType2.js RelatedArticlesType2.js Carried over
StaffGrid.js StaffGrid.js Carried over
stickyNav.js stickyNav.js Carried over
tabs.js tabs.js Carried over
testimonialcardSlider.js testimonialcardSlider.js Carried over
testimonialSlider.js testimonialSlider.js Carried over
testimonialSliderInner.js testimonialSliderInner.js Carried over
videoPopOut.js videoPopOut.js Carried over

2.2 New V17-Only Scripts (14 files)

These scripts were added during the v17 migration to support new features, BS5 compatibility, or improved UX:

New V17 File Purpose
calcApplyNowLink.js Calculator "Apply Now" link integration
counterLoader.js Lazy-loading wrapper for counter animations
ctaGradientToggle.js CTA gradient colour toggle (replaces inline logic)
faqAccordionScroll.js FAQ accordion auto-scroll to opened item
featureControls.js Feature toggle UI controls
formsPreventDoubleSubmit.js Umbraco Forms double-submit prevention
formsPreviousButton.js Multi-step form "Previous" button logic
formsPreviousRedirect.js Multi-step form redirect after back navigation
gridSliderConfig.js Extracted Slick slider configuration for BlockGrid
heroItem.js Hero banner interaction logic
homepageH1.js Accessibility: ensures homepage has an H1
lazyPreload.js Preload hint for lazily-loaded resources
lostYourPinForm.js "Lost your PIN" form handler
releaseNotesWidget.js Release notes widget for backoffice

2.3 Excluded: Umbraco Backoffice JS

The office/Js/ directory in v8 contained Umbraco backoffice JavaScript (TinyMCE plugins, property editors, etc.). These are not migrated -- v17 uses the new Bellissima UI with Lit-based web components, and custom backoffice extensions now live in src/Progress.CustomPropertyEditors/.


3. Client CSS Comparison

3.1 Counts

  • V8: 170 files in cssCreditUnion/
  • V17: 163 files in wwwroot/cssCreditUnion/
  • Delta: 7 files missing from v17

3.2 Missing Client CSS Files (7)

Missing File Likely Reason
1stAllianceCommunityBankStyles.css US-based client -- possibly discontinued or merged
EnfieldStyles.css Client may have merged with another CU
LeighlinStyles.css Client may have merged or was decommissioned
NorthWestStyles.css Client may have merged (common CU consolidation)
PalmerstownStyles.css Client may have merged with Lucan/South Dublin
ProgressUKStyle.css UK variant -- may now use shared ProgressIEStyle
SarsfieldStyles.css Client may have been decommissioned

Action Required

Before removing these from the v8 codebase, verify each client's status across ALL project databases (shared codebase pattern). A CSS file unused by one DB may be active in another client's deployment.

3.3 Bootstrap 5 CSS Class Migration Example

The client CSS files were updated for Bootstrap 5 class naming. Here is a real diff from ProgressIEStyle.css:

V8 (Bootstrap 4.4.1):

/* Line 1139 */
div.rounded-0 span.badge-primary, .newsboxes div.rounded-0 span.badge-primary {
    border-radius: 5px !important;
}

span.badge-primary:focus, span.badge-primary:hover {
}

V17 (Bootstrap 5.3.3):

/* Line 1139 */
div.rounded-0 span.bg-primary, .newsboxes div.rounded-0 span.bg-primary {
    border-radius: 5px !important;
}

span.bg-primary:focus, span.bg-primary:hover {
}

Key change: .badge-primary (BS4) was renamed to .bg-primary (BS5). This pattern was applied across all 163 client CSS files.


4. InternalStyleSheets (19 V8 Files)

The v8 InternalStyleSheets/ directory contained 19 component-specific CSS files. In v17, these are no longer loaded as separate files -- their styles were already embedded in CommonV2.css (10,818 lines), which is the master component stylesheet.

V8 InternalStyleSheet V17 Location
HeroItem.css Absorbed into CommonV2.css
ImageGallery.css Absorbed into CommonV2.css
Spotlights.css Absorbed into CommonV2.css
announcement.css Absorbed into CommonV2.css
announcementScroll.css Absorbed into CommonV2.css
barChart.css Absorbed into CommonV2.css
card.css Absorbed into CommonV2.css
cardGrid.css Absorbed into CommonV2.css
counters.css Absorbed into CommonV2.css
ctaCurves.css Absorbed into CommonV2.css
ctaText.css Absorbed into CommonV2.css
gridSlider.css Kept as separate content/gridSlider.css
imageListControl.css Absorbed into CommonV2.css
numberedList.css Absorbed into CommonV2.css
spotlightGridControls.css Absorbed into CommonV2.css
staffMembers.css Absorbed into CommonV2.css
stripedList.css Absorbed into CommonV2.css
testimonalCardItem.css Absorbed into CommonV2.css
videoPopOut.css Absorbed into CommonV2.css

The InternalStyleSheets/ directory itself is not present in v17. The v8 approach of loading these per-component via ClientDependency bundles was replaced by a single CommonV2.css link tag, reducing HTTP requests.


5. Vendor Libraries

The vendor directories are structurally identical between v8 and v17 (25 vendor folders each). The key version change is Bootstrap.

Vendor Library V8 Version V17 Version Notes
Bootstrap 4.4.1 5.3.3 Major upgrade: data-bs-* attributes, dropped jQuery dependency, new utility API
jQuery 3.x 3.6.0 Minor version alignment
jQuery UI 1.x 1.x Unchanged (slider widget for calculators)
Slick Carousel 1.8.x 1.8.x Unchanged
AOS (Animate on Scroll) 2.x 2.x Unchanged
Font Awesome Free 5.x 5.x Unchanged
Font Awesome Pro 5.x 5.x Unchanged (licensed)
Leaflet (maps) 1.x 1.x Unchanged
Masonry 4.x 4.x Unchanged
FriendlyCaptcha 1.x 1.x Unchanged
Fancybox (lightbox) 3.x 3.x Unchanged
fitVid 1.x 1.x Unchanged
lazySizes 5.x 5.x Unchanged
infiniteScroll 3.x 3.x Unchanged
qrCode 1.x 1.x Unchanged
Menu (1-4) Custom Custom 4 menu variants, unchanged
Ticker Custom Custom Scrolling ticker widget
Parallax Custom Custom Unchanged
Counters Custom Custom Counter animation library
Charts Custom Custom Bar/doughnut chart library
HoverIntent 1.x 1.x Unchanged
Instagram Custom Custom Instagram feed widget
jQuery Touch 1.x 1.x Unchanged
MortgageCalculatorResult Custom Custom Mortgage result display CSS
FAQ Custom Custom FAQ accordion CSS/JS

5.1 Bootstrap 5 Upgrade Impact

The Bootstrap 4 -> 5 upgrade is the most significant vendor change. Key differences:

  • Data attributes: data-toggle -> data-bs-toggle, data-target -> data-bs-target
  • Dropped jQuery: Bootstrap 5 JS is vanilla; jQuery still included for other components
  • CSS utility classes: .badge-primary -> .bg-primary, .float-left -> .float-start, .mr-* -> .me-*
  • Grid changes: No more .no-gutters; use .g-0 instead
  • Form controls: .custom-control -> .form-check

All 163 client CSS files and the master CommonV2.css were updated for these naming changes (see Reports 17 and 18 for full audit).


6. Fonts and Images

6.1 Fonts

Both versions contain the same 3 custom font files for Cairde CU:

  • content/fonts/cairdecu/Addictive-Regular.ttf
  • content/fonts/cairdecu/Addictive-Regular.woff
  • content/fonts/cairdecu/Addictive-Regular.woff2

Font Awesome webfonts are served from vendor/fontawesome/webfonts/ and vendor/fontawesome-pro/webfonts/ (unchanged).

6.2 Images

Both versions contain 173 static images in content/images/, organized by client-specific subdirectories (e.g., images/athenry/, images/clontarfcf/, images/derry/). These include:

  • SVG icons (login buttons, decorative elements, quote marks)
  • JPG/PNG backgrounds (noise textures, error pages, footer backgrounds)
  • Client-specific assets (logo overlays, app store badges)

No images were added or removed during migration. CMS-managed images (Media library) are stored in the database and served via Umbraco's media pipeline.

6.3 Core CSS

File V8 V17
css/RTE.css Present Present (unchanged)
css/umbraco-blockgrid.css N/A NEW -- Required by v17 BlockGrid rendering

7. Summary

The static assets migration is 98% complete. Key findings:

  1. JavaScript: 100% migrated (44/44), plus 14 new v17 scripts added for enhanced functionality
  2. Client CSS: 96% migrated (163/170), 7 files not carried over (likely discontinued clients)
  3. InternalStyleSheets: Successfully consolidated from 19 separate files into CommonV2.css
  4. Vendors: All 25 vendor libraries carried over; Bootstrap upgraded from 4.4.1 to 5.3.3
  5. Images/Fonts: 100% identical between v8 and v17

Remaining Actions

Priority Action Effort
P2 Verify 7 missing CSS clients are truly discontinued across all DBs 1h
P3 Consider bundling/minification pipeline for production (currently unbundled) 4h
P3 Audit vendor library versions for security patches 2h
Migration documentation by Double for Progress Credit Union