Difference between revisions of "FlashApplets"
Jump to navigation
Jump to search
Dougensley (talk | contribs) m (Add a link to a simple example) |
|||
Line 6: | Line 6: | ||
http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/AppletObjects.pl.html |
http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/AppletObjects.pl.html |
||
+ | |||
+ | and |
||
+ | |||
+ | http://webwork.maa.org/doc/cvs/webwork2_CURRENT/htdocs/js/ww_applet_support.js.html |
||
+ | |||
The interface is still being developed and so expect minor changes to continue along |
The interface is still being developed and so expect minor changes to continue along |
||
Line 16: | Line 21: | ||
Flash Applets should respond when called by these functions |
Flash Applets should respond when called by these functions |
||
− | # <code> |
+ | # <code>getAnswer</code> - (was <code>sendData</code>) produces a string formatted like an answer to a ww problem. This is the "answer" to the question that ww will grade. In many cases, it should not be written to the screen (i.e., the form containing text input boxes) as an intermediate step because then students could be confused about whether the current state of the applet or the current contents of the input box is being graded. |
# <code>getXML</code> - the applet is being asked for an XML description of the applet's state. The function in Flash should take no input and return a string containing xml data. The format of the data must be specified in the applet documentation. |
# <code>getXML</code> - the applet is being asked for an XML description of the applet's state. The function in Flash should take no input and return a string containing xml data. The format of the data must be specified in the applet documentation. |
||
# <code>setXML</code> - the applet is being sent an XML description of a possible applet state and the applet should respond by putting itself into the appropriate state. The Flash function should take string input containing xml data holding the state information. |
# <code>setXML</code> - the applet is being sent an XML description of a possible applet state and the applet should respond by putting itself into the appropriate state. The Flash function should take string input containing xml data holding the state information. |
||
− | # <code> |
+ | # <code>setConfig</code> - (was <code>config</code>) the applet is being sent an initial configuration for the applet based on variables defined in webwork. The function in Flash should take a string containing xml data as input. The format of the data should be specified in the applet documentation as well as in an example of a ww problem using this applet. |
− | # <code>isActive</code> - a 1 or "true" response by the applet indicates that the applet is loaded, initialized and ready to go. |
+ | # <code>isActive</code> - a 1 or "true" response by the applet indicates that the applet is loaded, initialized and ready to go. A 0 or no response indicates that the applet is not ready. If you define an <code>isActive()</code> method in your flash applet make sure it returns 1 either always, or as soon as auxiliary files |
+ | are loaded. |
||
# <code>debug</code> - 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. |
# <code>debug</code> - 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. |
||
Line 29: | Line 34: | ||
///////////////////// |
///////////////////// |
||
− | ExternalInterface.addCallback(" |
+ | ExternalInterface.addCallback("getAnswer", sendData); |
ExternalInterface.addCallback("getXML", getXML); |
ExternalInterface.addCallback("getXML", getXML); |
||
ExternalInterface.addCallback("setXML", setXML); |
ExternalInterface.addCallback("setXML", setXML); |
||
− | ExternalInterface.addCallback(" |
+ | ExternalInterface.addCallback("setConfig", config); |
ExternalInterface.addCallback("isActive",isActive); |
ExternalInterface.addCallback("isActive",isActive); |
||
ExternalInterface.addCallback("debug",set_debug); |
ExternalInterface.addCallback("debug",set_debug); |
Revision as of 20:15, 25 March 2009
Preliminary documentation at:
http://webwork.maa.org/doc/cvs/pg_CURRENT/lib/Applet.html
and
http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/AppletObjects.pl.html
and
http://webwork.maa.org/doc/cvs/webwork2_CURRENT/htdocs/js/ww_applet_support.js.html
The interface is still being developed and so expect minor changes to continue along
with significant new features.
Request additional features from the FlashObject working group:
http://webwork.maa.org/wiki/AIM07/Working_Groups
Flash Applets should respond when called by these functions
getAnswer
- (wassendData
) produces a string formatted like an answer to a ww problem. This is the "answer" to the question that ww will grade. In many cases, it should not be written to the screen (i.e., the form containing text input boxes) as an intermediate step because then students could be confused about whether the current state of the applet or the current contents of the input box is being graded.getXML
- the applet is being asked for an XML description of the applet's state. The function in Flash should take no input and return a string containing xml data. The format of the data must be specified in the applet documentation.setXML
- the applet is being sent an XML description of a possible applet state and the applet should respond by putting itself into the appropriate state. The Flash function should take string input containing xml data holding the state information.setConfig
- (wasconfig
) the applet is being sent an initial configuration for the applet based on variables defined in webwork. The function in Flash should take a string containing xml data as input. The format of the data should be specified in the applet documentation as well as in an example of a ww problem using this applet.isActive
- a 1 or "true" response by the applet indicates that the applet is loaded, initialized and ready to go. A 0 or no response indicates that the applet is not ready. If you define anisActive()
method in your flash applet make sure it returns 1 either always, or as soon as auxiliary files
are loaded.
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.
External interface headers for flashApplets
///////////////////// // interface callbacks for PG question /////////////////////
ExternalInterface.addCallback("getAnswer", sendData); ExternalInterface.addCallback("getXML", getXML); ExternalInterface.addCallback("setXML", setXML); ExternalInterface.addCallback("setConfig", config); ExternalInterface.addCallback("isActive",isActive); ExternalInterface.addCallback("debug",set_debug);
See a simple example.