[Archivesspace_Users_Group] Subject Heading Plugin not working properly 1.4.2
Majewski, Steven Dennis (sdm7g)
sdm7g at eservices.virginia.edu
Fri Jun 16 15:12:30 EDT 2017
My tests and patch were on current master branch, and so it looks like there were further changes to lcnaf between 1.4.2 and 2.0.1 .
But the significant changes in my patch were:
[1] prefixing the @scheme parameter with (what I assume is) a field specifier: @scheme = “cs:” + @scheme
( prefix could either be added to @scheme in initialized method, or else added to the search params in search method. ) You can just manually edit that change if the patch doesn’t work.
[2] the “p uri” prints out the final doc.gov<http://doc.gov> URI and query string. This was part of the debugging and reverse engineering: to compare the URI & query in id.loc.gov<http://id.loc.gov> search page with what LCNAF plugin was using. Since I’m not sure if API changes to id.loc.gov<http://id.loc.gov> are documented anywhere, I left it there in case of future changes or problems. You can always grab the URL out of the log file and paste it into curl or your browser to see if it’s working as expected. So the line 71 change is not required.
— Steve.
On Jun 16, 2017, at 2:38 PM, Maurice, Candace A <cmaurice at tulane.edu<mailto:cmaurice at tulane.edu>> wrote:
Hi Steve,
I tried to implement the patch, but still no luck. My file on line 71 is different than in the patch you provided (see function below).
def search(query, page, records_per_page)
uri = URI(@base_url)
start_record = calculate_start_record(page, records_per_page)
params = default_params.merge('q' => [query.to_s, @scheme],
'count' => records_per_page,
'start' => start_record)
uri.query = URI.encode_www_form(params)
response = Net::HTTP.get_response(uri)
if response.code != '200'
raise OpenSearchException.new("Error during OpenSearch search: #{response.body}")
end
results = OpenSearchResultSet.new(response.body, query)
results.entries.each do |entry|
marc_uri = URI("#{entry['uri']}.marcxml.xml")
response = Net::HTTP.get_response(marc_uri)
if response.code != '200'
raise OpenSearchException.new("Error during OpenSearch search: #{response.body}")
end
entry['xml'] = response.body.force_encoding("iso-8859-1").encode('utf-8')
end
results
End
-candace
From: <archivesspace_users_group-bounces at lyralists.lyrasis.org<mailto:archivesspace_users_group-bounces at lyralists.lyrasis.org>> on behalf of "Majewski, Steven Dennis (sdm7g)" <sdm7g at eservices.virginia.edu<mailto:sdm7g at eservices.virginia.edu>>
Reply-To: Archivesspace Users Group <archivesspace_users_group at lyralists.lyrasis.org<mailto:archivesspace_users_group at lyralists.lyrasis.org>>
Date: Thursday, June 15, 2017 at 12:26 PM
To: Archivesspace Users Group <archivesspace_users_group at lyralists.lyrasis.org<mailto:archivesspace_users_group at lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Subject Heading Plugin not working properly 1.4.2
It appears to be no longer working in any version.
I believe loc has changed the API for the service slightly. Need to investigate further.
But trying to reverse engineer the parameters from inspecting the difference in the params used in the web page search vs. what’s embedded in LCNAF plugin, I tried this change, which appears to work for me:
diff --git a/plugins/lcnaf/frontend/models/opensearcher.rb b/plugins/lcnaf/frontend/models/opensearcher.rb
index 9391ab5..37e2813 100644
--- a/plugins/lcnaf/frontend/models/opensearcher.rb
+++ b/plugins/lcnaf/frontend/models/opensearcher.rb
@@ -14,7 +14,7 @@ class OpenSearcher
def initialize(base_url, scheme )
@base_url = base_url
- @scheme = scheme
+ @scheme = "cs:" + scheme
end
@@ -71,7 +71,7 @@ class OpenSearcher
'start' => start_record)
uri.query = URI.encode_www_form(params)
-
+ p uri
results = HTTPRequest.new.get(uri) do |response|
if response.code != '200'
raise OpenSearchException.new("Error during OpenSearch search: #{response.body}")
( The other OCLC search has always been unreliable — it’s a test site and not a supported service. )
— Steve Majewski
On Jun 15, 2017, at 12:07 PM, Maurice, Candace A <cmaurice at tulane.edu<mailto:cmaurice at tulane.edu>> wrote:
Hello All,
We are on version 1.4.2 and we have had a user report that the subject heading plugin is not returning results for either LCNAF or LCSH (OCLC works, however). The user doesn’t receive any error messages when using the plugin, but tried typing in known subject headings for the Library Of Congress and it’s still not returning results. I checked the Background jobs and logs and there are not error messages. I also went to the LOC website and all appears to be fine when searching subject headings on their site.
Has anyone else experienced a similar issue? Can you point me in the right direction for resolving this issue?
Thanks,
Candace
-------------------------
Candace Maurice
Web Developer
Howard-Tiltion Memorial Library
Tulane University
504.314.7784
cmaurice at tulane.edu<mailto:cmaurice at tulane.edu>
<512DA1AA-B52D-4559-9B7E-FB77BCC5BB86.png>
_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group at lyralists.lyrasis.org<mailto:Archivesspace_Users_Group at lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group at lyralists.lyrasis.org<mailto:Archivesspace_Users_Group at lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/attachments/20170616/5ffd130a/attachment.html>
More information about the Archivesspace_Users_Group
mailing list