Skip to content

Convert the admin and editor UI from Bootstrap 3 to Bootstrap 5.3 - #156

Open
mraible wants to merge 1 commit into
feature/oidc-loginfrom
feature/bootstrap-5
Open

Convert the admin and editor UI from Bootstrap 3 to Bootstrap 5.3#156
mraible wants to merge 1 commit into
feature/oidc-loginfrom
feature/bootstrap-5

Conversation

@mraible

@mraible mraible commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Stacked on #155 (2/3 in the stack); review only the top commit.

Converts the admin and editor UI from Bootstrap 3 to Bootstrap 5.3.8. The bootstrap form theme comes through struts2-bootstrap-plugin 6.1.0, which is Jakarta-native and emits Bootstrap 5 markup.

No functionality is removed. Visual and behavioral deltas beyond the restyle, so nothing merges unnoticed:

  • Alert banners are dismissible again: the old Bootstrap 3 close-button markup rendered broken under Bootstrap 5, and a .fade { opacity: 0 } override in roller.css (a Bootstrap 3-era leftover) made any fade show component invisible — both fixed, auto-hide after 10 seconds unchanged
  • Entries/Comments count badges on the main menu are visible pills again (a bare .badge has no background in Bootstrap 5)
  • Themed submit buttons across ~25 JSPs now use the simple theme, so button pairs (Save/Cancel, Upload/Cancel, Yes/No, the entry editor's Save as Draft/Post to Weblog) sit on one row with a primary action instead of stacking in their own form rows
  • Field help renders as opt-in Bootstrap tooltips via a tooltip.ftl template override initialised in roller.js; the stylesheet editor's button hints use native title tooltips since the simple theme has no icon slot
  • bootstrap-icons replaces glyphicons
  • The profile page shows the OIDC issuer and subject as separate read-only fields instead of the raw federated identity string

The result was audited page by page against a seeded master baseline: all 24 admin/editor pages were screenshot-compared with identical data on both sides. That comparison caught two regressions, fixed here: the entry editor's collapsible section headers rendered as blue links, and the date-picker calendar icons in the Entries/Comments sidebars wrapped below their inputs.

Restores the bootstrap form theme via struts2-bootstrap-plugin 6.1.0, which is Jakarta-native and emits Bootstrap 5 markup, and converts the JSPs and basic themes accordingly: class renames, data-bs-* attributes, navbar restructure, and bootstrap-icons in place of glyphicons. A tooltip.ftl template override emits data-bs-toggle so field help renders as opt-in Bootstrap tooltips initialised in roller.js. WebJar assets are served straight from META-INF/resources by the servlet container, so the webjars servlet is removed. The profile page shows the OIDC issuer and subject as separate read-only fields instead of the raw federated identity string.
@mraible
mraible force-pushed the feature/bootstrap-5 branch from 539f9de to 26ed950 Compare August 13, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant