Releases: CDRH/orchid
v4.1.1 - Accessibility Fixes
This release includes further accessibility fixes, including navbar ARIA to mark the current page and unique labels for top and bottom pagination. It also fixes problems introduced with the standardization of class name and id name punctuation.
See the v4.1.1 changelog for full details.
v4.1.0 - Accessibility Remediation
This release includes many accessibility improvements including (among many, many others) use of landmark HTML elements, WCAG 2.1 compliant colors, and markup that is much better for screen readers to navigate and make sense of content.
See the v4.1.0 changelog for full details.
v4.0.0 - API v2 and faceting by nested fields
Fixed
- displays flash message if API is down, instead of pages throwing errors
- Fix removed Sprockets 4.x app/assets/config/manifest.js lines
- Adjust hierarchy of headers to meet accessibility guidelines
- pagination will only show ellipses if there is a gap
- avoiding errors when the API query fails to return a result
- better handling of date facets
- queries work with new version of API, Datura, and Elasticsearch 8.
- avoid error when paginating beyond 10,000 results
Added
- keyboard navigation for collapsible filter panels
- role=button added to anchor tags styled as a button
- buttons can be activated with spacebar
- panels displayed uncollapsed if JavaScript is not enabled
- modernizr files added to vendor directory
- more Orchid favicons and icons generated by setup
- facet selection and search button added to browse pages for long lists of
facet results - ability to facet by a nested field, filtered on the value of another nested field.
person.sex[person.role#person]will facet on thesexsubkey of the
personkey, but only for items where the value of therolesubkey ofpersonequals "person". - sanitize metadata for security and to avoid display of raw html markup
- option to not display metadata label
- methods and config options to specify paths for static media objects:
static_image(),audio_file(), andvideo_file(), specified by
static_image_pathetc. inconfig/private.yml. - support for normalized facets and translated facets
Changed
- facet_label method replaces deprecated value_label
- rails g setup is now rails g orchid_setup
- updates jquery 1.x to 3.x
- upgrades Rails to 6.1.7
- check_response method added to items_controller
- updated documentation on assets and updating modernizr
- changed instructions on how to install rails and generate a new app
- code style changes, like comments in erb format instead of html
- facet_num changed to facet_limit in config files
- facet_limit raised to 5000 by default
- facets not marked with
flags: - search_filterwill not query API - loading of assets from manifest.js has new defaults
Migration
- modify existing app's
application.js- change
//= require jqueryto//= require jquery3 - apps will continue to function with older jquery if not modified
- change
- add
errors.apiandsearch.results.errorto locale files - check items_overrides and views/items for changes related to display items when API is unavailable
- update existing apps'
app/assets/config/manifest.jsto include Sprockets 3.x
and 4.x defaults like the updated template to be copied by the generator
b90a3f4 - make sure favicon files are in app/assets/images (not in a separate /favicon folder) and change the
app/views/_favicon.erb.htmloverride to removefavicon/from the images linked in favicon_link_tag. - place vendor files within /vendor/assets.
- Raise
facet_limitif more facets are desired. Add line settingfacet_limit in the controllersif index methods have been overridden:@facet_limit = @section.present? ? SECTIONS[@section]["api_options"]["facet_limit"] : PUBLIC["api_options"]["facet_limit"] - Upgrade existing apps to use Ruby 3 and Rails 6.1.7, following the instructions here
- Make sure that data repos are up to date with latest version of Datura and (if you want to use the new API functionality) the API schema. See new schema documentation
- change facets to be compatible with new api, add nested facets to take advantage of the nested bucket aggregation functionality
- change references to
value_labelfromfacet_label, and modify or delete overrides that use this method. - Where overrides reference the facet count, make sure that they are referencing the "num" key of this hash.
- update to Elasticsearch 8.5 or later, see dev docs instructions
- See documentation on facets for facet-related changes.
- When overrides and config files are copied from Orchid and modified, update them to reflect the file in the new Orchid. Pay particular attention to
config/initializers/config.rbwhich contains code necessary for new facet functionality.
v3.1.2
v3.1.1
Fixed
- bug with locales yaml creation
- es locale file will be copied into app if Spanish requested
- thumbnail size in
public.ymlrequires quotation marks for newer psyche yaml gem
Added
- partials for browse, browse_facet, index, and search_preset header content for easier overriding
- displays language toggle options in respective languages, therefore English instead of en, Español instead of es, etc
- helper method
language_toggle_linkmoves logic for language links out of view - documentation for api connection and controller inheritance
- adds partials for easier overriding:
browse_headerbrowse_facet_headerindex_headersearch_preset_headeranalytics(head)language(head)
Changed
- language documentation clarified and expanded
- references to
APP_OPTS["languages"]changed to useall_languages
Migration
- rename
languagesandALL_LANGUAGEStoall_languagesinpublic.ymlfile
v3.1.0
Fixed
- bug with search pagination when small result set
- section sort reflects section configuration by default
Added
- search_preset functionality and documentation
- title display accommodates italics and other markup
Changed
render_overridablecalls with full path to partials"search_path"changed toroute_pathto allow overrides
Removed
- Reference to
@site_sectionwhich was no longer in use
Migration
- check overridden partials / views for
render_overridablecalls without
path to views directory- Ex:
render_overridable "items", "sort"instead ofrender_overridable "sort"
- Ex:
v3.0.3
v3.0.2
Added
- Adds more classes to html element via html_classes helper to increase granularity for styling
- merged migration.md into CHANGELOG.md
Changed
- Class beginning with section_ may have a different value than previously
- Altered documentation substantially, split into parts and augmented existing
Removed
- class row removed from
- migration.md removed
Deprecated
- site_section application helper in favor of html_classes
v3.0.1
v3.0.0
Changes
- Integrate api_bridge
- Improve pagination a11y
- Return docs from other repo
- Add IIIF image helper
- i18n improvements
- Ensure one canonical path per language
- Translate facet names
- Sort by
title_sortfield rather thantitle - Reorganize more markup into partials for more granular overriding
- Update title markup and
<h#>tags - Integrate redirection middleware library written for Lewis and Clark Journals
- Adds "sections" which re-use code across multiple routes with overridable templates
- Configure "sections" with
config/sections/(name).ymlfiles
- Configure "sections" with
- Remove facets from models and define in
config/facets.yml- Clarify options by renaming and implementing as flags
- Split Orchid routes into reusable and not
- Refactor route drawing code
- Fix specific request options overriding app-wide options
- Remove Google fonts from default templates
- Update search result design / styling
- Update generator actions
- Update documentation
- Add i18n support to item show pages metadata and facet summary boxes
- Set Orchid-wide list of Rails internal params
- Delete from API requests and link query strings
- Add skip nav link for a11y
- Make Orchid compatible with Sprockets 4 in addition to 3
- Add server-side search date filter validation
- Add fixes for deprecated/old gems to generator
- Clarify language in generator and documentation
- Update general description of Orchid in README files
- Make render_overridable check more coherent section override paths
Migration Instructions
metadata method in DisplayHelper altered so final argument is now
a keyword argument, link which defaults to true. Previously, this
was a non-keyword argument.
Provides basic support for IIIF image URLs in views with the helper iiif(partial_image_path, size: "!150,150")
config/private.yml
iiif_path must be added, see example in orchid's private.yml template
config/public.yml
app_options.media_server_diris the name of the project's directory
following the IIIF server pathapp_options.thumbnail_sizeis the width and height of the image. Use "!" to
preserve the ratio. Ex: "!200,200"app_options.languagesmust now delimit all languages used in the app, rather
than only non-default languages
config/initializers/config.rb
Add IIIF_PATH = PRIVATE["iiif_path"] to this file to make IIIF_PATH accessible to application
app/assets/config/manifest.js
Copy app/assets/config/manifest.js to same path in existing apps
Gemfile
Ensure that all Gemfile updates from the generator have been added:
gem 'sass-rails' …replaced withgem 'sassc-rails', '~> 2.1'gem 'chromedriver-helper'replaced withgem 'webdrivers'gem 'bootstrap-sass'has version constraint'~> 3.4.1'