Difference between revisions of "Client Editor"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 49: Line 49:
 
From the command line
 
From the command line
 
renderProblem.pl <TextInputFileName
 
renderProblem.pl <TextInputFileName
* grabs the contents of <code>TextInputFileName</code>
+
* grabs the contents of the file <code>TextInputFileName</code>
 
* ships it to the WeBWorK server site for rendering,
 
* ships it to the WeBWorK server site for rendering,
 
* stores the result in the TEMPOUTPUTFILE and then
 
* stores the result in the TEMPOUTPUTFILE and then

Revision as of 09:01, 4 November 2010

External Client Editor

It can often be convenient to use an external editor to write new WeBWorK questions rather than to compose them using the web browser interface. To do this your local editor calls the script renderProblem.pl which sends the current contents of the editor off to a WeBWorK server for processing and then displays the resulting rendered problem in a browser. The question is "live" so you can enter responses and see whether they are graded correctly. The text of the new question remains on your desktop or laptop.


How to use it

Configuring renderProblem.pl

The configuration section for the client is at the top of the renderProblem.pl file.

  • A valid local path MUST be entered for the TEMPOUTPUTFILE.
  • A valid command line string should be entered for the DISPLAY_COMMAND.
  • Choose a server site to render the questions for display.
############################################################
# configure the local output file and display command.
############################################################
# Path to a temporary file for storing the output of renderProblem.pl
use constant  TEMPOUTPUTFILE   => '/Users/gage/Desktop/renderProblemOutput.html'; 

# Command line for displaying the temporary file in a browser.
use constant  DISPLAY_COMMAND  => 'open -a firefox ';   #browser opens tempoutputfile above
# use constant  DISPLAY_COMMAND  => "open -a 'Google Chrome' ";
############################################################

my $use_site;
$use_site = 'test_webwork';    # select rendering site  test.webwork.maa.org
#$use_site = 'local';           # select rendering site localhost
#$use_site = 'rochester_test';  # select rendering site 128.151.231.2 (at Rochester)
         
 
############################################################

Configuring the client editor

  • BBEdit on the Mac

For BBEdit (on the Mac) the renderProblem.pl must be copied from webwork2/clients/renderProblem.pl to ~/Library/Application Support/BBEdit/Unix Support/Unix Filters/renderProblem.pl on the Mac. I also assign this filter a key command ^R so that a problem can be rendered with a single stroke.

  • Unix editors

Most modern browsers have facilities for passing their contents through a command line filter.


  • Command line

From the command line

 renderProblem.pl <TextInputFileName 
  • grabs the contents of the file TextInputFileName
  • ships it to the WeBWorK server site for rendering,
  • stores the result in the TEMPOUTPUTFILE and then
  • executes the DISPLAY_COMMAND to display the TEMPOUTPUTFILE.

Configuring the server