Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DACCESS 2025 Sprint 1 - Merge dev to main #2221

Merged
merged 102 commits into from
Jan 22, 2025
Merged

DACCESS 2025 Sprint 1 - Merge dev to main #2221

merged 102 commits into from
Jan 22, 2025

Conversation

JeremyDuncan
Copy link
Contributor

@JeremyDuncan JeremyDuncan commented Jan 21, 2025

Summary of Changes

https://culibrary.atlassian.net/browse/DACCESS-208

⚠️ Important ENV additions:

ENV values for:
MY_ACCOUNT_ILLIAD_API_KEY
MY_ACCOUNT_ILLIAD_API_URL

can be found at New env keys for ILLiad/My Account In LastPass in Shared Discovery and Access-Library Systems

Bug Fixes

  • Bookmark Error (DACCESS-472): Fixed a bug where clicking on a bookmark returned a 500 error.
  • 500 Error on Search Results: Displays a flash error message instead of a 500 error when a user attempts to view search results with more than 20,000 results.

Aeon Enhancements

  • Site Code Value (DACCESS-407): Added site code value transmission for Reading Room and Photoduplication requests.
  • Form Updates (DACCESS-485 & DACCESS-476):
    • Enforced character limits on Citation & Special Request fields to prevent routing errors.
    • Updated labels to match Aeon's hosted form.

Accessibility

  • Terms of Use Page: Fixed empty heading on the TOU page linked from the Availability box.

Search Improvements

  • Simple vs. Advanced Search: Unified search logic for multi-quoted searches and fixed edge case bugs.
  • New Features:
    • Added a "Date Acquired" sort option with missing values sorted at the end.
    • Enhanced Author-Title search linking from Subject browse pages.
    • Suppressed Google Books cover images in search results for individual records.
  • WorldCat Linking: Fixed links to "Libraries Worldwide" for blank queries and call number searches.

My Account Updates (v2.3.4)

  • ILLiad Enhancements (DACCESS-257 & DACCESS-459):
    • Removed dependency on external CGI scripts for ILLiad lookups with a new ILL API module.
    • Specified old authentication methods for ReShare account lookup.
  • Bug Fixes:
    • Resolved punctuation issues on the login page (DACCESS-381).
    • Fixed issues preventing ILLiad requests from appearing (DACCESS-460).

cul-folio-edge Library (v3.2)

  • Authentication Updates (DACCESS-459):
    • Updated authenticate method to support both new and old token systems.

Advanced Search Carryover (PR #2196, DACCESS-291)

  • Basic to Advanced Search Integration:
    • Search text and fields persist from Basic to Advanced Search.
    • Dynamic updates for user-typed input without submission.
  • JavaScript Enhancements:
    • Supported edge cases for special characters, "Title Begins With," and facet selections.
  • Testing Updates:
    • Enhanced RSpec System tests for carryover functionality.
    • Introduced parallel testing for Cucumber and RSpec with documentation updates.

Test Parallelization (PR #2209, DACCESS-484)

  • Configurable Processes:
    • Added a NUM_PROCESSES parameter for controlling test parallelization.
    • Defaulted to 1, but dynamically configurable in Jenkins.
  • Jenkins Pipeline Updates:
    • Added NUM_PROCESSES parameter to the pipeline configuration.
    • Dynamically displayed the number of processes in logs.

JeremyDuncan and others added 30 commits November 27, 2024 12:10
Add the site code so the requests are routed to the correct database (kheel or rmc)
LP-1237 - switch CORS to accept connections from the us-east-1 versio…
@JeremyDuncan
Copy link
Contributor Author

Hi everyone,

Once you’ve reviewed and it looks good to you, lets get ready for deployment to Production.

Copy link
Contributor

@FrancesWebb FrancesWebb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't feel like my feedback is the strongest indicator since I am not a Ruby developer, but I looked through the changes and saw nothing worrying.


end
def browse_search_field(browse_type, heading_type)
Copy link
Contributor

@chrisrlc chrisrlc Jan 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I shouldn't have merged this method into dev. It's not going to break anything, but it's not doing anything and nothing's calling it. I'll just create a branch for removing it and can merge it in in the next sprint, so it doesn't delay the deploy.

Update My Account and Edge library
## Parallel Testing
Testing has been updated to allow for parallel testing with cucumber tests.
### To run tests in parallel:
* Update constant `NUM_PROCESSES=1` in `jenkins/cucumber-features.sh` to the number of processes you want to run in parallel.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may have missed discussion of this during the standups, but how does one determine the right number of processes to use? What are the disadvantages of just selecting the maximum number all the time? Presumably that might impact others who are trying to run Jenkins jobs on the same server for other projects, but how would one know that without sending out a general query to all the developers on Slack?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Baroquem, As its setup now, It defaults to just using 1 processor, but you can manually set it to use more than one processor (with diminishing gains the more you add).

Currently there are only 4 processors available for Jenkins to use If there are more tests running than processors, then it increases the time it takes to finish those tests.

If you use 2 processors in Jenkins it cuts the time down to about 25 minutes.

Greg said there can be more processors added, but they are working on getting the docker container tests setup first

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I’m more wondering about the impact on other people. The selfish thing to do is obviously to grab all the available processors for my own testing, to finish it as quickly as possible, but I wouldn’t do that if it negatively affects other people’s work. But then do I pick 2 processors … or 3…? I don’t have a sense of how to find the best compromise there.

And if nobody else happens to be using Jenkins at the time, then I could use all the processors without guilt — but I don’t think we have a good way of determining that.

Copy link
Contributor

@Baroquem Baroquem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, everyone!

@JeremyDuncan JeremyDuncan merged commit 11ce0e0 into main Jan 22, 2025
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants