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

Add backend: ProQuest Federated Search Gateway #3991

Open
wants to merge 87 commits into
base: dev
Choose a base branch
from

Conversation

maccabeelevine
Copy link
Member

@maccabeelevine maccabeelevine commented Oct 7, 2024

The ProQuest Federated Search Gateway is an SRU API for searching across research databases licensed via ProQuest. It's old (docs last updated 2016) but still works and per ProQuest customer service:

The Federated Gateway is still in use ... There are no plans to discontinue it and we would be fine with them posting the VuFind code for integration for other customers.

On the plus side, it has a fairly rich CQL syntax for search. On the minus, there are no facets offered other than the constituent databases.

Implementation is patterned after the soon-to-be-deleted WorldCat backend as they both use SRU.

TODO

@maccabeelevine maccabeelevine marked this pull request as ready for review November 6, 2024 16:34
@maccabeelevine
Copy link
Member Author

Other than the TODOs, I think this is far enough to be worth a review. Also worth noting that there is no authentication config, it's simply IP-based access.

Copy link
Member

@demiankatz demiankatz left a comment

Choose a reason for hiding this comment

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

One more round of review! And apologies if my comment-related comments contradict anything I said yesterday. I've given you handy "push the button to commit the change" options on these, so hopefully it won't be much nuisance even if that's the case. ;-)

Copy link
Member

@demiankatz demiankatz left a comment

Choose a reason for hiding this comment

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

This all looks good to me now, @maccabeelevine. Thanks again! I'll just wait for one more look by @sturkel89 and then will get it merged.

@demiankatz demiankatz requested a review from sturkel89 January 31, 2025 16:54
@demiankatz demiankatz added this to the 11.0 milestone Jan 31, 2025
@demiankatz demiankatz added new feature new language strings adds new text in need of translation labels Jan 31, 2025
Copy link
Member

@demiankatz demiankatz left a comment

Choose a reason for hiding this comment

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

@maccabeelevine, I think victory is very near, but there's just one last thing below!

cql.serverChoice = "All Fields"
title = Title
author = Author
subject = Subject
Copy link
Member

Choose a reason for hiding this comment

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

@sturkel89 noticed one last problem: if you go to a record and click on a subject in the core metadata, the resulting search results have the "All Fields" option selected in the drop-down, even though a Subject search is being performed. This appears to be due to the default link-subject.phtml template using "Subject" and this configuration using "subject." If the API is case-sensitive, you'll probably want to create a custom link-subject.phtml template (just as you have already created link-author.phtml). If it is not case-sensitive, maybe it's worth considering changing the names here so things match up using default templates.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch @sturkel89 -- this is fixed. That part of the API actually appears to be case-insensitive, but the documentation has everything lower case so I'd rather just match it in case some other part of it turns out to care.

Copy link
Contributor

@sturkel89 sturkel89 left a comment

Choose a reason for hiding this comment

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

I poked around and did several searches and browses. Everything looked good, except that one small issue I reported to Demian.

Once the fix on the subject search display is in, I think we're ready to merge!

Thanks for all your hard work on this, @maccabeelevine! This is a really great contribution to the project, and I'm excited to see how it will be put to use.

@maccabeelevine
Copy link
Member Author

I am very interested as well to see how other institutions will decide to use this (or not). Originally we hoped to blend these results with EDS, and we still do, but the facts are so dissimilar that it will be a real challenge. Alternatively we may decide to to do one or more recommendation modules alongside EDS results, focused on the specific ProQuest databases that are most annoyingly missing from EDS.

There is a good presentation in here somewhere if different institutions decide to do this differently.

@maccabeelevine
Copy link
Member Author

Wait, crap, I forgot to document the recommendation module in searches.ini...

@maccabeelevine
Copy link
Member Author

Wait, crap, I forgot to document the recommendation module in searches.ini...

This is done.

Copy link
Member

@demiankatz demiankatz left a comment

Choose a reason for hiding this comment

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

Thanks, @maccabeelevine, all looking good to me!

I'll hold off on merging this until early next week; it's too late in the day for me to do the documentation parts coherently right now.

How do you want to handle the checkbox about #4004? Do we need a JIRA ticket to track that, since this will likely get merged first?

@maccabeelevine
Copy link
Member Author

How do you want to handle the checkbox about #4004? Do we need a JIRA ticket to track that, since this will likely get merged first?

Drafted: https://openlibraryfoundation.atlassian.net/browse/VUFIND-1749

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature new language strings adds new text in need of translation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants