[
https://issues.apache.org/jira/browse/WW-5653?focusedWorklogId=1031139&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1031139
]
ASF GitHub Bot logged work on WW-5653:
--------------------------------------
Author: ASF GitHub Bot
Created on: 19/Jul/26 18:17
Start Date: 19/Jul/26 18:17
Worklog Time Spent: 10m
Work Description: sonarqubecloud[bot] commented on PR #1793:
URL: https://github.com/apache/struts/pull/1793#issuecomment-5016856361
## [](https://sonarcloud.io/dashboard?id=apache_struts&pullRequest=1793)
**Quality Gate passed**
Issues
 [0 New
issues](https://sonarcloud.io/project/issues?id=apache_struts&pullRequest=1793&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0 Accepted
issues](https://sonarcloud.io/project/issues?id=apache_struts&pullRequest=1793&issueStatuses=ACCEPTED)
Measures
 [0 Security
Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_struts&pullRequest=1793&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0.0% Coverage on New
Code](https://sonarcloud.io/component_measures?id=apache_struts&pullRequest=1793&metric=new_coverage&view=list)
 [1.0% Duplication on New
Code](https://sonarcloud.io/component_measures?id=apache_struts&pullRequest=1793&metric=new_duplicated_lines_density&view=list)
<!
Issue Time Tracking
-------------------
Worklog Id: (was: 1031139)
Time Spent: 40m (was: 0.5h)
> Upgrade bundled Bootstrap in sample apps from 3.3.4 to 5.3.x
> ------------------------------------------------------------
>
> Key: WW-5653
> URL: https://issues.apache.org/jira/browse/WW-5653
> Project: Struts 2
> Issue Type: Improvement
> Components: Example Applications
> Reporter: Lukasz Lenart
> Assignee: Lukasz Lenart
> Priority: Major
> Fix For: 7.3.0
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> h2. Summary
> Upgrade the bundled Bootstrap in the sample applications from the current
> *3.3.4* to the latest *5.3.x* release. Bootstrap 3.3.4 (released 2015) is
> long out of support, ships known-vulnerable assets, and predates the removal
> of the jQuery dependency in Bootstrap 5.
> h2. Current State
> * {{apps/showcase}} bundles static Bootstrap 3.3.4 assets:
> ** {{src/main/webapp/styles/bootstrap*.css}} (+ {{bootstrap-theme}})
> ** {{src/main/webapp/js/bootstrap.min.js}}
> * {{apps/rest-showcase}} bundles the same static Bootstrap 3.3.4 CSS under
> {{src/main/webapp/css/}}.
> * Assets are checked into the repo and loaded via {{<s:link>}} /
> {{<s:script>}} in the decorators (e.g.
> {{apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp}}).
> * Roughly *78 JSP files* in {{apps/showcase}} depend on Bootstrap 3 markup
> (glyphicons, {{panel-*}}, {{navbar-*}}, {{col-xs-*}}, {{btn-*}} conventions).
> h2. Motivation
> * Bootstrap 3.3.4 is unsupported and carries known XSS advisories fixed in
> later releases.
> * Bootstrap 5 *removes the jQuery dependency entirely*, which unblocks and
> simplifies the separate effort to migrate the sample apps to the framework's
> {{<s:webjar>}} support.
> * Keeps the showcase — the framework's public demo app — on a current,
> maintained UI toolkit.
> h2. Scope of Work
> # Replace bundled Bootstrap 3.3.4 assets with Bootstrap 5.3.x in
> {{apps/showcase}} and {{apps/rest-showcase}}.
> # Migrate Bootstrap 3 markup to Bootstrap 5 across all affected JSPs:
> #* {{glyphicon}} icons are removed in BS4+ — replace with an alternative
> (e.g. Bootstrap Icons, or inline SVG).
> #* {{panel-*}} → {{card-*}}.
> #* {{navbar}} markup and toggle behavior rewritten in BS5.
> #* Grid changes ({{col-xs-*}} removed, {{col-*}} breakpoints reworked).
> #* {{data-*}} JS hooks now namespaced as {{data-bs-*}}.
> # Update the decorators to drop the jQuery {{<s:script>}} include where it
> existed only to satisfy Bootstrap (Bootstrap 5 needs no jQuery). Retain
> jQuery only where the sample pages use it directly.
> # Verify all showcase pages render and interactive components (dropdowns,
> modals, collapses, tooltips) work in a real browser.
> h2. Risks / Notes
> * This is a *breaking UI migration*, not a version bump — BS3 → BS5 has no
> drop-in compatibility path. Expect changes in most showcase JSPs.
> * Coordinate with the "migrate showcase to {{<s:webjar>}} support" effort —
> dropping jQuery here changes that ticket's calculus.
> * Consider whether Bootstrap assets should be pulled via WebJars as part of
> this work rather than re-bundling static files.
> h2. Acceptance Criteria
> * No Bootstrap 3.x assets remain in {{apps/showcase}} or
> {{apps/rest-showcase}}.
> * All showcase and rest-showcase pages render correctly with Bootstrap 5.3.x.
> * Interactive Bootstrap components function without jQuery.
> * Build passes ({{mvn clean install -DskipAssembly}}) and the apps deploy and
> run.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)