Hello. I''m trying to make my site work with OAI-PMH (http:// oai.rubyforge.org/). Whilst running the tests on http://re.cs.uct.ac.za/ it seems that it can''t process more than two parameters. For example: http://mysite.com/oai?verb=Identify works fine, but http://mysite.com/oai?verb=Identify&test=tes end ups with an error with any second parameter Processing OaiController#index (for 0.0.0.0:3030 at 2010-01-09 00:47:21) [GET] Parameters: {"verb"=>"Identify", "test"=>"tes"} TypeError (can''t convert nil into Array): oai (0.0.12) lib/oai/provider/response.rb:67:in `-'' oai (0.0.12) lib/oai/provider/response.rb:67:in `valid?'' oai (0.0.12) lib/oai/provider/response.rb:31:in `initialize'' ... Line 67 is: return false unless (@options.keys - self.class.valid_options).empty? where, ofcourse, self.class.valid_options is nil. But why? Any thoughts? -- szymszy -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi, As you know the OAI-PMH standard is pretty specific about what are acceptable parameters to requests and "test" is definitely not one. I have a pretty customized version of the OAI lib running on the Kete project and though it answers properly formed requests correctly it gives a 500 error when passed "&test=test", too. You seem to indicate that you have tried other second parameters, but are they definitely valid. Here''s a valid URL query string, for example: http://yoursite.com/oai?verb=ListRecords&from=2010-01-01 and here is one with a valid third parameter: http://yoursite.com/oai?verb=ListRecords&from=2009-12-01&until=2010-01-01 You may get "no records match" type message, but it should be a well formed XML response. Hopefully it is just a matter of testing with valid parameters and things will come right. At the least it is good to narrow down your issue. Cheers, Walter ---- Walter McGinnis Kete Project Lead (http://kete.net.nz) Katipo Communications, Ltd. (http://katipo.co.nz) http://twitter.com/wtem On Sun, Jan 10, 2010 at 1:48 AM, Szymon Maka <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Hello. > > I''m trying to make my site work with OAI-PMH (http:// > oai.rubyforge.org/). Whilst running the tests on http://re.cs.uct.ac.za/ > it seems that it can''t process more than two parameters. For example: > > http://mysite.com/oai?verb=Identify works fine, but > http://mysite.com/oai?verb=Identify&test=tes end ups with an error > with any second parameter > > Processing OaiController#index (for 0.0.0.0:3030 at 2010-01-09 > 00:47:21) [GET] > Parameters: {"verb"=>"Identify", "test"=>"tes"} > > TypeError (can''t convert nil into Array): > oai (0.0.12) lib/oai/provider/response.rb:67:in `-'' > oai (0.0.12) lib/oai/provider/response.rb:67:in `valid?'' > oai (0.0.12) lib/oai/provider/response.rb:31:in `initialize'' > ... > > Line 67 is: return false unless (@options.keys - > self.class.valid_options).empty? > where, ofcourse, self.class.valid_options is nil. But why? > Any thoughts? > > -- > szymszy > -- > Posted via http://www.ruby-forum.com/. > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. > > > >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Sun, Jan 10, 2010 at 9:35 PM, Walter McGinnis <walter.mcginnis-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> You seem to indicate that you have tried other second parameters, but > are they definitely valid.Sheesh, wish I had used "valid" grammar. Oops. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi,> You seem to indicate that you have tried other second parameters, but > are they definitely valid.Pretty sure. I used the tests from http://re.cs.uct.ac.za/>Here''s a valid URL query string, for example: > > http://yoursite.com/oai?verb=ListRecords&from=2010-01-01 > > and here is one with a valid third parameter: > > http://yoursite.com/oai?verb=ListRecords&from=2009-12-01&until=2010-01-01Unfortunatly your examples don''t work either. I get this error: Processing OaiController#index (for 0.0.0.0 at 2010-01-19 14:15:44) [GET] Parameters: {"verb"=>"ListRecords", "from"=>"2010-01-01"} NoMethodError (private method `gsub!'' called for Fri Jan 01 00:00:00 UTC 2010:Time): /usr/lib/ruby/1.8/date/format.rb:1061:in `_parse'' /usr/lib/ruby/1.8/time.rb:240:in `parse'' oai (0.0.12) lib/oai/provider/model/activerecord_wrapper.rb:123:in `sql_conditions'' oai (0.0.12) lib/oai/provider/model/activerecord_wrapper.rb:46:in `find'' oai (0.0.12) lib/oai/provider/response/list_records.rb:6:in `to_xml'' oai (0.0.12) lib/oai/provider.rb:260:in `list_records'' oai (0.0.12) lib/oai/provider.rb:286:in `send'' oai (0.0.12) lib/oai/provider.rb:286:in `process_request'' app/controllers/oai_controller.rb:6:in `index'' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'' ... Rendering /srv/mysite/rails/public/500.html (500 Internal Server Error) Even funnier is that the same link in the dev mode gives: Processing OaiController#index (for 127.0.0.1 at 2010-01-19 15:20:18) [GET] Parameters: {"verb"=>"ListRecords", "from"=>"2010-01-01"} TypeError (can''t dup NilClass): oai (0.0.12) lib/oai/provider/model/activerecord_wrapper.rb:34:in `latest'' oai (0.0.12) lib/oai/provider/response/record_response.rb:7:in `inherited'' oai (0.0.12) lib/oai/provider/response.rb:73:in `call'' oai (0.0.12) lib/oai/provider/response.rb:73:in `populate_defaults'' oai (0.0.12) lib/oai/provider/response.rb:72:in `each'' oai (0.0.12) lib/oai/provider/response.rb:72:in `populate_defaults'' oai (0.0.12) lib/oai/provider/response.rb:68:in `valid?'' oai (0.0.12) lib/oai/provider/response.rb:31:in `initialize'' oai (0.0.12) lib/oai/provider.rb:260:in `new'' oai (0.0.12) lib/oai/provider.rb:260:in `list_records'' oai (0.0.12) lib/oai/provider.rb:286:in `send'' oai (0.0.12) lib/oai/provider.rb:286:in `process_request'' app/controllers/oai_controller.rb:6:in `index'' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'' ... Really have no idea what''s going on here. :( -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Walter McGinnis
2010-Jan-19 23:05 UTC
Re: Re: OAI-PMH problem with more than one parameter.
Yeah, wish I could be of more help, but I don''t use the ActiveRecord wrapper with the OAI gem. I use another one that ties directly into my search engine. I recommend trying to contact Terry Reese (one of the gem''s contributors). Here''s his blog, he''s helped me in the past: http://people.oregonstate.edu/~reeset/blog/ Cheers, Walter -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Walter McGinnis wrote:> Yeah, wish I could be of more help, but I don''t use the ActiveRecord > wrapper with the OAI gem. I use another one that ties directly into > my search engine.It is very strange to me. Seem that the problem is with parsing the date. NoMethodError (private method `gsub!'' called for Fri Jan 01 00:00:00 UTC 2010:Time): /usr/lib/ruby/1.8/date/format.rb:1061:in `_parse''> I recommend trying to contact Terry Reese (one of the gem''s > contributors). Here''s his blog, he''s helped me in the past: > > http://people.oregonstate.edu/~reeset/blog/Ok, thanks! Will do so straight away best of all, Szymon -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Szymon Maka wrote:> Walter McGinnis wrote: >> Yeah, wish I could be of more help, but I don''t use the ActiveRecord >> wrapper with the OAI gem. I use another one that ties directly into >> my search engine. > > It is very strange to me. Seem that the problem is with parsing the > date. > > NoMethodError (private method `gsub!'' called for Fri Jan 01 00:00:00 UTC > 2010:Time): > /usr/lib/ruby/1.8/date/format.rb:1061:in `_parse'' > >> I recommend trying to contact Terry Reese (one of the gem''s >> contributors). Here''s his blog, he''s helped me in the past: >> >> http://people.oregonstate.edu/~reeset/blog/ > > Ok, thanks! Will do so straight away > > best of all, > SzymonThe problem here is that the parameter is not a string Time.parse("2010-06-27 13:44:11") works Time.parse(myDateTimeObject) throws this error TypeError ($_ value need to be String (nil given)): /usr/lib/ruby/1.8/date/format.rb:1061:in `_parse'' /usr/lib/ruby/1.8/time.rb:240:in `parse'' Make sure you do Time.parse(myDateTimeObject.to_s) -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.