Skip to content

Islandora dxpr starter refresh - #2

Merged
joecorall merged 8 commits into
1.xfrom
islandora-dxpr-starter-refresh
Aug 5, 2026
Merged

joecorall merged 8 commits into
1.xfrom
islandora-dxpr-starter-refresh

Conversation

@joecorall

@joecorall joecorall commented Aug 4, 2026 •

Copy link
Copy Markdown
Member

What does this Pull Request do?

This PR turns Islandora DXPR into the reusable presentation layer for the refreshed Islandora Starter Site: a polished, responsive foundation for collection browsing, repository search, item records, metadata, and media viewers.

It addresses the Roadmap priorities of accessibility and ease of adoption while preserving a clear responsibility boundary: the theme owns presentation and progressive enhancement; modules own search behavior and business logic; Starter Site configuration owns Views, facets, blocks, Contexts, and display assembly.

What's new?

Reusable defaults and customization

  • Adds source-controlled clean-install defaults for typography, colors, spacing, cards, search controls, metadata, facets, and viewers.
  • Uses Ancizar Serif with a neutral Islandora-inspired palette: white body content with #fafafa header and footer surfaces.
  • Ships the Islandora logo and favicon.
  • Preserves DXPR’s administrative customization model so institutions can change colors, typography, logo, favicon, header, and footer without editing theme source.
  • Adds a setting for presenting results-per-page choices as a compact dropdown—the default—or visible links.
  • Supports Drupal 10.3+ and Drupal 11 without introducing another frontend build system.

Navigation and page structure

  • Implements a responsive <logo> <menu> <search> header with an icon-based repository search that expands on desktop.
  • Uses native navigation-list and button semantics while preserving DXPR dropdown behavior and current-page indication.
  • Improves keyboard focus, tooltips, skip navigation, landmarks, responsive behavior, and reduced-motion support.
  • Suppresses empty breadcrumbs and empty full-width region wrappers without hiding meaningful lazy-built content.
  • Reduces page-title height and unnecessary above-the-fold space.

Discovery experience

  • Polishes repository and collection search with:
    • inline Advanced Search conditions on wider screens;
    • accessible add/remove controls and Bootstrap tooltips;
    • responsive facet cards, checkboxes, searchable-facet expansion controls, range widgets, selected-filter summaries, and mobile Show/Hide filters;
    • a toolbar ordered as result summary, sort, results per page, and list/grid;
    • useful sort choices without “relevance ascending”;
    • pagination at the bottom of results instead of duplicated in the toolbar;
    • progressive enhancement with ordinary links and navigation retained as fallbacks.
  • Adds responsive list and grid result presentations with consistent scan order, spacing, thumbnails, titles, resource type, date, contributors, collection
    context, descriptions, and matching text.
  • Adds polished collection cards and a repository-wide search call to action.
  • Styles Views Exposed Filters Summary output as removable chips while leaving selected-state and AJAX behavior in maintained modules.

Item records and media

  • Styles the Starter Site’s single-table metadata display, linked values, citations, OAI-PMH links, related objects, and collection context.
  • Improves responsive presentation for OpenSeadragon, Mirador, PDF.js, audio, video, newspaper, and source-media regions.
  • Avoids noisy filename-derived thumbnail alternative text while preserving authored alternatives.
  • Adds forced-colors and print fallbacks.

Engineering and compatibility

  • Organizes Twig templates into Bootstrap5-style block, content, field, form, layout, navigation, and views directories.
  • Adds Drupal behaviors using once() attachment and cleanup for tooltips, header search, mobile filters, and results-per-page navigation.
  • Expands functional coverage for installation defaults, libraries, templates, form alterations, toolbar variants, navigation state, empty regions, and
    progressive-enhancement hooks.
  • No new direct Composer dependency is introduced. Bootstrap JavaScript is supplied through the existing DXPR/Bootstrap5 dependency chain.

Configuration boundaries

This repository intentionally does not ship Starter Site block placements, Views, facets, Search API fields, Contexts, or entity display configuration. Those
belong in the Starter Site companion PR.

Query construction, AJAX View ownership, and browser-history behavior remain responsibilities of Advanced Search. The theme consumes its semantic markup and scoped navigation API, with normal navigation as a fallback.

Views Bootstrap, Facets 3, Better Exposed Filters, Facets Searchbox Widget, and Views Exposed Filters Summary are assembled by Starter Site configuration
rather than becoming hard theme dependencies.

Clean-install settings do not overwrite an existing site’s saved theme configuration.

@joecorall
joecorall marked this pull request as ready for review August 5, 2026 15:44
@joecorall
joecorall merged commit 71b993c into 1.x Aug 5, 2026
3 checks passed
@joecorall
joecorall deleted the islandora-dxpr-starter-refresh branch August 5, 2026 15:44
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