Repository navigation
Conversation
Integrate search controls with Views, support Facets 3, and move legacy presentation into an optional Olivero compatibility module. Add upgrade handling, instance-scoped AJAX navigation, defensive query parsing, documentation, and regression coverage.
|
I briefly tested this on an existing codebase with a theme other than Olivero. I can say that:
I could probably deploy this right now and be happy. |
|
Heads-up from the islandora_dxpr 1.0.0 sprint (Islandora/islandora_dxpr#25): Islandora-Devops/islandora-starter-site#257 (branch
So sprint testers on Islandora-Devops/islandora-starter-site#257 aren't exercising what this PR will ship. The plan: review and merge this PR, tag a release (2.5.0, given the |
What does this Pull Request do?
This PR modernizes Advanced Search for Drupal 10.3/11 and Facets 3, adds View-integrated search controls, and extracts the module's legacy presentation layer into a new optional
advanced_search_oliverosubmodule. Existing Olivero installations receive the compatibility submodule automatically through a post-update hook, while other themes can style the base module's semantic markup without inheriting Olivero-specific CSS and form alterations.For new implementations, Advanced Search controls can now live inside the Search API View that owns the results. This keeps the search form, exposed facets, result toolbar, and AJAX updates within one View replacement boundary. Legacy block plugins remain available for existing configurations.
The resulting responsibility boundary is clearer: the base Advanced Search module owns search behavior and semantic markup, the optional Olivero submodule preserves the historical Olivero presentation, and other themes own their own layout, typography, color, and component presentation.
Related GitHub Issue:
Other Relevant Links:
What's new?
Presentation extraction and upgrade compatibility
advanced_search_oliverosubmodule.advanced_search_oliverowhen Olivero is already installed, protecting existing sites from an unexpected presentation regression.Facets 3 and platform compatibility
View-integrated search controls
Adds two configurable Views header-area plugins:
The View-integrated handlers are preferred for new sites. Existing Advanced Search form and pager block plugins remain available for upgrades and layouts that still require separate blocks.
AJAX and navigation behavior
Query and service improvements
Dependencies and upgrade considerations
No new contributed module dependency is introduced.
Existing sites can continue using their current Advanced Search blocks. New sites must add the new area handlers to the appropriate View headers to use the integrated experience.
The minimum supported platform changes to:
Drupal 8 and Drupal 9 are no longer supported by this branch.
How should this be tested?
Automated testing
The following targeted tests have been run on Drupal 11.4 with PHP 8.4:
The GitHub Actions test matrix should also complete successfully.
Olivero upgrade testing
drush updb.advanced_search_oliverois enabled automatically.View-integrated testing
header of a Search API View.
Documentation Status
README.mddocuments:modules/advanced_search_olivero/README.mddocuments the compatibilitysubmodule.
configuration and presentation.
Additional Notes:
This PR provides semantic markup and accessible interaction foundations, but
presentation and final color-contrast decisions remain the active theme's
responsibility.
The View handlers are intentionally additive. They allow the Starter Site to
reduce the number of separately placed blocks without forcing existing sites to
rebuild their search layouts immediately.
Interested parties