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) 
<sd...@eservices.virginia.edu<mailto:sd...@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 
<cmaur...@tulane.edu<mailto:cmaur...@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-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 on behalf of "Majewski, Steven Dennis (sdm7g)" 
<sd...@eservices.virginia.edu<mailto:sd...@eservices.virginia.edu>>
Reply-To: Archivesspace Users Group 
<archivesspace_users_group@lyralists.lyrasis.org<mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Date: Thursday, June 15, 2017 at 12:26 PM
To: Archivesspace Users Group 
<archivesspace_users_group@lyralists.lyrasis.org<mailto:archivesspace_users_group@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 
<cmaur...@tulane.edu<mailto:cmaur...@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
cmaur...@tulane.edu<mailto:cmaur...@tulane.edu>
<512DA1AA-B52D-4559-9B7E-FB77BCC5BB86.png>
_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

Reply via email to