[Archivesspace_Users_Group] Subject Heading Plugin not working properly 1.4.2

Majewski, Steven Dennis (sdm7g) sdm7g at eservices.virginia.edu
Fri Jun 16 16:50:44 EDT 2017


@scheme is re-used later in the importer to construct the URI for the marc.xml, as well as in the search, so instead of adding the prefix to @scheme, it should just be prefixed in the search parameters:

-    params = default_params.merge('q' => [query.to_s, @scheme],
+    params = default_params.merge('q' => [query.to_s, 'cs:' + @scheme],

Sorry for the quick & wrong first answer!

— Steve.


On Jun 16, 2017, at 4:03 PM, Majewski, Steven Dennis (sdm7g) <sdm7g at eservices.virginia.edu<mailto:sdm7g at eservices.virginia.edu>> wrote:


Although those changes seem to fix the search, when I actually try importing either subject or agent records, I get an internal server error. This need more investigation.


On Jun 16, 2017, at 3:12 PM, Majewski, Steven Dennis (sdm7g) <sdm7g at eservices.virginia.edu<mailto:sdm7g at eservices.virginia.edu>> wrote:


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

_______________________________________________
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/20d2e21b/attachment.html>


More information about the Archivesspace_Users_Group mailing list