Skip to content

2.1.0

Compare
Choose a tag to compare
@kerchner kerchner released this 03 Apr 18:09
· 97 commits to master since this release
a2d57cf

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 the User 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.

Google Scholar compliance

  • Improved Google Scholar compliance which we hope will enable indexing by Google Scholar (#343)
    • Reassign ETD types from Thesis or Dissertation to Master's Thesis or Disseration by inferring from degree 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>

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

  • More reliable sitemap generation (#343)
  • Passenger version pin in Dockerfile (#500)

Infrastructure and other technical improvements

Upgrade Instructions

Database migrations

From the app container, run RAILS_ENV=production rails db:migrate.

SAML configuration

  1. 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
    
  2. Move the key and certificate to the directories indicated by the NGINX_KEY_DIR and NGINX_CERT_DIR variables in the .env file.
  3. Update the .env file:
    • Add the names of the .pem and .crt files created above under the SP_KEY and SP_CERT variables.
    • Provide a temporary file name in the .env file for the IDP_CERT_PEM variable. This file need not exist. (The app will create it if is missing.)
  4. Launch the application.
  5. 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.
  6. 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.
  7. Update the .env file with the URI's provided by the IdP for SSO and SLO.
  8. 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

  1. Run the gwss:enumerate_degree_types rake task and, observing the output, confirm that each of the listed degree names is included in config/etd_degree_map.yml. If there are any that are not, we will need to add to config/etd_degree_map.yml. Note the number of ETDs with blank degree names.
  2. 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.
  3. Through the UI, manually update the degree values for the ETDs identified in the previous step; also make sure to update their resource_type values to Master's Thesis or Dissertation as appropriate.

User account updates

  1. Run the gwss:update_users_sso Rake task (with RAILS_ENV=production) to migrate metadata for GW user accounts and delete other accounts with non-elevated access.

Code diff

2.0.1...2.1.0