WeBWorK Applet interface
This page describes a common interface between WeBWorK questions and Java, Flash and Geogebra applets.
Applets should respond when called by these functions
getXML()- the WW question is asking for an XML description of the applet's state. The description is text -- it is not base64 encoded. The XML description of the applet state should be suitable for use in
setXML(state)- the applet receives an XML description string to reset the applet's state. The description is text -- it is not base64 encoded.
setConfig(configuration)- the WeBWorK is sending an initial configuration for the applet. The description is text -- it is not base64 encoded.
getAnswer()-- the applet responds with a string simulating an answer entered by the student. This is typically called when the submit button is pressed.
isActive()- a 1 or "true" response by the applet indicates that the applet is loaded, initialized and ready to go.
- debug() - set when the applet is called from WW. If debug=1 the WW question is in debug mode and if the applet has the ability to issue extra error messages these should be turned on. If debug=0 then these error messages should be turned off.
Demos of applets can be found at
Demos of bleeding edge development of applets can be observed at
http://hosted2.webwork.rochester.edu/webwork2/applet_dev (login as guest)
Not all of these applets will be functional
A comprehensive example of how to construct a GeoGebra applet, include it in a WeBWorK PG file, and have WeBWorK set parameters in the GeoGebra applet is now available in the WeBWorK Problem Techniques authoring section "GeoGebra Applets in WeBWorK" (as of Nov. 7, 2010)
A tutorial of how to construct a WeBWork problem containing a Flash applet is now available: Flash Applets Tutorial (as of July 28, 2011)
POD documentation can be found at: http://webwork.maa.org/doc/cvs/pg_CURRENT/lib/Applet.html,
The interface is still being tweaked and so expect minor changes to continue along with significant new features.
Request additional features from the FlashObject working group: