Skip to content

06 - View / Element Type Cross-Reference Report

Generated: 2026-02-26, updated 2026-02-27 Source views: dbl.Progress/src/www/Views/Partials/blockgrid/Components/ Source element types: v17 Umbraco API (455 element types total)


Current Status: ALL CRITICAL ISSUES RESOLVED

Metric Value
Component view files 146 (121 blockgrid + 7 blocklist + 18 SiteLayout)
Case sensitivity issues 0 (all resolved)
Naming mismatches 0 (all resolved)
Duplicate views 0 (all resolved)
Orphaned "Element" suffix views 4 removed (commit 81d4ca6); remaining are non-blocking

Resolution Summary

Issue Resolution
Case mismatches (TrustpilotWidget, videoPopOut) DONE -- renamed to match DB aliases
Naming mismatch (gridelementloanboxescompletegrideditor) DONE -- renamed to grid_element_loanboxescompletegrideditor
Data protection duplicate pairs DONE -- stubs removed, correct files retained
gridelementsubmenu duplicate DONE -- removed (grid_builtin_submenu.cshtml kept)
4 orphaned "Element" suffix views DONE -- removed (commit 81d4ca6)
Element type duplication in migration tool DONE -- 3 fix commits (09935d2, 164069f, 76a17cf)

Changes Since Original Audit

Deleted (5 files): 4 grid_element_psdataprotection*.cshtml stubs + gridelementsubmenu.cshtml

Renamed (3 files): - TrustpilotWidget.cshtml to trustpilotWidget.cshtml - videoPopOut.cshtml to videoPopout.cshtml - gridelementloanboxescompletegrideditor.cshtml to grid_element_loanboxescompletegrideditor.cshtml

New views created: Video slides, calculator types, LoanBox modes, and additional component views bringing the total from ~80 to 146.

"Element" Suffix Orphaned Views

13 files like accordionButtonElement.cshtml, counterElement.cshtml, heroElement.cshtml had no matching element type alias. 4 were confirmed orphaned and removed (commit 81d4ca6). The remaining files are either alternate renderings used by specific component patterns or candidates for future cleanup. They have no functional impact.

Section 8 (Action Items) -- Resolution Status

  • CRITICAL (3 items): ALL RESOLVED -- case sensitivity and naming mismatch fixes applied.
  • HIGH (15 items): ALL RESOLVED -- views created, renamed, or confirmed handled by parent component.
  • MEDIUM (13 "Element" suffix views): 4 removed (commit 81d4ca6). Remaining are alternate renderings with no functional impact.

How BlockGrid Component Resolution Works

In Umbraco 17 BlockGrid, each block item references an element type by alias. The rendering engine looks for a partial view at:

Views/Partials/blockgrid/Components/{elementTypeAlias}.cshtml
  • Matching is case-sensitive on Linux, case-insensitive on Windows/IIS
  • If no view exists, the block renders as empty/broken
  • Infrastructure types (layout, areawrapper, rowconfig, rowsettings, cellsettings, blocksettings) use the BlockGrid framework views and do NOT need individual component views

1. All View Files in blockgrid/Components/ (97 files)

Top-Level Component Views (97 files)

# File Name (without .cshtml) Type
1 TrustpilotWidget Component
2 _CardIcon Partial helper
3 _CardItemContent Partial helper
4 _CardText Partial helper
5 _GridLayout Layout helper
6 accordionButtonElement Component
7 accordionButtonMain Component
8 accordionControls Component
9 accordionControlsElement Component
10 anchor Component
11 announcementControls Component
12 announcementItemScrollControls Component
13 audioTagElement Component
14 barChartItem Component
15 buttonModal Component
16 buttonModalElement Component
17 buttonWidgetControl Component
18 cardGridControls Component
19 cardItem Component
20 coOrdinate Component
21 contactUsWidget Component
22 cookiesElement Component
23 counter Component
24 counterElement Component
25 ctaCurves Component
26 ctaElement Component
27 ctaText Component
28 donutChartItem Component
29 donutChartList Component
30 embedElement Component
31 facebookControls Component
32 faqElement Component
33 faqItems Component
34 faqWithSchemaList Component
35 featureControls Component
36 flipCardControls Component
37 footerListControl Component
38 gridElementLargegooglemap Component
39 gridElementPsdataprotectiondpo Component
40 gridElementPsdataprotectionname Component
41 gridElementPsdataprotectionsummarytable Component
42 gridElementPsdataprotectionweare Component
43 gridElementSocialfooter Component
44 gridElementStickysocial Component
45 grid_builtin_media Component
46 grid_builtin_quote Component
47 grid_builtin_rte Component
48 grid_builtin_submenu Component
49 grid_element_calculatorsgrideditor Component
50 grid_element_faq_accordion_home Component
51 grid_element_globaladdresscompletegrideditor Component
52 grid_element_largeleafletmap Component
53 grid_element_newscompletegrideditor Component
54 grid_element_psdataprotectiondpo Component
55 grid_element_psdataprotectionname Component
56 grid_element_psdataprotectionspecificstatements Component
57 grid_element_psdataprotectionsummarytable Component
58 grid_element_psdataprotectionweare Component
59 grid_element_services_list Component
60 grid_element_services_list_image Component
61 grid_element_testimonialcompletegrideditor Component
62 gridelementloanboxescompletegrideditor Component
63 gridelementsubmenu Component
64 gridslider Component
65 headingElement Component
66 headingItem Component
67 heroElement Component
68 heroItem Component
69 iconListOptContactInfoControl Component
70 imageGalleryControl Component
71 imageListControl Component
72 imageWithLink Component
73 imageWithLinkElement Component
74 linkListControl Component
75 linkListElement Component
76 loginElement Component
77 loginStatusElement Component
78 mainLoanBoxWidget Component
79 mediaElement Component
80 numberedListControl Component
81 parallaxImageItem Component
82 qrCodeItem Component
83 quickLinkDropDownControl Component
84 registerElement Component
85 releaseNotesWidget Component
86 rteElement Component
87 spotlightControls Component
88 spotlightGridControls Component
89 staffMemberControl Component
90 stickyNav Component
91 stripedListControl Component
92 testimonialCardItem Component
93 twitterControls Component
94 umbracoFormElement Component
95 videoFullWidth Component
96 videoPopOut Component
97 youTubeControls Component

GlobalAddress/ Subdirectory (7 files -- helper partials, not direct BlockGrid components)

# File Name
1 AddressList.cshtml
2 addressNoLables.cshtml
3 GlobalAddressWidget.cshtml
4 OpeningTimesNoLabels.cshtml
5 footerOld.cshtml
6 slider.cshtml
7 twoCol.cshtml

2. All Element Type Aliases (455 total)

By Category

Category Count Need Individual Views?
layout 62 NO - BlockGrid framework
areawrapper 134 NO - BlockGrid framework
rowconfig 26 NO - BlockGrid framework
rowsettings 14 NO - BlockGrid framework
cellsettings 14 NO - BlockGrid framework
blocksettings 14 NO - BlockGrid framework
builtin 5 YES - grid builtins (rte, media, quote, embed, submenu)
other (content) 186 YES - need component views
TOTAL 455

Infrastructure Types That Do NOT Need Views (264 types)

These use the BlockGrid framework views (_GridLayout.cshtml, etc.) and do not require individual .cshtml files:

  • 62 layout types (e.g., grid_1257_layout_fullwidth, grid_1803_layout_full, etc.)
  • 134 areawrapper types (e.g., grid_1534_areawrapper_fullwidth_0, grid_1257_areawrapper_thirds_1, etc.)
  • 26 rowconfig types (e.g., grid_1534_rowconfig_, grid_1055_rowconfig_1ColumnLayout, etc.)
  • 14 rowsettings types (e.g., grid_1055_rowsettings, grid_1257_rowsettings, etc.)
  • 14 cellsettings types (e.g., grid_1055_cellsettings, grid_1257_cellsettings, etc.)
  • 14 blocksettings types (e.g., grid_1055_blocksettings, grid_1257_blocksettings, etc.)

Builtin Types (5 types)

Alias Name
grid_builtin_embed Embedded Content
grid_builtin_media Media
grid_builtin_quote Quote
grid_builtin_rte Rich Text Editor
grid_builtin_submenu SubMenu

Content Element Types ("other" category -- 186 types)

These are the types that DO require component views:

# Alias Name
1 blockListCallToAction Block List Call to Action
2 blockListCallToActionSettings Block List Call to Action settings
3 headerContactSetting header contact settings
4 headerContact HeaderContact
5 headerFullSettings header full settings
6 headerFull HeaderFull
7 headerNew Header New
8 headerSettingsNew Header Settings new
9 headerNews Header News
10 headerNewsSettings Header News Settings
11 header Header
12 headerSettings header settings
13 mainCalculatorControls Main Calculator Controls
14 spotlightControl spotlight Control
15 staffMembersControl Staff Members Control
16 styledListControl Styled List Control
17 airRange AIR range
18 calculatorControls Calculator Controls
19 calculatorItem Calculator Item
20 calculatorItemInput Calculator Item (Input)
21 calculatorInputVarRate Calculator Item (Input) Var Rate
22 faqItems Faq Items
23 faqPickerItem Faq picker Item
24 galleryItem Gallery Item
25 commonBondItem Common Bond Item
26 InternalVideoSlide Internal Video Slide
27 pictureSlide Picture Slide
28 pictureSlideTextBox Picture Slide with Textbox
29 VimeoSlide Vimeo Slide
30 youTubeSlide You tube Slide
31 iconListControl Icon list control
32 iconListItem icon list item
33 loanBoxContactItem Loan Box Contact Item
34 loanBoxItem Loan Box Item
35 secondParagraphControl Second Paragraph Control
36 secondParagraphItem Second paragraph Item
37 newsCategoryItem News Category Item
38 spotlightControls Spotlight Controls
39 spotlightItem Spotlight Item
40 spotlightGridControls Spotlight Grid Controls
41 SpotlightGridItem Spotlight Grid Item
42 addressItem address Item
43 iconLinkItem Icon Link Item
44 LinkPicker LinkPicker
45 newsWidget news Widget
46 sliderItemMp4 slider item mp4
47 creditUnionDetails Credit Union Details
48 socialLinkItem Social Link Item
49 anchor anchor
50 barChart bar chart
51 careerWidgetControl Career Widget Control
52 careerWidgetListControl Career Widget List Control
53 donutChart Donut Chart
54 fancyVideo FancyVideo
55 footerLinks Footer Links
56 galleryImageItem gallery Image Item
57 googleMap Google Map
58 homepageSpotlight homepage Spotlight
59 sliderItem Slider Item
60 stripedList striped List
61 styledListItem Styled List Item
62 videoBreakoutItem Video Breakout Item
63 sliderItemYoutube You Tube Slide
64 accordionItem Accordion Item
65 accordionControls AccordionControls
66 announcementControls announcement Controls
67 announcementItem announcement item
68 announcementItemScroll announcement item scroll
69 announcementItemScrollControls announcement Item Scroll Controls
70 accordionButtonItem Accordion Button Item
71 accordionButtonItemMain Accordion Button Item Main
72 accordionButtonMain Accordion Button Main
73 buttonModal Button Modal
74 buttonWidgetControl Button Widget Control
75 cardItem Card Item
76 cardGridControls Card Grid Controls
77 cardGridItem Card Grid Item
78 barChartColourPickerItem Bar Chart Colour Picker Item
79 barChartColours Bar Chart Colours
80 barChartItem Bar Chart Item
81 donutChartItem Donut Chart Item
82 donutChartList Donut Chart List
83 comparsionTable Comparsion Table
84 contactUsWidget Contact Us Widget
85 counter counter
86 cTAItem CTA Item
87 ctaCurves ctaCurves
88 ctaText ctaText
89 faqControls faq Controls
90 fAQItem FAQ Item
91 faqWithSchema Faq with Schema
92 faqWithSchemaList Faq with Schema List
93 featureControls Feature Controls
94 featureItem Feature Item
95 flipCardControls Flip Card Controls
96 flipCardItem Flip Card Item
97 heroItem Hero Item
98 iconListOptContactInfoControl icon list opt contact info Control
99 iconListOptContactInfoItem icon list opt contact info item
100 imageWithLink Image With Link
101 imageGalleryControl Image Gallery Control
102 imageGalleryItem Image Gallery Item
103 footerLinkList Footer Link List
104 footerListControl Footer List Control
105 imageListControl Image List Control
106 imageListItem Image List Item
107 linkListControl Link List Control
108 linkListItem Link List Item
109 numberedListControl Numbered List Control
110 numberedListItem Numbered List Item
111 stripedListControl Striped List Control
112 stripedListItem Striped List Item
113 loanInputCTA Loan Input CTA
114 loanBoxWidgetItem Loan Box Widget Item
115 LoanBoxWidgetItemMain Loan Box Widget Item Main
116 mainLoanBoxWidget Main Loan Box Widget
117 loginStatusWidget Login Status Widget
118 loginWidget LoginWidget
119 parallaxImageItem Parallax Image Item
120 qrCodeItem Qr Code Item
121 quickLinkDropDownControl Quick Link Drop Down Control
122 releaseNotesWidget ReleaseNotesWidget
123 gridinternalvideoslide Internal Video Slide
124 PictureSlideGrid Picture Slide
125 gridslider Slider
126 splitPictureSlider Split Picture Slider
127 textSlide Text Slide
128 gridVimeoSlide Vimeo Slide Grid
129 youTubeSlideGrid Youtube Slide Grid
130 facebookControls Facebook Controls
131 instagramControls Instagram Controls
132 twitterControls Twitter Controls
133 staffMemberControl Staff Member Control
134 staffMemberItem Staff Member Item
135 coOrdinate CoOrdinate
136 stickyNav StickyNav
137 testimonialCardItem testimonial Card Item
138 trustpilotWidget TrustpilotWidget
139 youTubeControls You Tube Controls
140 audioTagElement Audio Tag Element
141 grid_element_calculatorsgrideditor Calculators Grid Editor
142 grid_element_cardcontrol Card Control
143 cookiesElement Cookies Element
144 grid_element_faq_accordion_home Faq Accordion Home
145 grid_element_gesocialfeeds Ge Social Feeds
146 grid_element_globaladdresscompletegrideditor Global Address
147 grid_element_gridsettingsmargineditor Grid Settings Margin Editor
148 grid_element_gridsettingspaddingeditor Grid Settings Padding Editor
149 headingItem Heading Item
150 grid_element_largegooglemap Large Google Map
151 grid_element_largeleafletmap Large Leaf Let Map
152 grid_element_loanboxescompletegrideditor Loan Boxes Complete Grid Editor
153 loginElement Login Element
154 loginStatusElement Login Status Element
155 grid_element_newscompletegrideditor News Complete Grid Editor
156 grid_element_psdataprotectiondpo Ps Data Protection DPO
157 grid_element_psdataprotectionname Ps Data Protection Name
158 grid_element_psdataprotectionspecificstatements Ps Data Protection Specific Statements
159 grid_element_psdataprotectionsummarytable Ps Data Protection Summary Table
160 grid_element_psdataprotectionweare Ps Data Protection We Are
161 grid_element_psfancyvideo Ps Fancy Video
162 grid_element_psstyledheading Ps Styled Heading
163 registerElement Register Element
164 grid_element_services_list Services List
165 grid_element_services_list_image Services List Image
166 grid_element_socialfooter Social Footer
167 grid_element_stickysocial Sticky Social
168 grid_element_testimonial Testimonial
169 grid_element_testimonialcompletegrideditor Testimonial Complete Grid Editor
170 grid_element_testimonialcontrol Testimonial Control
171 grid_element_testimoniallist Testimonial List
172 grid_element_testimonials Testimonials
173 grid_element_testimonialsgrideditor Testimonials Grid Editor
174 grid_element_twitter Twitter
175 umbracoFormElement Umbraco Form Element
176 videoFullWidth Video Full Width
177 videoPopout Video Popout
178 gridElementGridsettingsmargineditor Grid Element (gridSettingsMarginEditor)
179 gridElementGridsettingspaddingeditor Grid Element (gridSettingsPaddingEditor)
180 gridElementLargegooglemap Grid Element (LargeGoogleMap)
181 gridElementPsdataprotectiondpo Grid Element (psDataProtectionDPO)
182 gridElementPsdataprotectionname Grid Element (psDataProtectionName)
183 gridElementPsdataprotectionsummarytable Grid Element (psDataProtectionSummaryTable)
184 gridElementPsdataprotectionweare Grid Element (psDataProtectionWeAre)
185 gridElementSocialfooter Grid Element (SocialFooter)
186 gridElementStickysocial Grid Element (stickySocial)

3. Matched Pairs (Element Type Has a Matching View)

Exact case-sensitive matches between element type aliases and view file names:

# Element Type Alias View File Category
1 grid_builtin_media grid_builtin_media.cshtml builtin
2 grid_builtin_quote grid_builtin_quote.cshtml builtin
3 grid_builtin_rte grid_builtin_rte.cshtml builtin
4 grid_builtin_submenu grid_builtin_submenu.cshtml builtin
5 anchor anchor.cshtml other
6 faqItems faqItems.cshtml other
7 spotlightControls spotlightControls.cshtml other
8 spotlightGridControls spotlightGridControls.cshtml other
9 accordionControls accordionControls.cshtml other
10 announcementControls announcementControls.cshtml other
11 announcementItemScrollControls announcementItemScrollControls.cshtml other
12 accordionButtonMain accordionButtonMain.cshtml other
13 buttonModal buttonModal.cshtml other
14 buttonWidgetControl buttonWidgetControl.cshtml other
15 cardItem cardItem.cshtml other
16 cardGridControls cardGridControls.cshtml other
17 barChartItem barChartItem.cshtml other
18 donutChartItem donutChartItem.cshtml other
19 donutChartList donutChartList.cshtml other
20 contactUsWidget contactUsWidget.cshtml other
21 counter counter.cshtml other
22 ctaCurves ctaCurves.cshtml other
23 ctaText ctaText.cshtml other
24 faqWithSchemaList faqWithSchemaList.cshtml other
25 featureControls featureControls.cshtml other
26 flipCardControls flipCardControls.cshtml other
27 heroItem heroItem.cshtml other
28 iconListOptContactInfoControl iconListOptContactInfoControl.cshtml other
29 imageWithLink imageWithLink.cshtml other
30 imageGalleryControl imageGalleryControl.cshtml other
31 footerListControl footerListControl.cshtml other
32 imageListControl imageListControl.cshtml other
33 linkListControl linkListControl.cshtml other
34 numberedListControl numberedListControl.cshtml other
35 stripedListControl stripedListControl.cshtml other
36 mainLoanBoxWidget mainLoanBoxWidget.cshtml other
37 parallaxImageItem parallaxImageItem.cshtml other
38 qrCodeItem qrCodeItem.cshtml other
39 quickLinkDropDownControl quickLinkDropDownControl.cshtml other
40 releaseNotesWidget releaseNotesWidget.cshtml other
41 gridslider gridslider.cshtml other
42 facebookControls facebookControls.cshtml other
43 twitterControls twitterControls.cshtml other
44 staffMemberControl staffMemberControl.cshtml other
45 coOrdinate coOrdinate.cshtml other
46 stickyNav stickyNav.cshtml other
47 testimonialCardItem testimonialCardItem.cshtml other
48 youTubeControls youTubeControls.cshtml other
49 audioTagElement audioTagElement.cshtml other
50 grid_element_calculatorsgrideditor grid_element_calculatorsgrideditor.cshtml other
51 cookiesElement cookiesElement.cshtml other
52 grid_element_faq_accordion_home grid_element_faq_accordion_home.cshtml other
53 grid_element_globaladdresscompletegrideditor grid_element_globaladdresscompletegrideditor.cshtml other
54 grid_element_largeleafletmap grid_element_largeleafletmap.cshtml other
55 headingItem headingItem.cshtml other
56 loginElement loginElement.cshtml other
57 loginStatusElement loginStatusElement.cshtml other
58 grid_element_newscompletegrideditor grid_element_newscompletegrideditor.cshtml other
59 grid_element_psdataprotectiondpo grid_element_psdataprotectiondpo.cshtml other
60 grid_element_psdataprotectionname grid_element_psdataprotectionname.cshtml other
61 grid_element_psdataprotectionspecificstatements grid_element_psdataprotectionspecificstatements.cshtml other
62 grid_element_psdataprotectionsummarytable grid_element_psdataprotectionsummarytable.cshtml other
63 grid_element_psdataprotectionweare grid_element_psdataprotectionweare.cshtml other
64 grid_element_services_list grid_element_services_list.cshtml other
65 grid_element_services_list_image grid_element_services_list_image.cshtml other
66 grid_element_testimonialcompletegrideditor grid_element_testimonialcompletegrideditor.cshtml other
67 registerElement registerElement.cshtml other
68 umbracoFormElement umbracoFormElement.cshtml other
69 videoFullWidth videoFullWidth.cshtml other
70 gridElementLargegooglemap gridElementLargegooglemap.cshtml other
71 gridElementPsdataprotectiondpo gridElementPsdataprotectiondpo.cshtml other
72 gridElementPsdataprotectionname gridElementPsdataprotectionname.cshtml other
73 gridElementPsdataprotectionsummarytable gridElementPsdataprotectionsummarytable.cshtml other
74 gridElementPsdataprotectionweare gridElementPsdataprotectionweare.cshtml other
75 gridElementSocialfooter gridElementSocialfooter.cshtml other
76 gridElementStickysocial gridElementStickysocial.cshtml other

Total exact matches: 76 (4 builtin + 72 other)


4. Element Types WITHOUT a Matching View (MISSING VIEWS)

4a. Infrastructure Types -- No Views Needed (264 types)

These are handled by the BlockGrid framework and do NOT need individual view files:

  • 62 layout types (grid_NNNN_layout_*)
  • 134 areawrapper types (grid_NNNN_areawrapper_*)
  • 26 rowconfig types (grid_NNNN_rowconfig_*)
  • 14 rowsettings types (grid_NNNN_rowsettings)
  • 14 cellsettings types (grid_NNNN_cellsettings)
  • 14 blocksettings types (grid_NNNN_blocksettings)

4b. Builtin Type Missing View (1 type)

Alias Name Notes
grid_builtin_embed Embedded Content MISSING -- no grid_builtin_embed.cshtml (but embedElement.cshtml exists -- possible mismatch)

4c. Settings/Config Element Types -- Likely No Views Needed (10 types)

These are BlockList settings types used as block settings, not rendered directly:

# Alias Name Reasoning
1 blockListCallToActionSettings Block List Call to Action settings Settings type for blockListCallToAction
2 headerContactSetting header contact settings Settings for headerContact
3 headerFullSettings header full settings Settings for headerFull
4 headerSettingsNew Header Settings new Settings for headerNew
5 headerNewsSettings Header News Settings Settings for headerNews
6 headerSettings header settings Settings for header

4d. Nested/Child Element Types -- Rendered by Parent, Likely No Individual View Needed (59 types)

These are nested content items used inside parent controls (via BlockList properties). They are typically iterated and rendered within the parent view, not as standalone BlockGrid blocks:

# Alias Name Parent Context
1 airRange AIR range Used inside calculatorInputVarRate
2 calculatorItem Calculator Item Used inside calculatorControls/mainCalculatorControls
3 calculatorItemInput Calculator Item (Input) Used inside calculatorControls
4 calculatorInputVarRate Calculator Item (Input) Var Rate Used inside calculatorControls
5 faqPickerItem Faq picker Item Used inside faq lists
6 galleryItem Gallery Item Used inside gallery controls
7 commonBondItem Common Bond Item Used inside google maps
8 InternalVideoSlide Internal Video Slide Used inside slider controls
9 pictureSlide Picture Slide Used inside slider controls
10 pictureSlideTextBox Picture Slide with Textbox Used inside slider controls
11 VimeoSlide Vimeo Slide Used inside slider controls
12 youTubeSlide You tube Slide Used inside slider controls
13 iconListControl Icon list control Rendered within parent
14 iconListItem icon list item Used inside iconListControl
15 loanBoxContactItem Loan Box Contact Item Used inside loan box controls
16 loanBoxItem Loan Box Item Used inside mainLoanBoxWidget
17 secondParagraphControl Second Paragraph Control Used inside loanBoxItem
18 secondParagraphItem Second paragraph Item Used inside secondParagraphControl
19 newsCategoryItem News Category Item Used inside news controls
20 spotlightItem Spotlight Item Used inside spotlightControls
21 SpotlightGridItem Spotlight Grid Item Used inside spotlightGridControls
22 addressItem address Item Used inside footer/contact
23 iconLinkItem Icon Link Item Used inside link lists
24 LinkPicker LinkPicker Used inside footer
25 sliderItemMp4 slider item mp4 Used inside slider
26 creditUnionDetails Credit Union Details Used inside google maps
27 socialLinkItem Social Link Item Used inside footer
28 barChart bar chart Possible duplicate of barChartItem
29 donutChart Donut Chart Possible duplicate of donutChartItem
30 galleryImageItem gallery Image Item Used inside imageGalleryControl
31 sliderItem Slider Item Used inside slider controls
32 stripedList striped List Possibly used inside stripedListControl
33 styledListItem Styled List Item Used inside styledListControl
34 videoBreakoutItem Video Breakout Item Used inside video controls
35 sliderItemYoutube You Tube Slide Used inside slider controls
36 accordionItem Accordion Item Used inside accordionControls
37 announcementItem announcement item Used inside announcementControls
38 announcementItemScroll announcement item scroll Used inside announcementItemScrollControls
39 accordionButtonItem Accordion Button Item Used inside accordionButtonMain
40 accordionButtonItemMain Accordion Button Item Main Used inside accordionButtonMain
41 cardGridItem Card Grid Item Used inside cardGridControls
42 barChartColourPickerItem Bar Chart Colour Picker Item Used inside barChartItem
43 barChartColours Bar Chart Colours Used inside barChartItem
44 featureItem Feature Item Used inside featureControls
45 flipCardItem Flip Card Item Used inside flipCardControls
46 iconListOptContactInfoItem icon list opt contact info item Used inside iconListOptContactInfoControl
47 imageGalleryItem Image Gallery Item Used inside imageGalleryControl
48 footerLinkList Footer Link List Used inside footer
49 imageListItem Image List Item Used inside imageListControl
50 linkListItem Link List Item Used inside linkListControl
51 numberedListItem Numbered List Item Used inside numberedListControl
52 stripedListItem Striped List Item Used inside stripedListControl
53 loanBoxWidgetItem Loan Box Widget Item Used inside mainLoanBoxWidget
54 LoanBoxWidgetItemMain Loan Box Widget Item Main Used inside mainLoanBoxWidget
55 staffMemberItem Staff Member Item Used inside staffMemberControl
56 faqWithSchema Faq with Schema Used inside faqWithSchemaList
57 fAQItem FAQ Item Used inside faqControls
58 homepageSpotlight homepage Spotlight Used inside spotlight controls
59 newsWidget news Widget Rendered inline

4e. Content Element Types That NEED Views But Are MISSING (40 types)

These appear to be top-level BlockGrid content blocks or standalone components that should have their own views:

# Alias Name Priority Notes
1 blockListCallToAction Block List Call to Action HIGH Top-level CTA block
2 headerContact HeaderContact HIGH Header component
3 headerFull HeaderFull HIGH Header component
4 headerNew Header New HIGH Header component
5 headerNews Header News HIGH Header component
6 header Header HIGH Header component
7 mainCalculatorControls Main Calculator Controls HIGH Top-level calculator
8 spotlightControl spotlight Control MEDIUM Possibly old version of spotlightControls
9 staffMembersControl Staff Members Control MEDIUM Different from staffMemberControl (plural vs singular)
10 styledListControl Styled List Control MEDIUM Top-level list control
11 calculatorControls Calculator Controls HIGH Top-level calculator
12 careerWidgetControl Career Widget Control MEDIUM Top-level widget
13 careerWidgetListControl Career Widget List Control MEDIUM Top-level widget
14 fancyVideo FancyVideo MEDIUM Standalone video component
15 footerLinks Footer Links MEDIUM Footer component
16 googleMap Google Map HIGH Standalone map component
17 comparsionTable Comparsion Table MEDIUM Standalone table component
18 cTAItem CTA Item HIGH CTA block
19 faqControls faq Controls MEDIUM Top-level FAQ
20 loanInputCTA Loan Input CTA HIGH CTA block
21 loginStatusWidget Login Status Widget MEDIUM Widget
22 loginWidget LoginWidget MEDIUM Widget
23 gridinternalvideoslide Internal Video Slide MEDIUM Grid slider slide
24 PictureSlideGrid Picture Slide MEDIUM Grid slider slide
25 splitPictureSlider Split Picture Slider MEDIUM Standalone slider
26 textSlide Text Slide MEDIUM Grid slider slide
27 gridVimeoSlide Vimeo Slide Grid MEDIUM Grid slider slide
28 youTubeSlideGrid Youtube Slide Grid MEDIUM Grid slider slide
29 instagramControls Instagram Controls LOW Social embed
30 grid_element_cardcontrol Card Control HIGH Grid content element
31 grid_element_gesocialfeeds Ge Social Feeds LOW Social embed
32 grid_element_gridsettingsmargineditor Grid Settings Margin Editor LOW Settings editor (may not render)
33 grid_element_gridsettingspaddingeditor Grid Settings Padding Editor LOW Settings editor (may not render)
34 grid_element_largegooglemap Large Google Map HIGH Map component
35 grid_element_loanboxescompletegrideditor Loan Boxes Complete Grid Editor HIGH Loan component
36 grid_element_psfancyvideo Ps Fancy Video MEDIUM Video component
37 grid_element_psstyledheading Ps Styled Heading MEDIUM Heading component
38 grid_element_socialfooter Social Footer LOW Social embed
39 grid_element_stickysocial Sticky Social LOW Social embed
40 grid_element_testimonial Testimonial MEDIUM Testimonial component
41 grid_element_testimonialcontrol Testimonial Control MEDIUM Testimonial component
42 grid_element_testimoniallist Testimonial List MEDIUM Testimonial component
43 grid_element_testimonials Testimonials MEDIUM Testimonial component
44 grid_element_testimonialsgrideditor Testimonials Grid Editor MEDIUM Testimonial component
45 grid_element_twitter Twitter LOW Social embed
46 videoPopout Video Popout MEDIUM Video component
47 gridElementGridsettingsmargineditor Grid Element (gridSettingsMarginEditor) LOW Settings editor duplicate
48 gridElementGridsettingspaddingeditor Grid Element (gridSettingsPaddingEditor) LOW Settings editor duplicate

Note on categorization: The split between "nested/child" (4d) and "needs views" (4e) is a best-effort analysis. Some items in 4d may actually appear as direct BlockGrid blocks if the migration tool placed them at the top level. Items in 4e labelled as grid slider slides (gridinternalvideoslide, PictureSlideGrid, etc.) might be rendered by the parent gridslider view. Verify against actual content data.


5. View Files WITHOUT a Matching Element Type (ORPHANED VIEWS)

These .cshtml files exist in the Components directory but no element type alias matches them exactly:

# View File Likely Purpose Recommendation
1 _CardIcon.cshtml Helper partial (underscore prefix) KEEP - called by cardItem/cardGridControls
2 _CardItemContent.cshtml Helper partial (underscore prefix) KEEP - called by cardItem/cardGridControls
3 _CardText.cshtml Helper partial (underscore prefix) KEEP - called by cardItem/cardGridControls
4 _GridLayout.cshtml BlockGrid layout rendering helper KEEP - used by BlockGrid framework
5 accordionButtonElement.cshtml No matching alias INVESTIGATE - see near-match in Section 6
6 accordionControlsElement.cshtml No matching alias INVESTIGATE - see near-match in Section 6
7 buttonModalElement.cshtml No matching alias INVESTIGATE - duplicate of buttonModal.cshtml?
8 counterElement.cshtml No matching alias INVESTIGATE - duplicate of counter.cshtml?
9 ctaElement.cshtml No matching alias INVESTIGATE - possibly for cTAItem?
10 embedElement.cshtml No matching alias INVESTIGATE - possibly for grid_builtin_embed?
11 faqElement.cshtml No matching alias INVESTIGATE - possibly for faqControls or fAQItem?
12 headingElement.cshtml No matching alias INVESTIGATE - duplicate of headingItem.cshtml?
13 heroElement.cshtml No matching alias INVESTIGATE - duplicate of heroItem.cshtml?
14 imageWithLinkElement.cshtml No matching alias INVESTIGATE - duplicate of imageWithLink.cshtml?
15 linkListElement.cshtml No matching alias INVESTIGATE - duplicate of linkListControl.cshtml?
16 mediaElement.cshtml No matching alias INVESTIGATE - possibly for grid_builtin_media?
17 rteElement.cshtml No matching alias INVESTIGATE - possibly for grid_builtin_rte?
18 gridelementloanboxescompletegrideditor.cshtml No exact match INVESTIGATE - see near-match in Section 6
19 gridelementsubmenu.cshtml No exact match INVESTIGATE - possibly old name for grid_builtin_submenu?
20 TrustpilotWidget.cshtml Case mismatch with trustpilotWidget CASE MISMATCH - see Section 6
21 videoPopOut.cshtml Case mismatch with videoPopout CASE MISMATCH - see Section 6

Total orphaned views: 21 (4 helper partials to keep + 2 case mismatches + 15 to investigate)


6. Near-Matches (Naming Convention Conflicts)

6a. Case Sensitivity Mismatches

These will work on Windows/IIS but WILL BREAK on Linux deployments:

# Element Alias View File Difference
1 trustpilotWidget TrustpilotWidget.cshtml t vs T (first letter)
2 videoPopout videoPopOut.cshtml o vs O (in "Out")

6b. Underscore/Naming Convention Differences

# Element Alias View File Difference
1 grid_element_loanboxescompletegrideditor gridelementloanboxescompletegrideditor.cshtml Underscores removed (grid_element_ vs gridelement)

6c. "Element" Suffix Pattern -- Views That Appear to Be Alternate Renderings

Several view files have an Element suffix that doesn't match any alias. These may be alternative views from a different migration approach or for non-grid (BlockList) rendering:

# View File Likely Intended Alias Existing Exact-Match View
1 accordionButtonElement.cshtml accordionButtonMain? accordionButtonMain.cshtml exists
2 accordionControlsElement.cshtml accordionControls? accordionControls.cshtml exists
3 buttonModalElement.cshtml buttonModal? buttonModal.cshtml exists
4 counterElement.cshtml counter? counter.cshtml exists
5 ctaElement.cshtml cTAItem? No exact match
6 embedElement.cshtml grid_builtin_embed? No exact match
7 faqElement.cshtml faqControls? No exact match
8 headingElement.cshtml headingItem? headingItem.cshtml exists
9 heroElement.cshtml heroItem? heroItem.cshtml exists
10 imageWithLinkElement.cshtml imageWithLink? imageWithLink.cshtml exists
11 linkListElement.cshtml linkListControl? linkListControl.cshtml exists
12 mediaElement.cshtml grid_builtin_media? grid_builtin_media.cshtml exists
13 rteElement.cshtml grid_builtin_rte? grid_builtin_rte.cshtml exists

6d. Duplicate Element Types (grid_element_ vs gridElement patterns)

The migration tool created some element types in two naming patterns. Both aliases exist in the API:

grid_element_ alias gridElement alias View for grid_element_ View for gridElement
grid_element_psdataprotectiondpo gridElementPsdataprotectiondpo YES YES
grid_element_psdataprotectionname gridElementPsdataprotectionname YES YES
grid_element_psdataprotectionsummarytable gridElementPsdataprotectionsummarytable YES YES
grid_element_psdataprotectionweare gridElementPsdataprotectionweare YES YES
grid_element_socialfooter gridElementSocialfooter NO YES
grid_element_stickysocial gridElementStickysocial NO YES
grid_element_largegooglemap gridElementLargegooglemap NO YES
grid_element_gridsettingsmargineditor gridElementGridsettingsmargineditor NO NO
grid_element_gridsettingspaddingeditor gridElementGridsettingspaddingeditor NO NO
grid_element_loanboxescompletegrideditor (no gridElement alias) NO gridelementloanboxescompletegrideditor.cshtml (wrong name)

7. Summary Statistics

Metric Count
Total element types 455
Infrastructure types (no view needed) 264
Builtin types 5
Content element types 186
Exact view matches 76
Element types needing views (estimated missing) ~48
Settings types (probably no view needed) 6
Nested/child types (probably no view needed) ~59
Content types genuinely needing missing views ~48
Total view files 97
Helper partials (underscore prefix) 4
Orphaned views (no matching element type) 17
Case mismatches (work on Windows, break on Linux) 2
Naming convention mismatches 1

8. Action Items -- Resolution Status

CRITICAL -- Case Sensitivity Fixes: DONE

# Action Resolution
1 Rename TrustpilotWidget.cshtml to trustpilotWidget.cshtml DONE (commit 65aace9)
2 Rename videoPopOut.cshtml to videoPopout.cshtml DONE (commit 65aace9)
3 Rename gridelementloanboxescompletegrideditor.cshtml to grid_element_loanboxescompletegrideditor.cshtml DONE (commit 65aace9)

HIGH -- Missing Views: ALL RESOLVED

All high-priority views have been created or resolved. The 146 total component views (121 blockgrid + 7 blocklist + 18 SiteLayout) cover all content element types in use.

Key resolutions: - loanInputCTA.cshtml -- CREATED - grid_element_loanboxescompletegrideditor.cshtml -- RENAMED from gridelement variant - Video slide views (youTubeSlide, vimeoSlide, internalVideoSlide) -- CREATED - Calculator views -- FULLY IMPLEMENTED (no longer stubs) - Header types -- rendered via page templates, not BlockGrid component views (no separate views needed) - Settings editor element types (gridSettingsMarginEditor/gridSettingsPaddingEditor) -- excluded from element type creation in migration tool fix; no views needed - Duplicate grid_element_* types -- eliminated on fresh migration runs (migration tool fix)

MEDIUM -- Orphaned "Element" Suffix Views: PARTIALLY RESOLVED

4 orphaned "Element" suffix views removed (commit 81d4ca6). The remaining views are either alternate renderings used by specific component patterns or candidates for future cleanup during post-launch maintenance. They have no functional impact -- they are extra files that are not loaded at runtime.

LOW -- Duplicate Element Types: DONE

Migration tool fixed (3 commits: 09935d2, 164069f, 76a17cf). Fresh migration runs no longer create duplicate element types. The grid_element_* / gridElement* naming conflict is eliminated at the source.


9. Grid Slider Slide Types -- Special Case

The gridslider element type has a view (gridslider.cshtml). The following slide types are used within the slider via its slides BlockList property. If gridslider.cshtml iterates and renders them inline, they do NOT need separate views. If it uses Html.GetBlockGridItemAreaHtmlAsync() or similar, they DO need views:

Slide Type Alias Name
gridinternalvideoslide Internal Video Slide
PictureSlideGrid Picture Slide
textSlide Text Slide
gridVimeoSlide Vimeo Slide Grid
youTubeSlideGrid Youtube Slide Grid

Action: Check gridslider.cshtml to determine how slides are rendered.


10. Duplicate Element Type Pairs (grid_element_ vs gridElement)

The following element types appear to be duplicates created by different stages of the migration. Content may use one or both patterns. Both should have views until content is audited:

grid_element_ alias gridElement alias Has Both Views?
grid_element_psdataprotectiondpo gridElementPsdataprotectiondpo YES
grid_element_psdataprotectionname gridElementPsdataprotectionname YES
grid_element_psdataprotectionsummarytable gridElementPsdataprotectionsummarytable YES
grid_element_psdataprotectionweare gridElementPsdataprotectionweare YES
grid_element_socialfooter gridElementSocialfooter NO -- missing grid_element_socialfooter.cshtml
grid_element_stickysocial gridElementStickysocial NO -- missing grid_element_stickysocial.cshtml
grid_element_largegooglemap gridElementLargegooglemap NO -- missing grid_element_largegooglemap.cshtml
grid_element_gridsettingsmargineditor gridElementGridsettingsmargineditor NO -- neither has a view
grid_element_gridsettingspaddingeditor gridElementGridsettingspaddingeditor NO -- neither has a view
Migration documentation by Double for Progress Credit Union