Skip to content

Releases: CDRH/orchid

v4.1.1 - Accessibility Fixes

29 Apr 14:15
ff17527

Choose a tag to compare

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

27 Jan 19:45

Choose a tag to compare

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

06 Dec 04:47

Choose a tag to compare

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 the sex subkey of the
    person key, but only for items where the value of the role subkey of person equals "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(), and video_file(), specified by
    static_image_path etc. in config/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_filter will not query API
  • loading of assets from manifest.js has new defaults

Migration

  • modify existing app's application.js
    • change //= require jquery to //= require jquery3
    • apps will continue to function with older jquery if not modified
  • add errors.api and search.results.error to 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.js to 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.html override to remove favicon/ from the images linked in favicon_link_tag.
  • place vendor files within /vendor/assets.
  • Raise facet_limit if more facets are desired. Add line setting facet_limit in the controllers if 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_label from facet_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.rb which contains code necessary for new facet functionality.

v3.1.2

31 May 17:57

Choose a tag to compare

Changed

  • Relax Rails version constraint to not restrict to a single minor release of Rails (e.g. 5.2.x)

v3.1.1

17 Nov 21:02

Choose a tag to compare

Fixed

  • bug with locales yaml creation
  • es locale file will be copied into app if Spanish requested
  • thumbnail size in public.yml requires 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_link moves logic for language links out of view
  • documentation for api connection and controller inheritance
  • adds partials for easier overriding:
    • browse_header
    • browse_facet_header
    • index_header
    • search_preset_header
    • analytics (head)
    • language (head)

Changed

  • language documentation clarified and expanded
  • references to APP_OPTS["languages"] changed to use all_languages

Migration

  • rename languages and ALL_LANGUAGES to all_languages in public.yml file

v3.1.0

03 Aug 19:43
107f473

Choose a tag to compare

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_overridable calls with full path to partials
  • "search_path" changed to route_path to allow overrides

Removed

  • Reference to @site_section which was no longer in use

Migration

  • check overridden partials / views for render_overridable calls without
    path to views directory
    • Ex: render_overridable "items", "sort" instead of render_overridable "sort"

v3.0.3

12 May 18:07
049942a

Choose a tag to compare

bug with search pagination

v3.0.2

11 May 19:46
c74856e

Choose a tag to compare

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

30 Oct 20:40
a3ade15

Choose a tag to compare

Fixes date searching bug and incorrect locale string path

v3.0.0

25 Oct 21:53
aad542d

Choose a tag to compare

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_sort field rather than title
  • 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).yml files
  • 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_dir is the name of the project's directory
    following the IIIF server path
  • app_options.thumbnail_size is the width and height of the image. Use "!" to
    preserve the ratio. Ex: "!200,200"
  • app_options.languages must 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 with gem 'sassc-rails', '~> 2.1'
  • gem 'chromedriver-helper' replaced with gem 'webdrivers'
  • gem 'bootstrap-sass' has version constraint '~> 3.4.1'