Releases: geoblacklight/geoblacklight
v5.0.0
Summary
This is the first official release of Geoblacklight 5, incorporating major upgrades of Ruby, Rails, Blacklight, Bootstrap, and more. This release covers changes since the end of the Stanford summer 2024 workcycle (v5.0.0-pre.alpha.9). It incorporates a large number of bug fixes and upgrades and adds support for Rails 8.
What's Changed
- Force engine_cart and template.rb builds to use propshaft by @thatbudakguy in #1538
- Update CI to use new ghrc image and solr 9.6 by @eliotjordan in #1540
- Update Contributing guide by @srappel in #1462
- Remove obsolete ViewHelperOverride by @jcoyne in #1535
- Tweaks to contributing guide by @karenmajewicz in #1542
- Use zeitwerk by @jcoyne in #1536
- Refactor a spec by @jcoyne in #1534
- fix help text popover by @dnoneill in #1544
- Add wxs id by @karenmajewicz in #1546
- #1323- Remove Email download from core by @yuntianhu in #1518
- Prefer public_send over send by @jcoyne in #1532
- Bug fix - Use ASSET_PIPELINE in asset generator to fix Docker builds by @ewlarson in #1517
- Remove unused helper method: show_help_text? by @jcoyne in #1533
- set data-bs-title for help text by @jcoyne in #1547
- Use the blacklight attributes API by @jcoyne in #1529
- Start docker rails server on port 3001 by @eliotjordan in #1549
- Remove puts in a test by @thatbudakguy in #1553
- don't add second overlay for geosearch by @dnoneill in #1560
- allow for BOUNDSOVERLAY to not be set by @dnoneill in #1558
- Convert to using css variables by @jcoyne in #1561
- Inline a mixin that is only used once by @jcoyne in #1565
- Prune unused styles by @jcoyne in #1562
- Move rules about iiif-icons out of the blacklight_overrides.scss by @jcoyne in #1564
- Configure the logo rather than overriding by @jcoyne in #1563
- Require geo_combine by @eliotjordan in #1568
- Use selenium-webdriver directly without webdrivers gem by @thatbudakguy in #1572
- Add configuration and asset generator for importmaps by @thatbudakguy in #1539
- Revert "Prune unused styles" by @eliotjordan in #1575
- overlays have same custom styling by @dnoneill in #1574
- Use docker compose Solr in CI by @eliotjordan in #1588
- Disable importmap tests until a solution is found by @thatbudakguy in #1586
- Remove config files for tools that are no longer used by @thatbudakguy in #1582
- don't allow leaflet_options to be updated by @dnoneill in #1590
- Prevent bootstrap from being imported twice by @thatbudakguy in #1593
- fix bookmarks page links by @dnoneill in #1594
- Refactor truncation for abstracts by @thatbudakguy in #1596
- Csvdownload by @hudajkhan in #1583
- Ensure the demo app builder and demo app Dockerfile use the same Ruby version by @eliotjordan in #1598
- Set the gem version to 5.0.0-alpha.10 by @thatbudakguy in #1581
- add crosshair cursor on inspectable items by @dnoneill in #1599
- fix tests, workflow and solr version by @dnoneill in #1603
- remove unnecessary z-index by @dnoneill in #1602
- Remove Carto component by @eliotjordan in #1601
- Remove the ViewerContainerComponent by @thatbudakguy in #1607
- Ensure viewers are full-width by @thatbudakguy in #1608
- Update resource type icon logic by @thatbudakguy in #1609
- Get rid of unnecessary helper override by @jcoyne in #1614
- Fix clipboard copy functionality for web services modal by @thatbudakguy in #1615
- Pin demo app solr version by @eliotjordan in #1617
- Remove solr_wrapper dependency and use docker by @eliotjordan in #1612
- Improvements to fix CI and remove unneeded rake tasks by @eliotjordan in #1619
- Remove transparency of Leaflet's attribution display by @thatbudakguy in #1621
- Update blacklight-frontend package to 8.4.0 by @thatbudakguy in #1622
- Update version to 5.0.0-alpha.11 by @thatbudakguy in #1623
- add click to wake to map by @dnoneill in #1555
- Restructure the Vite asset generator for Blacklight v8.7+ by @thatbudakguy in #1636
- Test with Ruby 3.4 by @jcoyne in #1634
- Support for Rails 8 by @jcoyne in #1637
- Remove unused SASS selector by @jcoyne in #1633
- Ensure the right JS pipeline is selected for Rake tasks by @thatbudakguy in #1640
- Set a minimum required ruby version by @thatbudakguy in #1644
- Make template builds for v5 actually point at v5 by @thatbudakguy in #1645
- Switch to using Blacklight's SkipLinksComponent by @thatbudakguy in #1643
- Remove workaround for blacklight asset pipeline issue by @thatbudakguy in #1641
- Remove/update outdated comment on leaflet assets by @thatbudakguy in #1642
New Contributors
- @yuntianhu made their first contribution in #1518
Full Changelog: v5.0.0-alpha.9...v5.0.0
v4.4.2
What's Changed
- Bump max Rails version to 7.2 in GBL 4 by @eliotjordan in #1496
- use flash.now instead of flash when rendering by @spilth in #1578
New Contributors
Full Changelog: v4.4.0...v4.4.2
v5.0.0-alpha.9
Summary
This prerelease represents the state of Geoblacklight towards the end of the Stanford summer/fall 2024 workcycle on version 5. Major changes include:
- Dropped support for Blacklight v7 and moved to v8
- Dropped support for Bootstrap v4 and moved to v5
- Tested on Rails v7.2
- Added the option to use an importmaps-based asset pipeline (used in production at Stanford on EarthWorks) by setting
ASSET_PIPELINE=importmap
when building the application - Use hotwired Stimulus and Turbo by default, and convert many of the application's javascript modules to Stimulus controllers
What's Changed
- Remove settings template for GBL v1 schema by @thatbudakguy in #1437
- Add ability to run template.rb with a branch by @eliotjordan in #1440
- Modernize the javascript and bundle everything with Vite by @thatbudakguy in #1392
- update map legend to work with setting colors by @dnoneill in #1438
- allow for image mapping by @dnoneill in #1445
- Image layer highlighting by @dnoneill in #1429
- Add docker compose option for solr only and modify Rakefile by @marlo-longley in #1450
- Build demo app in CI an push docker images by @eliotjordan in #1449
- Rebuild base image manually or on a schedule by @eliotjordan in #1455
- Build and use javascript from gem instead of npm by @eliotjordan in #1458
- Upgrade to Blacklight 8 and Bootstrap 5 by @thatbudakguy in #1441
- make layer opacity keyboard accessible, closes #1461 by @dnoneill in #1463
- don't display login link component if logged in by @dnoneill in #1470
- Remove unused jquery-related generator code by @thatbudakguy in #1476
- Use bundler.with_unbundled_env by @thatbudakguy in #1477
- Remove obsolete engine_cart option by @thatbudakguy in #1475
- don't hardcode results component by @dnoneill in #1473
- move document components to document folder by @dnoneill in #1468
- Adjust style paths so Vite aliases aren't needed by @thatbudakguy in #1478
- Revert to using
yarn link
so changes are picked up in development by @thatbudakguy in #1479 - Replaces Esri Tiled fixture by @karenmajewicz in #1487
- convert float-right to float-end by @dnoneill in #1488
- Centralize asset generation and support alternative pipelines by @thatbudakguy in #1491
- fix header to include icons by @dnoneill in #1498
- add class to make login button full width like other sidebar buttons by @peetucket in #1494
- Test Rails 7.2 in CI matrix in GBL 5 by @eliotjordan in #1497
- Remove unused Leaflet map classes by @thatbudakguy in #1499
- Refactor the Web Services modal feature tests by @thatbudakguy in #1508
- Force capybara to wait for relationships to fade in before running aXe by @thatbudakguy in #1507
- Sidebar Map - Display item geom/bbox by @ewlarson in #1485
- Use a single JS entrypoint modeled after Blacklight by @thatbudakguy in #1503
- Customizable hover by @dnoneill in #1505
- Center the search bar by @marlo-longley in #1465
- update solrconfig.xml and schema.xml by @kgjenkins in #1510
- Bump frontend package version to 5.0.0-alpha.7 by @thatbudakguy in #1513
- Publish unbundled versions of JS assets by @thatbudakguy in #1516
- Change tests to stop using NYU fixture by @thatbudakguy in #1526
- change how citations are shown by @peetucket in #1511
- Move development dependencies into the gemspec by @jcoyne in #1528
- Remove obsolete Rails CLI flags by @jcoyne in #1530
- Refactor to use casecmp? by @jcoyne in #1531
- Rewrite relative imports for importmap compatibility by @thatbudakguy in #1520
Full Changelog: v5.0.0-alpha.1...v5.0.0-alpha.9
v4.4.1
What's Changed
- Bump max Rails version to 7.2 in GBL 4 by @eliotjordan in #1496
Full Changelog: v4.4.0...v4.4.1
v3.8.1
Full Changelog: v3.8.0...v3.8.1
Adds compatibility with Rails 7.2.
v5.0.0-alpha.1
Summary
This prerelease represents work by a Stanford team and Geoblacklight collaborators to prepare the application to update to newer versions of Ruby, Rails, and Blacklight. Highlights include:
- The majority of Geoblacklight's javascript was modernized (usage of ES6+ idioms) and refactored
- A large number of partials and views (including icons) became View Components, in prep for Blacklight 8 compatibility
- Support for v2.x versions of Ruby was dropped
- Support for v6 and older Rails versions was dropped
What's Changed
- move download panel into its own component by @peetucket in #1376
- move home and search result maps to location_leaflet_map_component by @dnoneill in #1374
- Move the data dictionary show tool to its own component by @marlo-longley in #1380
- move web-services to components by @dnoneill in #1378
- rename variable for clarity by @dnoneill in #1382
- move carto link into component by @dnoneill in #1379
- Extract search results into its own view component by @marlo-longley in #1377
- move the arcgis link to its own component by @peetucket in #1384
- move citation to component by @dnoneill in #1383
- Add convertToRGB to prevent color errors by @michaelshensky in #1359
- Help Text: Include help text for all JS viewer types by @ewlarson in #1358
- update headers to be accessible by @dnoneill in #1387
- move header icons to component by @dnoneill in #1381
- Moving attribute table into own component by @hudajkhan in #1388
- add iiif drag and drop icon by @dnoneill in #1390
- Update the Gemfile by @thatbudakguy in #1389
- Add a test for WMS layer feature info by @thatbudakguy in #1393
- Componentize relations by @jmartin-sul in #1385
- Moving item/show view map container to components by @hudajkhan in #1394
- show drag and drop on all items with iiif manifest by @dnoneill in #1395
- use flash.now instead of flash when rendering by @peetucket in #1398
- remove duplicate university icons by @dnoneill in #1386
- add more specific icons for dataset docs by @dnoneill in #1391
- increase timeout for downloads by @peetucket in #1401
- move header to components by @dnoneill in #1400
- convert svgs to components by @dnoneill in #1411
- add header_icons_component tests, allow for null/missing-icons in res… by @dnoneill in #1413
- Remove 'puts' in a test by @thatbudakguy in #1422
- Simplify a component spec by @thatbudakguy in #1423
- Update testing configuration by @thatbudakguy in #1426
- Update CI versions of Ruby and Rails by @thatbudakguy in #1434
New Contributors
- @michaelshensky made their first contribution in #1359
- @jmartin-sul made their first contribution in #1385
Full Changelog: v4.4.0...v5.0.0-alpha.1
v4.4.0
Upgrade Notes
See notes for v4.4.0.rc1.
Thanks for @srappel and @ewlarson for their help with testing.
v4.4.0.rc1
New Features
Support for OpenLayers, COGs and PMTiles
COG Example
PMTiles
Full details in PR#1331
Clover IIIF Manifest Viewer
Full details in PR#1336
Baseline support for OpenIndexMaps Specification 1.0.0
Full details in PR#1233
Upgrade Notes
Complete these steps to upgrade your GeoBlacklight install from v4.1 to v4.2:
- Bump your Gemfile to:
gem "geoblacklight", "4.4.0.rc1"
and runbundle
- Vite Ruby has been adopted as a new frontend asset builder
- Add
gem "vite_rails", "~> 3.0"
to your Gemfile. - Run
bundle install
. - Review the new
base.html.erb
template - Add the
vite_client_tag
andvite_javascript_tag
entries to your localbase.html.erb
file these lines - Copy https://github.com/geoblacklight/geoblacklight/blob/main/lib/generators/geoblacklight/templates/package.json to the root of the project or update your existing package.json file.
- Copy https://github.com/geoblacklight/geoblacklight/blob/main/lib/generators/geoblacklight/templates/vite.json to
config/vite.json
. - Copy https://github.com/geoblacklight/geoblacklight/blob/main/lib/generators/geoblacklight/templates/vite.config.ts to the root of the project.
- Copy https://github.com/geoblacklight/geoblacklight/blob/main/lib/generators/geoblacklight/templates/clover.js to
app/javascript/entrypoints/clover.js
- Copy https://github.com/geoblacklight/geoblacklight/blob/main/lib/generators/geoblacklight/templates/ol.js to
app/javascript/entrypoints/ol.js
- Install the new vite javascript dependencies by running:
yarn install
- Add
config/locales/geoblacklight.en.yml
has new clipboard entries — if you have customized this file, please add them to your local filesettings.yml
has new entries for cogs and pmtiles here and here- New
dct_references_s
key/values have been added for: cogs, pmtiles, and iiif_manifests
What's Changed
- update error message and test by @the-codetrane in #1309
- Allow more recent versions of Blacklight and update CI testing matrix by @eliotjordan in #1328
- Support for OpenLayers, COGs, and PMTiles by @eliotjordan in #1331
- Add COG and PMTiles to web services modal by @eliotjordan in #1332
- Drop Faraday v1 by @ewlarson in #1335
- Use Clover for IIIF Manifests by @eliotjordan in #1336
- put geoblacklight version in a meta tag by @kgjenkins in #1337
- Add test for version tag by @eliotjordan in #1338
- Moves OpenIndexMap test fixtures to repo by @srappel in #1339
- add baseline support for OpenIndexMaps Specification 1.0.0 by @srappel in #1333
- GBL Icons: Update geoblacklight-icons.json file by @ewlarson in #1340
- update readme to point to external docs #1345 by @mradamcox in #1348
- Updates to test app generation by @eliotjordan in #1347
- Web services: add copy to clipboard feature by @ewlarson in #1341
- Bump GeoCombine dependency to v0.9 by @thatbudakguy in #1351
- Package frontend javascript as npm package by @eliotjordan in #1356
- Add Northwestern icon by @karenmajewicz in #1357
New Contributors
- @srappel made their first contribution in #1339
- @mradamcox made their first contribution in #1348
Full Changelog: v4.1.1...v4.4.0.rc1
v4.1.1
What's Changed
- Add Citation to Clipboard by @the-codetrane in #1307
- Remove development.sqlite3 file by @eliotjordan in #1311
- update OSM tile URL by @kgjenkins in #1304
- Update the name of the UC Berkeley svg icon by @eliotjordan in #1319
- use integers in index map style by @kgjenkins in #1317
New Contributors
- @the-codetrane made their first contribution in #1307
Full Changelog: v4.1.0...v4.1.1
v4.1.0
GeoBlacklight v4.1.0
New Features
New Display Note Field
GBL v4.1 includes official support for OpenGeoMetadata's Display Note field. This new field allows you to embed custom notes within the solr document to provide tips, info, warnings, or notices to users within the interface.
Full details in PR#1294
IIIF Sidebar Static Maps
A feature from the B1G/BTAA Geoportal, when IIIF or IIIF Manifest files are displayed in the default viewer, we now include a static map in the sidebar to contextualize the main item geographically.
Full details in PR#1295
Upgrade Notes
Complete these configuration steps to upgrade your GeoBlacklight install from v4.0 to v4.1:
- Bump your Gemfile to:
gem "geoblacklight", "~> 4.1"
and runbundle
- Update your
settings.yml
file for the changes listed below - Add the new display note partial to your
catalog_controller.rb
configuration
After these files have been updated, restart your Rails application server to pick up the changes.
Please note: If upgrading from a v3.X release to 4.X, please follow the detailed Upgrading to GeoBlacklight v4.0 guide.
Settings.yml
Note: Our configuration settings.yml
file now has a detailed page within GeoBlacklight's documentation site: https://geoblacklight.org/docs/configuration/settings/
We've added a few new blocks to the default settings.yml
file. The new keys and changes are listed below. Please update your local application settings.yml
file to reference the new changes.
FIELDS:
:DISPLAY_NOTE: 'gbl_displayNote_sm'
We added a new field for the v4.1 display note feature.
DISPLAY_NOTES_SHOWN:
...
This block configures the display notes enabled in your application.
RELATIONSHIPS_SHOWN:
...
This block was updated to allow parent/child, ancestor and descendant
SIDEBAR_STATIC_MAP:
...
This block controls the display of a static map in the sidebar of catalog#show pages. The map contextualizes IIIF images by showing a map and bounding geom for the current item.
CatalogController.rb
Add the new show_default_display_note
file into your catalog_controller.rb
file config.show.partials
like so:
# solr field configuration for document/show views
# This sets the metadata to display below the map viewer.
# To move metadata above the map viewer,
# remove the lines deleting and re-adding the :show partial
config.show.display_type_field = "format"
config.show.partials.delete(:show)
config.show.partials << "show_default_display_note"
config.show.partials << "show_default_viewer_container"
config.show.partials << "show_default_attribute_table"
config.show.partials << "show_default_viewer_information"
config.show.partials << :show
Locales changes
Some translation key/values were added or changed in config/locales/geoblacklight.en.yml
for this release. If you override this translation file locally, please update your file as necessary.
View the translation file diff for the complete set of changes.
What's Changed
- Update template.rb by @ewlarson in #1254
- Replace rubocop with standardrb by @eliotjordan in #1244
- Fix invalid aardvark fixtures; Add CI job to validate them going forward by @mcritchlow in #1263
- Add icon for the University of Arizona by @thatbudakguy in #1268
- add displayNote test record by @kgjenkins in #1278
- Update README.md by @dl-maura in #1276
- SVG Logo: American Geographical Society Library - UWM Libraries by @ewlarson in #1280
- add
gbl_displayNote_sm
to validation file by @rmseifried in #1282 - Remove redundant heredoc delimiter quotes by @thatbudakguy in #1287
- Add SVG icon for University of Nebraska by @thatbudakguy in #1286
- Add SVG icon for Rutgers University by @thatbudakguy in #1285
- Update GeoCombine to v0.8.0 by @thatbudakguy in #1288
- Support for new OMG Aardvark Display Note field by @ewlarson in #1294
- Add support for static sidebar maps like the BTAA Geoportal. by @ewlarson in #1295
- Relationships - Add ancestor/descendant options by @ewlarson in #1296
- Settings: prepend the new v4.1 settings.yml additions by @ewlarson in #1300
New Contributors
- @mcritchlow made their first contribution in #1263
- @dl-maura made their first contribution in #1276
Full Changelog: v4.0.0...v4.1.0