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
uid
field of theUser
record; 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 Dissertation
toMaster's Thesis
orDisseration
by inferring fromdegree
value (#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
master
triggers 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_DIR
andNGINX_CERT_DIR
variables in the.env
file. - Update the
.env
file:- Add the names of the
.pem
and.crt
files created above under theSP_KEY
andSP_CERT
variables. - Provide a temporary file name in the
.env
file for theIDP_CERT_PEM
variable. 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/metadata
to 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_DIR
with the name used in the.env
file. - Update the
.env
file 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_types
rake 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_types
rake 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
degree
values for the ETDs identified in the previous step; also make sure to update theirresource_type
values toMaster's Thesis
orDissertation
as appropriate.
User account updates
- Run the
gwss:update_users_sso
Rake task (withRAILS_ENV=production
) to migrate metadata for GW user accounts and delete other accounts with non-elevated access.