Find file History
Pull request Compare This branch is 3507 commits behind openwebwork:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
..
Failed to load latest commit information.
README
bad_input.txt
checkProblem.pl
check_problems_in_dir.sh
hello_world_soap_client.pl
hello_world_xmlrpc_client.pl
input.txt
renderProblem.pl
renderProblem_rawoutput.pl
webwork_soap_client.pl
webwork_xmlrpc_client.pl

README

2010.05.11

At this point renderProblem.pl is the most up to date and works with BBedit to 
to send a local file to an xmlserver (mod_xmlrpc) to be rendered.  In addition the returned'
file's question form action url is pointed to the same server with the path ending in xml2html.
This allows one to enter answers and test whether they work.  

There were changes to webwork2/lib/WebworkWebservice.pm to make it work with Apache2.  
There were also changes to webwork2/lib/WeBWorK/URLpath.pm  and a new 
module webwork2/lib/WeBWorK/ContentGenerator/xmlViaHTTP.pm

The webwork_xmplrp_client and webwork_soap_client.pl have not been updated, but may still work.

to do:
    •add facilities for inspecting libraries via xmlrpc and html2xml links
    •figure out how to automate the configuration of these xmlrpc files
         Apache2::ServerUtil should do this??  but I can't figure out how.
    •I suspect that auxiliary html files and applets don't work yet.
    
    I'm pretty sure that there is no security checking to insure that only appropriate 
    people have access to the xmlrpc webservice.
##############################################################################################


These test clients will process these two commands:

./webwork_xmlrpc_client.pl renderProblem  input.txt >foo.txt
./webwork_xmlrpc_client.pl listLibraries
or

./webwork_soap_client.pl renderProblem  input.txt >foo.txt
./webwork_soap_client.pl listLibraries


You may need to adjust some hardwired parameters in the scripts so that
you are pointed at the correct servers. :-)

The scripts hello_world_xmlrpc.pl and hello_world_soap.pl  take no arguments
and can be used to test the connection with the chosen servers.

The scripts renderProblem.pl and renderProblem_rawoutput.pl are versions of the 
xmlrpc_xmlrp_client which can be used as filters.  The were designed to be used with
bbedit (Mac editor) to send a PG problem file of to a webservice to be rendered.

The renderProblem_rawoutput version decodes the xml response and prints it as perl structures
through "less".

The renderProblem.pl pipes the HTML part of the response through safari (other browsers could
be used) for viewing. This is usually what is wanted for testing.  Currently the error recovery
is minimal, so error messages sent from the server may totally confuse the client (which
will probably report a bad result type). The resulting web page is live and pointed
to a responder at webhost.math.rochester.edu.  When that server is working you can
actually submit an answer and have it evaluated.  It's a very old, tired PC running 
Frontier as a server, so be patient with it. :-)


checkProblem.pl will take a problem source, send it to the webserver for checking
and record the result in a log file.  It is very similar to renderProblem.pl.

check_problems_in_dir.sh will apply checkProblem.pl to all .pg problems found
underneath the current directory in which the command is executed.  I've used
it to check  all the problems in a directory for warning errors.  There are more
subtle checks that could be made, such as checking to see that correct
answers work. 

Typically one downloads a problem library from the SVN 
and then uses check_problems_in_dir.sh to walk through it.  By modifying
checkProblems and webwork_xmlrpc_inc.pl one could have the HTML version
of each problem dumped to a text file, or by changing the DISPLAYMODE to 
"tex" instead of image one could dump the TeX version of each file.


-- Mike Gage 1/1/2007