version 1.10, 2001/10/01 20:13:38
|
version 1.16, 2002/06/06 08:24:55
|
Line 57
|
Line 57
|
</ul> |
</ul> |
</li> |
</li> |
<li> |
<li> |
|
<b><parameter></b> exactly the same as |
|
<responseparam> currently, but should not appear |
|
inside of a <*response> |
|
</li> |
|
<li> |
<b><numericalresponse></b> implements a numerical |
<b><numericalresponse></b> implements a numerical |
answer, it needs an internal <b><textline></b> for |
answer, it needs an internal <b><textline></b> for |
the response to go in. It checks all styles of numerical |
the response to go in. It checks all styles of numerical |
Line 142
|
Line 147
|
the field when interfacing with humans |
the field when interfacing with humans |
</li> |
</li> |
</ul> |
</ul> |
|
</li> |
<li> |
<li> |
|
<p> |
|
<b><externalresponse></b> implements the ability to have |
|
an external program grade a response, expects either a |
|
<textline> or <textfield> inside the tag. <br /> |
|
</p> |
|
Arguments: |
|
<ul> |
|
<li> |
|
<i>url</i> the url to submit the answer and form to, |
|
does not need to be a LON-CAPA machine. |
|
</li> |
|
<li> |
|
<i>answer</i> a string or scalar variable that can |
|
encode something that should encode the correct |
|
answer, in some cases this may be nothing. |
|
</li> |
|
<li> |
|
<i>form</i> a hash variable name that will be |
|
submitted to the remote site as a HTTP form. |
|
</li> |
|
</ul> |
|
<p> |
|
The response of the remote server needs to be in XML as follows. |
|
</p> |
|
<pre> |
|
<loncapagrade> |
|
<awardetail> |
|
CORRECT |
|
</awardetail> |
|
<message> |
|
A message to be shown to the students |
|
</message> |
|
</loncapagrade> |
|
</pre> |
|
<ul> |
|
<li> |
|
<b><loncapagrade></b> no arguments but must |
|
surround the response. |
|
</li> |
|
<li> |
|
<b><awardetail></b> required inner tag, the |
|
response inside must be one of the detailed responses |
|
that appears in the data storage documentation |
|
(CVS:loncapa/doce/homework/datastorage) |
|
</li> |
|
<li> |
|
<b><message></b> optional message to have shown |
|
to the student |
|
</li> |
|
</ul> |
|
</li> |
</ul> |
</ul> |
<li> |
<li> |
<a name="foil">Foil Structure Tags</a> |
<a name="foil">Foil Structure Tags</a> |
Line 224
|
Line 281
|
</p> |
</p> |
<ul> |
<ul> |
<li> |
<li> |
|
<b><standalone></b> everything in between the start |
|
and end tag is shown only on the web, and only if the |
|
resource is not part of a course. |
|
</li> |
|
<li> |
<b><displayduedate></b> this will insert the current |
<b><displayduedate></b> this will insert the current |
duedate if one is set into the document. It is generated |
duedate if one is set into the document. It is generated |
to be inside a table of 1x1 elements |
to be inside a table of 1x1 elements |
Line 236
|
Line 298
|
<b><window></b> the text in between is put in a |
<b><window></b> the text in between is put in a |
popup javascript window |
popup javascript window |
</li> |
</li> |
|
<li> |
|
<b><m></b> the inside text is LaTeX, and is |
|
converted to HTML (or MathML) on the fly, if the argument |
|
<i>eval</i> is set to "on" the intervening text will have |
|
a perl var expansion done to it before being converted. |
|
</li> |
|
<li> |
|
<b><randomlabel></b> shows a specified image with |
|
images or text labels randomly assigned to a set of |
|
specific locations, those locations may also have values |
|
assigned to them. There is a hash generated conating the |
|
mapping of labels to locations, labels to values, and |
|
locations to values. Example: |
|
<pre> |
|
<randomlabel bgimg="URL" width="12" height="45" texwidth="50"> |
|
<labelgroup name="GroupOne" type="image"> |
|
<location x="123" y="456" value="10" /> |
|
<location x="321" y="654" value="20" /> |
|
<location x="213" y="546" value="13" /> |
|
<label description="TEXT-1">IMG-URL</label> |
|
<label description="TEXT-2">IMG-URL</label> |
|
<label description="TEXT-3">IMG-URL</label> |
|
</labelgroup> |
|
<labelgroup name="GroupTwo" type="text"> |
|
<location x="12" y="45" /> |
|
<location x="32" y="65" /> |
|
<location x="21" y="54" /> |
|
<label>TEXT-1</label> |
|
<label>TEXT-2</label> |
|
<label>TEXT-3</label> |
|
</labelgroup> |
|
</randomlabel> |
|
</pre> |
|
Arguments: |
|
<ul> |
|
<li> |
|
<i>bgimg</i> either a fully qualified URL for an |
|
external image, or a loncapa resource, it supports |
|
relative references (../images/apicture.gif), the |
|
image must either be a GIF or JPEG |
|
</li> |
|
<li> |
|
<i>width</i> the width of the image in pixels |
|
</li> |
|
<li> |
|
<i>height</i> the height of the image in pixels |
|
</li> |
|
<li> |
|
<i>texwidth</i> the width of the image in millimeters |
|
</li> |
|
</ul> |
|
Internal tags: |
|
<ul> |
|
<li> |
|
<b><labelgroup></b> 1 required, multiple |
|
allowed. Declares a group of locations and labels |
|
associated with them. <br />Arguments: |
|
<ul> |
|
<li> |
|
<i>name</i> this is the name of the group, a hash |
|
with this name will be generated holding the |
|
mappings for later use in the problem. For each |
|
location a value will be set for which label is |
|
there, (EX. $hash{'1'}="TEXT-2"). For locations |
|
with values the hash will contain 2 items, a |
|
location to value mapping ($hash{'value_1'}=10), |
|
and a label to value mapping |
|
($hash{'labelvalue_2'}=10). For all image style of |
|
labels there will also be a label description to |
|
label URL mapping ($hash{'image_2'}=IMG-URL). Also |
|
the entry 'numlocations will be set to the total |
|
number of locations that exist. |
|
(Note that locations and labels start counting from 1.) |
|
</li> |
|
<li> |
|
<i>type</i> the type of labels in this group, |
|
either 'image' or 'text' |
|
</li> |
|
</ul> |
|
</li> |
|
<li> |
|
<b><location></b> declares a location on the |
|
image that a label should appear at <br />Arguments: |
|
<ul> |
|
<li> |
|
<i>x</i> the x value of the location in pixels |
|
</li> |
|
<li> |
|
<i>y</i> the y value of the location in pixels |
|
</li> |
|
<li> |
|
<i>value</i> a scalar value to associate at this |
|
location (optional) |
|
</li> |
|
</ul> |
|
</li> |
|
<li> |
|
<b><label></b> declaration of a label, if this |
|
is a text type labelgroup the internal text should be |
|
the text of the label (HTML is not currently |
|
supported), if this is an image type of label the |
|
internal text must be a LON-CAPA resource |
|
specification, and the description filed must be set. |
|
<br />Arguments: |
|
<ul> |
|
<li> |
|
<i>description</i> a required field for image |
|
labels, it will be used when setting values in the |
|
hash. |
|
</li> |
|
</ul> |
|
</li> |
|
</ul> |
|
</li> |
</ul> |
</ul> |
</li> |
</li> |
<li> |
<li> |
Scripting |
Scripting |
<p> |
<p> |
These tags allow the document to behave programatically |
These tags allow the document to behave programatically |
</p> |
</p> |
<ul> |
<ul> |
<li> |
<li> |
<b><display></b> the intervening perl script is |
<b><display></b> the intervening perl script is |
evaluated in the safe space and the return value of the |
evaluated in the safe space and the return value of the |
script replaces the entire tag |
script replaces the entire tag |
Line 288
|
Line 464
|
</li> |
</li> |
<li> |
<li> |
<b><randomlist></b> the enclosed tags are parsed in |
<b><randomlist></b> the enclosed tags are parsed in |
a stable random order |
a stable random order, optional argument <i>show</i> |
|
restricts the number of tags indie that are actually |
|
parsed the no more than <i>show</i>. |
</li> |
</li> |
<li> |
<li> |
<b><solved></b> everything inside the tag is |
<b><solved></b> everything inside the tag is |
Line 365
|
Line 543
|
<li>open_date(), due_date(), answer_date()</li> |
<li>open_date(), due_date(), answer_date()</li> |
<li>sub_string()</li> |
<li>sub_string()</li> |
<li>array_moments(array)</li> |
<li>array_moments(array)</li> |
<li>format(x,y)</li> |
<li>format(x,y),prettyprint(x,y)</li> |
<li>map(...)</li> |
<li>map(...)</li> |
<li>caparesponse_check</li> |
<li>caparesponse_check</li> |
<li>caparesponse_check_list</li> |
<li>caparesponse_check_list</li> |
Line 492
|
Line 670
|
</tr> |
</tr> |
|
|
<tr> |
<tr> |
|
<td valign="top">Not in CAPA</td> |
|
<td valign="top">&prettyprint($x,"nn")</td> |
|
<td valign="top">Display or format $x as nn where nn is nF or nE and n is an integer. In E mode it will attempt to generate a pretty x10^3 rather than a E3 following the number</td> |
|
<td valign="top"> </td> |
|
</tr> |
|
|
|
<tr> |
<td valign="top">roundto(x,n)</td> |
<td valign="top">roundto(x,n)</td> |
<td valign="top">&roundto($x,$n)</td> |
<td valign="top">&roundto($x,$n)</td> |
<td valign="top">Rounds a real number to n decimal points. $x and |
<td valign="top">Rounds a real number to n decimal points. $x and |
Line 557
|
Line 742
|
</tr> |
</tr> |
|
|
<tr> |
<tr> |
<td valign="top">map(seed;a,b,c,d;w,x,y,z)</td> |
<td valign="top">/MAP(seed;w,x,y,z;a,b,c,d)</td> |
<td valign="top">Option 1 - &map($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) or <br> |
<td valign="top">Option 1 - &map($seed,[\$w,\$x,\$y,\$z],[$a,$b,$c,$d]) or <br> |
Option 2 - &map($seed,\@mappedArray,[$a,$b,$c,$d]) <br> |
Option 2 - &map($seed,\@mappedArray,[$a,$b,$c,$d]) <br> |
Option 3 - @mappedArray = &map($seed,[$a,$b,$c,$d]) <br> |
Option 3 - @mappedArray = &map($seed,[$a,$b,$c,$d]) <br> |
Line 594
|
Line 779
|
$w, $x, $y, and $z are variables</td> |
$w, $x, $y, and $z are variables</td> |
<td valign="top">The rmap functions does the reverse action of map if the same seed |
<td valign="top">The rmap functions does the reverse action of map if the same seed |
is used in calling map and rmap. </td> |
is used in calling map and rmap. </td> |
<td valign="top">In CAPA, the arguments are divided into three groups separated |
<td valign="top">In CAPA, the arguments are divided into |
by a semicolon ;. In LON-CAPA, the separation is done by using [] brackets or |
three groups separated by a semicolon ;. In LON-CAPA, the |
using an array @a. Note the backslash (\) before the arguments in the |
separation is done by using [] brackets (with create an |
second and third groups.</td> |
unamed vector reference) or using an array @a. Note the |
|
backslash (\) before the arguments in the second and |
|
third groups (Which cause Perl to send to variable |
|
locations rather than the variable values, similar to a C |
|
pointer).</td> |
</tr> |
</tr> |
|
|
<tr> |
<tr> |
Line 873
|
Line 1062
|
</li> |
</li> |
<li> |
<li> |
$external::part - set to the <i>id</i> of the current problem |
$external::part - set to the <i>id</i> of the current problem |
<part>; zero if there are now <part> |
<part>; zero if there are no <part> |
</li> |
</li> |
<li> |
<li> |
$external::gradestatus - set to the value of the current |
$external::gradestatus - set to the value of the current |
Line 881
|
Line 1070
|
</li> |
</li> |
<li> |
<li> |
$external::datestatus - set to the current status of the clock |
$external::datestatus - set to the current status of the clock |
either CLOSED, CAN_ANSWER, CANNOT_ANSWER, or SHOW_ANSWER |
either CLOSED, CAN_ANSWER, CANNOT_ANSWER, SHOW_ANSWER, or UNCHECKEDOUT |
</li> |
</li> |
<li> |
<li> |
$external::randomseed - set to the number that was used to |
$external::randomseed - set to the number that was used to |
Line 891
|
Line 1080
|
<li>$rad2deg - converts radians to degrees </li> |
<li>$rad2deg - converts radians to degrees </li> |
<li>$deg2rad - converts degrees to radians </li> |
<li>$deg2rad - converts degrees to radians </li> |
</ul> |
</ul> |
|
|
|
<h2> Form internals </h2> |
|
<p> Form elements used for homework editing/response </p> |
|
<p> the form is named lonhomework </p> |
|
<h3> Viewing a problem (either CSTR or RES space)</h3> |
|
<ul> |
|
<li> |
|
grade_target, grade_username, grade_domain, grade_symb - the |
|
vaules take precedence over the the normal ENV settings of |
|
these, use &Apache::lonxml::whichuser() to get back the |
|
correct vaues of the items |
|
</li> |
|
<li> |
|
HWVAL_response:number - the name of the input elements for each response. The response is the response's ID, and the :number part exists only for response with multiple foils, and is a unique number in order of the submission |
|
</li> |
|
<li> |
|
changerandseed - the 'Change' button, only exists right after |
|
the Change button is clicked |
|
</li> |
|
<li> |
|
problemmode - in CSTR, it is either 'View','Edit','EditXML' or |
|
'Analyze' depending on the desired view |
|
</li> |
|
<li> |
|
rndseed - the currently requested random seed |
|
</li> |
|
<li> |
|
showallfoils - if it exists, and we are in CSTR space, the |
|
problem should ignore <conceptgroup> and the response's |
|
max setting and show all possible foils |
|
</li> |
|
<li> |
|
submit - the name of the Submit button |
|
</li> |
|
<li> |
|
submitted - a hidden form parameter that can be used to tell |
|
if the student has submitted answers or not, if it is set, |
|
there should be answers to grade. |
|
</li> |
|
</ul> |
|
<h3> Editing a problem (Edit mode)</h3> |
|
<p> tagdepth referes to the current value of the xmlparsers tagdepth couter ($Apache::lonxml::currentdepth)</p> |
|
<p> Note: the file edit.pm has many helper functions for creating the standard elements for editing a tag and it's attributes, all of those functions follow these conventions </p> |
|
<ul> |
|
<li> |
|
tagdepth_argname - I.E. 1_3.max, a parameter editing value, |
|
max is the name of the parameter and it is for the third tag |
|
inside the first tag |
|
</li> |
|
<li> |
|
delete_tagdepth - if set to yes, delete tag tagdepth and all |
|
tags inside of it |
|
</li> |
|
<li> |
|
homework_edit_tagdepth - used by both &Apache::edit::editline |
|
and &Apache::edit::editfield for the <textarea> and |
|
<input> form elements they create |
|
</li> |
|
<li> |
|
insert_tagdepth - used to request an tag insert, it is set to |
|
the id number of the requested tag in the |
|
%Apache::lonxml::insertlist |
|
</ul> |
<hr> |
<hr> |
<address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address> |
<address><a href="mailto:albertel@marvin.lite.msu.edu">Guy Albertelli</a></address> |
<!-- Created: Thu May 17 15:05:35 EDT 2001 --> |
<!-- Created: Thu May 17 15:05:35 EDT 2001 --> |
<!-- hhmts start --> |
<!-- hhmts start --> |
Last modified: Mon Oct 1 16:12:05 EDT 2001 |
Last modified: Thu Jun 6 04:28:33 EDT 2002 |
<!-- hhmts end --> |
<!-- hhmts end --> |
</body> |
</body> |
</html> |
</html> |