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.