Following steps were necessary
sudo -u bbmb /usr/local/bin/bundle-240 exec rackup
sudo -u bbmb /usr/local/bin/bundle-240 exec rackup
destination: "/var/www/sandoz.xmlconv.bbmb.ch/var/output"
to etc/xmlconv.yml
To test we call first curl -v http://sandoz.xmlconv.bbmb.ch/propharma -d@test/data/confuse.xml
. Got a HTTP/1.1 200 OK
response
To test we visit
33720 80.218.53.88 13.06.2017 12:07:14 file:/.../var/output/99_20170613120714024.txt Bestellung via BBMB erfolgreich
Looks good.
But after an hour we got 4 empty orders. Why?
Remarked that displaying olders orders does not work. Eg. http://sandoz.xmlconv.bbmb.ch/de/sbsm/self/state_id/69986814058300/page/1 returns only an empty order (not a list of orders).
In the service log we find many entries like ["ngiger@ywesee.com"] subject: XmlConv2 - Polling-Error
, while I did not receive any messages.
The problem lays in the UTF-encoding. Added test/data/umlaut_utf_8_problem.xml. On oddb-ci2 I see the following the rack output
[2017-06-13 15:10:33] INFO WEBrick::HTTPServer#start: pid=769 port=8011 NoMethodError: undefined method `deliveries' for nil:NilClass /var/www/sandoz.xmlconv.bbmb.ch/lib/conversion/sunstore_bdd.rb:42:in `respond' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/xmlconv-1.1.3/lib/xmlconv/util/transaction.rb:115:in `response' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/xmlconv-1.1.3/lib/xmlconv/util/application.rb:144:in `execute_with_response' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/xmlconv-1.1.3/lib/xmlconv/state/login.rb:27:in `initialize' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.4.4/lib/sbsm/session.rb:385:in `new' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.4.4/lib/sbsm/session.rb:385:in `logout' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.4.4/lib/sbsm/session.rb:225:in `block in process_rack' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.4.4/lib/sbsm/session.rb:209:in `synchronize' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.4.4/lib/sbsm/session.rb:209:in `process_rack' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.4.4/lib/sbsm/app.rb:119:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/static.rb:149:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/tempfile_reaper.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/chunked.rb:54:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler/webrick.rb:86:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread' Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT (erb):252:in `concat' (erb):252:in `block in pretty' (erb):249:in `each' (erb):249:in `pretty' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/erb.rb:896:in `eval' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/erb.rb:896:in `result' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:96:in `pretty' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:32:in `rescue in call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/static.rb:149:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/tempfile_reaper.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/chunked.rb:54:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler/webrick.rb:86:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread' [2017-06-13 15:11:06] ERROR Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT (erb):252:in `concat' (erb):252:in `block in pretty' (erb):249:in `each' (erb):249:in `pretty' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/erb.rb:896:in `eval' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/erb.rb:896:in `result' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:96:in `pretty' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:32:in `rescue in call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/chunked.rb:54:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /var/www/sandoz.xmlconv.bbmb.ch/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler/webrick.rb:86:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
When calling curl -v http://sandoz.xmlconv.bbmb.ngiger.ch/propharma -d@test/data/umlaut_utf_8_problem.xml
the transaction.model is empty. Why? The method convert(xml_document) in lib/conversion/sunstore_bdd.rb
fails.
Resettting fastpower as follows:
Tested like follows
niklaus@ng-tr /m/o/g/sandoz.xmlconv.bbmb.ch> curl -v http://sandoz.xmlconv.bbmb.ch/pharmasoft -d@test/data/umlaut_utf_8_problem.xml * Hostname was NOT found in DNS cache * Trying 62.12.131.46... * Connected to sandoz.xmlconv.bbmb.ch (62.12.131.46) port 80 (#0) > POST /pharmasoft HTTP/1.1 > User-Agent: curl/7.38.0 > Host: sandoz.xmlconv.bbmb.ch > Accept: */* > Content-Length: 1101 > Content-Type: application/x-www-form-urlencoded > Expect: 100-continue > < HTTP/1.1 100 Continue < HTTP/1.1 200 OK < Date: Tue, 13 Jun 2017 13:54:31 GMT * Server Apache is not blacklisted < Server: Apache < Transfer-Encoding: chunked < Content-Type: text/xml;charset=utf-8 < <?xml version='1.0' encoding='UTF-8'?><customerOrderResponse backLogDesired='false' language='de' productDescriptionDesired='false' roundUpForCondition='false' xsi:schemaLocation='http://www.e-galexis.com/schemas/ http://www.e-galexis.com/schemas/POS/customerOrder/customerOrderResponse.xsd' version='1.0' xmlns='http://www.e-galexis.com/schemas/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><clientResponse number='99-119'/><orderHeaderResponse referenceNumber='060620172'><deliveryAddress line1='136, Ch. De-La-Montagne' line4='Pharmacie GOUDA' line5City='Chêne-Bougeries' line5PostalCode='1224'><addressLine2And3Text line2='Chêne-Bougeries' line3='GOUDA'/></deliveryAddress></orderHeaderResponse><orderLinesResponse><productOrderLineResponse backLogLine='false' lineAccepted='true' productReplaced='false' roundUpForConditionDone='false'><productOrderLine orderQuantity='10'><pharmaCode id='3463433'/></productOrderLine><productResponse description='Omeprazol Sandoz Eco 40 mg Kps 56' wholesalerProductCod* Connection #0 to host sandoz.xmlconv.bbmb.ch left intact e='00610553'/><availability status='yes'/></productOrderLineResponse><productOrderLineResponse backLogLine='false' lineAccepted='true' productReplaced='false' roundUpForConditionDone='false'><productOrderLine orderQuantity='2'><pharmaCode id='3029702'/></productOrderLine><productResponse description='Clarithromycin Sandoz 500 mg Filmtbl 20' wholesalerProductCode='00990331'/><availability status='yes'/></productOrderLineResponse></orderLinesResponse></customerOrderResponse>⏎
Got a very different answer!!!
I think one problem is that handling the POST-request did not return the XML file. Tried to find some clues on howto handle SOAP request under Ruby Rack. For rails found https://github.com/inossidabile/wash_out.
Fixed the conversion error by adding in lib/xmlconv/util/transaction.rb
if !@input.valid_encoding? @input = @input.encode("UTF-8", :invalid=>:replace, :replace=>"?") else @input = @input.encode("UTF-8") end
Creating the correct XML output.
Pushed the following commits:
Adapting src/util/oddbapp.rb.
Starting via sudo -u apache bundle exec rackup
(Using Ruby 2.4.0)
NoMethodError: undefined method `sorted_fachinfos' for #<ODDB::RackApp:0x00558f5baf4868> /home/niklaus/git/oddb.org/src/state/drugs/init.rb:20:in `init' /home/niklaus/git/sbsm/lib/sbsm/session.rb:387:in `logout' /home/niklaus/git/oddb.org/src/util/session.rb:127:in `logout' /home/niklaus/git/sbsm/lib/sbsm/session.rb:225:in `block in process_rack' /home/niklaus/git/sbsm/lib/sbsm/session.rb:209:in `synchronize' /home/niklaus/git/sbsm/lib/sbsm/session.rb:209:in `process_rack' /home/niklaus/git/sbsm/lib/sbsm/app.rb:119:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/static.rb:149:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/tempfile_reaper.rb:15:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/chunked.rb:54:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler/webrick.rb:86:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread' ::1 - - [13/Jun/2017:09:39:37 +0200] "GET / HTTP/1.1" 500 75498 4.2348
Visiting http://localhost:8012/ return
NoMethodError at / undefined method `sorted_fachinfos' for #<ODDB::RackApp:0x00558f5baf4868> Ruby /home/niklaus/git/oddb.org/src/state/drugs/init.rb: in init, line 20 Web GET localhost/+ above posted backtrace.
Somehow initializing the ODBA.persistence does not work. Comparing this with bin/admin.
Tried to add a call ODBA.cache.setup in config.ru (analog to the bin/oddbd) and got
ODBA.cache.setup FEHLER: Relation »object« existiert bereits FEHLER: Relation »prefetchable_index« existiert bereits FEHLER: Relation »extent_index« existiert bereits FEHLER: Relation »object_connection« existiert bereits FEHLER: Relation »target_id_index« existiert bereits FEHLER: Relation »collection« existiert bereits ArgumentError: not delegated from /usr/local/ruby-2.4.0/lib/ruby/2.4.0/delegate.rb:387:in `__getobj__'
After reverting in the Gemfile from using the gem ydbi to use https://github.com/ngiger/ruby-dbi
I get a lot further and got the following error
FEHLER: Relation »target_id_oddb_package_name_with_size_company_name_and_ean13« existiert bereits Used version: sbsm 1.4.4 and oddb.org 64a22e00be2b41f7519950319496eb5dfa370114 process: /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/bin/rackup init system init system: 4.598791534 setup drb-delegation reset bundler: failed to load command: rackup (/home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/bin/rackup) NoMethodError: undefined method `synchronize' for nil:NilClass /home/niklaus/git/oddb.org/src/util/oddbapp.rb:1719:in `reset' /home/niklaus/git/oddb.org/src/util/oddbapp.rb:1563:in `initialize' /home/niklaus/git/oddb.org/config.ru:56:in `new' /home/niklaus/git/oddb.org/config.ru:56:in `block in <main>' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `instance_eval' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `initialize' /home/niklaus/git/oddb.org/config.ru:in `new' /home/niklaus/git/oddb.org/config.ru:in `<main>' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/builder.rb:49:in `eval' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/builder.rb:49:in `new_from_string' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/builder.rb:40:in `parse_file' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/server.rb:319:in `build_app_and_options_from_config' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/server.rb:219:in `app' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/server.rb:354:in `wrapped_app' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/server.rb:283:in `start' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/server.rb:148:in `start' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/bin/rackup:4:in `<top (required)>' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/bin/rackup:22:in `load' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/bin/rackup:22:in `<top (required)>'
Here oddb.org accesses the old @mutex variable from sbsm/session when it tries to reset the sessions. Skipping it for the moment.
After adding a method_missing in oddbapp which delegates to the @system (the OddbPrevalence) I the drugs.init state can load sorted_feeedbacks and sorted_fachinfos. Now visiting http://localhost:8012/ gives
NoMethodError at / undefined method `valid?' for #<SBSM::UnknownUser:0x005584d7ba9990> Ruby /home/niklaus/git/oddb.org/src/view/logohead.rb: in sponsor, line 26 Web GET localhost/ oMethodError: undefined method `valid?' for #<SBSM::UnknownUser:0x005584d7ba9990> /home/niklaus/git/oddb.org/src/view/logohead.rb:26:in `sponsor' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:83:in `create' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:284:in `compose_component' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:213:in `block in compose' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:209:in `each' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:209:in `compose' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:72:in `init' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/component.rb:139:in `initialize' /home/niklaus/git/oddb.org/src/view/custom/head.rb:68:in `new' /home/niklaus/git/oddb.org/src/view/custom/head.rb:68:in `head' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:83:in `create' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:284:in `compose_component' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:213:in `block in compose' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:209:in `each' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:209:in `compose' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/composite.rb:72:in `init' /home/niklaus/git/oddb.org/src/view/publictemplate.rb:68:in `init' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/htmlgrid-1.1.4/lib/htmlgrid/component.rb:139:in `initialize' /home/niklaus/git/sbsm/lib/sbsm/state.rb:240:in `new' /home/niklaus/git/sbsm/lib/sbsm/state.rb:240:in `view' /home/niklaus/git/sbsm/lib/sbsm/state.rb:173:in `to_html' /home/niklaus/git/sbsm/lib/sbsm/session.rb:490:in `to_html' /home/niklaus/git/sbsm/lib/sbsm/session.rb:251:in `block in process_rack' /home/niklaus/git/sbsm/lib/sbsm/session.rb:209:in `synchronize' /home/niklaus/git/sbsm/lib/sbsm/session.rb:209:in `process_rack' /home/niklaus/git/sbsm/lib/sbsm/app.rb:119:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/static.rb:149:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/tempfile_reaper.rb:15:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:49:in `_call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/lint.rb:37:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/show_exceptions.rb:23:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/common_logger.rb:33:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/chunked.rb:54:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/content_length.rb:15:in `call' /home/niklaus/git/oddb.org/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler/webrick.rb:86:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run' /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread' ODDB::View::WelcomeHead::COMPONENTS[[1, 0, 0]] in create(sponsor) ODDB::View::Drugs::Search::COMPONENTS[[0, 0]] in create(head) ::1 - - [13/Jun/2017:11:06:53 +0200] "GET / HTTP/1.1" 500 124535 4.2226
I also see some lines in the output like
NoMethodError undefined method `size' for nil:NilClass
Must look at how the src/util/session.rb handles the UnknownUser. After fixing an error in SBSM I was able to use the ODDB::UnknownUser and the rack app came up, albeit without the CSS, images, etc.
Now making apache config work. Now the main page loads, but searching for aspirin returns
Not Found The requested URL /de/gcc/search/zone/drugs/search_query/Aspirin/search_type/st_oddb was not found on this server. Apache Server at oddb-ci2.dyndns.org Port 80
Must correct the rewrite rule in the apache config.