Releases: gwu-libraries/scholarspace-hyrax
2.3.1
2.3.0
2.2.4
This release upgrades includes several Bulkrax fixes and configuration updates.
- Upgrades Bulkrax from 8.1.0 to 9.1.0 in order to benefit from fixes in Bulkrax that were preventing successful import of items that should be associated with collections. (#549, #593)
- Adds many metadata fields to the Bulkrax configuration in order to ensure that Bulkrax export includes all of these fields (#587)
- Removes colon as a delimiter for
rights_statementanddoisince these values typically contain colons. (#586) - Updates embargo dates on spec fixture ETDs to 2029
Note: This release requires running:
- database migration due to Bulkrax database updates.
bulkrax:update_status_messagesafter deployment for error messages on existing entries to display.
2.2.3
Enhancements
- Adds a Failures tab to Sidekiq by adding the
sidekiq-failuresgem (#578)
Bug Fixes
- Expands the regex matching of PDF name patterns of ETDs in order to also include Corcoran naming patterns (#576). This ensures that the
gwss:populate_etd_proquest_zipfiletask correctly finds and populates pre-existing ETDs with the name of the corresponding ProQuest zip file.
Upgrade instructions
Populate proquest_zipfile on existing ETDs:
Run the gwss:populate_etd_proquest_zipfile task. Edit one of the GwETDs and observe that proquest_zipfile is (correctly) populated.
(Optionally) Load latest ProQuest ETDs from S3
Follow the instructions at https://github.com/gwu-libraries/scholarspace-hyrax/wiki/Bulkrax-imports to download new ETDs from S3, create the Bulkrax manifest, import into GW ScholarSpace, and clean up.
2.2.2
This release includes new features to facilitate synchronizing new ProQuest ETDs from AWS S3 and loading these ETDs into GW ScholarSpace while avoiding duplicate loads.
Instructions for importing ETDs from ProQuest have been revised on the Wiki: https://github.com/gwu-libraries/scholarspace-hyrax/wiki/Bulkrax-imports
New features
ETD pipeline
- New
proquest_zipfilemetadata field on GwETD type works, which is intended to store the filename of the original ProQuest zip file - e.g.etdadmin_upload_100535.zip(#572). This field is not visible to site users, but users with edit rights can see it when editing a work. - New rake tasks:
gwss:populate_etd_proquest_zipfileThis should only need to be run once, for migration of existing GwETD works. It matches up the filename of the main PDF file on each GwETD (e.g.Anderson_gwu_0075M_16591.pdf) with the main PDF file within each ProQuest zip file in S3 (e.g.etdadmin_upload_1075322.zip)gwss:download_new_pq_zips- Downloads new (and only new) ETDs from S3, by comparing filenames in S3 withproquest_zipfilevalues on GwETD works.
- Improvements to rake tasks:
gwss:ingest_pq_etds
Technical debt
- Removes old rake tasks for ingesting Bulkrax content that are now no longer needed. (#571). Consistent with this, https://github.com/gwu-libraries/etd-loader and https://github.com/gwu-libraries/batch-loader repositories have been archived.
- Removes remnants of Travis CI (#573)
Upgrade instructions
Prerequisites
Set values in .env for:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGIONAWS_PROQUEST_ETD_BUCKET_NAME
Install new gem(s)
Run bundle install
Populate proquest_zipfile on existing ETDs:
Run the gwss:populate_etd_proquest_zipfile task. Edit one of the GwETDs and observe that proquest_zipfile is (correctly) populated.
(Optionally) Load latest ProQuest ETDs from S3
Follow the instructions at https://github.com/gwu-libraries/scholarspace-hyrax/wiki/Bulkrax-imports to download new ETDs from S3, create the Bulkrax manifest, import into GW ScholarSpace, and clean up.
2.2.1
This release includes improvements to the Bulkrax loader, a fix to the license field, and improved test setup.
Bulkrax
- Bulkrax upgraded from version 2.3 to 8.1, in order to leverage functionality for adding embargoed files.
- Rake task
gwss:ingest_pq_etdsadded for converting Proquest ETD metadata and zipped files to the format required for a Bulkrax ingest.
License field
- Previously, the license field, although required, did not display in the UI when viewing works. This has been fixed.
- The URI previously used for the "All rights reserved" license has been deprecated. Accordingly, this authority has been replaced by the string
All rights reserved. - A rake task,
gwss:replace_license_value, can be used to replace the deprecated value with the new value for those works bearing the "All rights reserved" license.
Improvements to test setup
- More comprehensive and consistent seeding of works has been added, leveraging the factories and fixtures from the Hyrax repository.
Other improvements
- The non-Ruby dependencies (ImageMagick, etc.) has been packaged as a separate Docker image, which reduces build time for changes to the application image.
- The H1 header font has been changed to reflect stakeholder input.
- The application footer has been updated for compliance with GW standards.
2.2.0
Version 2.2.0 includes new features requested by stakeholders, including an advanced search and the ability to limit results by a range of dates.
Filtering by date range (#474)
- Implements the
blacklight_range_limitgem to provide a facet for restricting catalog search results to a range of dates. - Creates an integer-valued index field from the
date_createdfield by converting (where possible) a four-digit string value representative of a year. - Where the
date_createdfield contains something other than a four-digit value, a null value is used for the year indexer. - Implements a slider facet in the UI, allowing the user to select works within a range of dates and/or to view works where the date created is
Unknown(i.e., not a four-digit year). - Patches a bug where the wrong Blacklight params were passed to the controller for the range limit search.
- Note that implementation of this feature requires a re-index of the repository.
Advanced search (#551)
- Implements the
blacklight_advanced_searchgem to provide the ability to search the repository by multiple fields.
Bug fixes
- Batch editing works from the dashboard no longer throws an error (#316).
UI changes
2.1.1
2.1.0
Version 2.1.0 is a release that included a major front-end refactoring, SSO for GW users, continuous deployment/continuous integration to the test environment, Google Scholar compliance, and more.
Enhancements this release include:
Single Sign-On
- Integration with GW's identity provider (IdP) supports single signon for both staff and non-staff GW users (#488).
- SAML metadata lookup occurs on the email address in the
uidfield of theUserrecord; an initial data migration is necessary (see below under "User account updates"). - Authenticated users with non-elevated access can view GW-only works but cannot access the ScholarSpace dashboard.
- SAML metadata lookup occurs on the email address in the
Google Scholar compliance
- Improved Google Scholar compliance which we hope will enable indexing by Google Scholar (#343)
- Reassign ETD types from
Thesis or DissertationtoMaster's ThesisorDisserationby inferring fromdegreevalue (#542) - New Google Scholar-compliant sitemap (based on
schoolie) (#343, #461) - Adds
<meta>tags in landing page HTML for ETDs only - Replaces sitemap with new sitemap which includes entries for ETDs only, and uses timestamp for
<lastmod>and PDF download link for<loc>
- Reassign ETD types from
UI improvements
- Major refactoring of home, about, terms, search pages (#473, #475, #498, #503, #522, #525), adding:
- completely new home page
- orientation/welcome language
- browse by category
- browse everything button
- browse all collections
- new styling of spotlighted collections
- new styling across all pages
- navbar improvements
- Restructuring of About page (#522)
- remove accordions from About page, except for Q&A
- Restructuring of Deposit page (#471, #478, #522)
- content edits to Deposit page
- use accordion-style Q&A
Bug fixes
Infrastructure and other technical improvements
- Continuous integration / Continuous deployment (#491, #521)
- Pushing to
mastertriggers rebuild and redeployment to https://test.scholarspace.library.gwu.edu
- Pushing to
- Gem version upgrades (#505, #494)
- Remove browse_everything mount (#499)
- Put sidekiq behind user permissions (#483)
Upgrade Instructions
Database migrations
From the app container, run RAILS_ENV=production rails db:migrate.
SAML configuration
- Generate the key and certificate:
openssl genrsa -out gwss.pem 2048 openssl req -new -key gwss.pem -out gwss.csr openssl x509 -req -days 365 -in gwss.csr -signkey gwss.pem -out gwss.crt - Move the key and certificate to the directories indicated by the
NGINX_KEY_DIRandNGINX_CERT_DIRvariables in the.envfile. - Update the
.envfile:- Add the names of the
.pemand.crtfiles created above under theSP_KEYandSP_CERTvariables. - Provide a temporary file name in the
.envfile for theIDP_CERT_PEMvariable. This file need not exist. (The app will create it if is missing.)
- Add the names of the
- Launch the application.
- Visit
https://test.scholarspace.library.gwu.edu/users/auth/saml/metadatato obtain the XML metadata, which you will need to send to your IdP before proceeding with the SSO integration. - Upon receipt from the IdP of the metadata, extract the certificate value and store it in a file in the
NGINX_CERT_DIRwith the name used in the.envfile. - Update the
.envfile with the URI's provided by the IdP for SSO and SLO. - If testing SSO with your GW email account, and if you are already a ScholarSpace user, it is recommended to run the Rake task for updating user accounts (see below) before logging in. Otherwise, your SSO login will create a new user, not connected to your previous user account.
ETD resource_type updates
- Run the
gwss:enumerate_degree_typesrake task and, observing the output, confirm that each of the listed degree names is included inconfig/etd_degree_map.yml. If there are any that are not, we will need to add toconfig/etd_degree_map.yml. Note the number of ETDs with blank degree names. - Run the
gwss:reassign_etd_resource_typesrake task and, observing the output, note the IDs of any ETDs which were not able to be reassigned due to blank degree names. - Through the UI, manually update the
degreevalues for the ETDs identified in the previous step; also make sure to update theirresource_typevalues toMaster's ThesisorDissertationas appropriate.
User account updates
- Run the
gwss:update_users_ssoRake task (withRAILS_ENV=production) to migrate metadata for GW user accounts and delete other accounts with non-elevated access.
Code diff
2.0.1
A minor release with some UI fixes, added documentation, and configuration refinements.
- Improved readability on About, Help, and Terms pages (#419)
- Patched Blacklight bug that prevented sorting on Colllections pages (#411)
- Fixed bugs in Dashboard styling (#412, #417)
- Includes Rake task to fix keywords with empty strings (#416)
- Includes detailed instructions for non-Docker development mode (#342)
- Nginx configured t support Jekyll journal sites (#465)