aimmath-commit Mailing List for AiM Assessment in Mathematics (Page 17)
Brought to you by:
gustav_delius,
npstrick
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(73) |
Aug
(96) |
Sep
(240) |
Oct
(34) |
Nov
(12) |
Dec
(3) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(31) |
Feb
(6) |
Mar
(17) |
Apr
(6) |
May
(5) |
Jun
|
Jul
|
Aug
(2) |
Sep
(2) |
Oct
(19) |
Nov
|
Dec
|
| 2005 |
Jan
|
Feb
|
Mar
(14) |
Apr
(33) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <mo...@us...> - 2003-09-03 14:56:03
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim
In directory sc8-pr-cvs1:/tmp/cvs-serv23510
Modified Files:
Inert.mpl
Log Message:
Fixes bug [798637]
Index: Inert.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/Inert.mpl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Inert.mpl 2 Sep 2003 02:53:42 -0000 1.2
--- Inert.mpl 3 Sep 2003 14:55:53 -0000 1.3
***************
*** 205,209 ****
local f,d,ARGS,Values,R;
! this['InertFunction']:=F;
ARGS:=args[3..nargs];
R:=this['setArgs',ARGS];
--- 205,209 ----
local f,d,ARGS,Values,R;
! this['InertFunction']:=eval(F);
ARGS:=args[3..nargs];
R:=this['setArgs',ARGS];
|
|
From: <gus...@us...> - 2003-09-02 12:51:33
|
Update of /cvsroot/aimmath/moodle/mod/aim_quiz/db
In directory sc8-pr-cvs1:/tmp/cvs-serv15530/mod/aim_quiz/db
Modified Files:
mysql.php
Log Message:
minor changes
Index: mysql.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/db/mysql.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** mysql.php 2 Sep 2003 00:40:24 -0000 1.3
--- mysql.php 2 Sep 2003 12:51:23 -0000 1.4
***************
*** 7,17 ****
global $CFG;
! /*if ($oldversion < 2003082100) {
! }*/
! if ($oldversion < 2003090300) {
! execute_sql(" ALTER TABLE `aim_quiz` ".
! " ADD `problem_sheet` VARCHAR(100) , ".
! " ADD `solution_sheet` VARCHAR(100) , ".
! " ADD `timedue` INT(10 ) unsigned default '0' ");
}
return true;
--- 7,15 ----
global $CFG;
! if ($oldversion < 2003090103) {
! execute_sql(" ALTER TABLE `prefix_aim_quiz` ".
! " ADD `problem_sheet` VARCHAR(100) , ".
! " ADD `solution_sheet` VARCHAR(100) , ".
! " ADD `timedue` INT(10 ) unsigned default '0' ");
}
return true;
|
|
From: <gus...@us...> - 2003-09-02 12:51:33
|
Update of /cvsroot/aimmath/moodle/mod/aim_quiz
In directory sc8-pr-cvs1:/tmp/cvs-serv15530/mod/aim_quiz
Modified Files:
lib.php mod.html
Log Message:
minor changes
Index: lib.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/lib.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** lib.php 2 Sep 2003 00:40:24 -0000 1.5
--- lib.php 2 Sep 2003 12:51:23 -0000 1.6
***************
*** 162,166 ****
else
echo "<OPTION";
! echo " value=\"{$record['id']}\">" . htmlspecialchars("{$record['subject']} on {$record['server']}") . "</OPTION>";
}
return true;
--- 162,166 ----
else
echo "<OPTION";
! echo " value=\"{$record['id']}\">" . htmlspecialchars("{$record['subject']}") . "</OPTION>";
}
return true;
Index: mod.html
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/mod.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** mod.html 2 Sep 2003 00:40:24 -0000 1.2
--- mod.html 2 Sep 2003 12:51:23 -0000 1.3
***************
*** 8,12 ****
/*
* Variables specific to this module are:
! * name, server, subject, quiz, grade.
* We check that these are setup here.
*/
--- 8,12 ----
/*
* Variables specific to this module are:
! * name, problem_sheet, solution_sheet, timedue, server, subject, quiz, grade.
* We check that these are setup here.
*/
***************
*** 30,34 ****
}
if (!isset($form->timedue)) {
! $form->timedue = "";
}
// Now we set the defaults
--- 30,34 ----
}
if (!isset($form->timedue)) {
! $form->timedue = 0;
}
// Now we set the defaults
***************
*** 111,115 ****
<TR valign=top>
! <TD align=right><P><B><?php echo "$strsubject / $straimserver"; ?>:</B></P></TD>
<TD>
<SELECT name="subject">
--- 111,115 ----
<TR valign=top>
! <TD align=right><P><B><?php echo "$strsubject"; ?>:</B></P></TD>
<TD>
<SELECT name="subject">
***************
*** 122,126 ****
$newreturn = "update=$update";
if (!empty($return)) {
! $newreturn .= "&return=$return";
}
}
--- 122,126 ----
$newreturn = "update=$update";
if (!empty($return)) {
! $newreturn .= "&return=$return";
}
}
|
|
From: <gr...@us...> - 2003-09-02 07:11:59
|
Update of /cvsroot/aimmath/AIM/doc
In directory sc8-pr-cvs1:/tmp/cvs-serv27621
Modified Files:
format.html
Log Message:
Added a check that an earlier question part was answered in the multipart
question example. - GG
Index: format.html
===================================================================
RCS file: /cvsroot/aimmath/AIM/doc/format.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** format.html 25 Aug 2003 21:47:19 -0000 1.2
--- format.html 2 Sep 2003 07:11:56 -0000 1.3
***************
*** 258,262 ****
<pre><font color='green'>
name> primes
! local> lowerbound,ans1
shift> 7645848653
t> Recall that Euclid proved that their are infinitely many primes
--- 258,262 ----
<pre><font color='green'>
name> primes
! local> lowerbound,ans1,p1,p2
shift> 7645848653
t> Recall that Euclid proved that their are infinitely many primes
***************
*** 287,296 ****
esq>
sq>
! t> Find a another prime $p_2$ such that $p_2 > p_1$
c> posint
av> p2
ap> $p_2 =$
s> [proc(ans)
! if isprime(ans) then
if ans > p1 then
RETURN(1);
--- 287,300 ----
esq>
sq>
! t> Find another prime $p_2$ such that $p_2 > p_1$
c> posint
av> p2
ap> $p_2 =$
s> [proc(ans)
! if not type(p1, posint) then
! # Make sure the student did in fact answer the first part!!
! `aim/t`("You haven't answered the first part yet!");
! RETURN(0);
! elif isprime(ans) then
if ans > p1 then
RETURN(1);
|
|
From: <mo...@us...> - 2003-09-02 02:53:45
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim
In directory sc8-pr-cvs1:/tmp/cvs-serv24531
Modified Files:
Inert.mpl
Log Message:
just a trivial bug fix
Index: Inert.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/Inert.mpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Inert.mpl 1 Sep 2003 05:55:59 -0000 1.1
--- Inert.mpl 2 Sep 2003 02:53:42 -0000 1.2
***************
*** 653,657 ****
"Plus", # Name
true, # Needs parentheses
! false, # Provides parentheses
false, # Associative
10) # Precedence
--- 653,657 ----
"Plus", # Name
true, # Needs parentheses
! true, # Provides parentheses
false, # Associative
10) # Precedence
|
|
From: <gus...@us...> - 2003-09-02 00:40:36
|
Update of /cvsroot/aimmath/moodle/lang/en In directory sc8-pr-cvs1:/tmp/cvs-serv4126/lang/en Modified Files: aim_quiz.php Log Message: added problem and solution sheets and due date Index: aim_quiz.php =================================================================== RCS file: /cvsroot/aimmath/moodle/lang/en/aim_quiz.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** aim_quiz.php 31 Aug 2003 20:44:57 -0000 1.4 --- aim_quiz.php 2 Sep 2003 00:40:24 -0000 1.5 *************** *** 2,7 **** #------------------------------------------------------------ ! $string['modulename'] = "AiM Quiz"; ! $string['modulenameplural'] = "AiM Quizzes"; #------------------------------------------------------------ --- 2,7 ---- #------------------------------------------------------------ ! $string['modulename'] = "Homework"; ! $string['modulenameplural'] = "Homework"; #------------------------------------------------------------ *************** *** 25,28 **** --- 25,29 ---- $string['commented'] = "Commented"; $string['deletequery'] = "Are you sure you want to delete this server?"; + $string['duedate'] = "Due date"; $string['edited'] = "Edited"; $string['editgrade'] = "Edit Grade"; *************** *** 49,52 **** --- 50,55 ---- $string['noreview'] = "You are not allowed to review this quiz"; $string['notattempted'] = "You have not attempted this quiz."; + $string['note'] = "Note"; + $string['notefile'] = "To upload more files into the course<br /> (so they appear in this list) use the <a href=\$a >File Manager</a>."; $string['notteacher'] = "You must be a teacher to use this page."; $string['quizresults'] = "Quiz Results"; *************** *** 55,61 **** --- 58,66 ---- $string['pdf_ok'] = "The pdf file has been successfully opened in another browser window."; $string['pdf_question'] = "Question"; + $string['problem_sheet'] = "Problem Sheet"; $string['refresh'] = "Refresh"; $string['reviewresults'] = "Review Results"; $string['serverinuse'] = "Error : Can not delete server as one or more Aim Quizzes depend on it."; + $string['solution_sheet'] = "Solution Sheet"; $string['student_password'] = "Student AiM Password"; $string['studentnotattempted'] = "The student has not attempted this quiz."; *************** *** 66,70 **** --- 71,77 ---- $string['teachercomment'] = "Teacher Comment"; $string['try_quiz'] = "Try Quiz"; + $string['viewproblem'] = "View Problem Sheet"; $string['viewquiz'] = "View Quiz"; + $string['viewsolution'] = "View Solution Sheet"; ?> |
|
From: <gus...@us...> - 2003-09-02 00:40:36
|
Update of /cvsroot/aimmath/moodle/lang/en/help/aim_quiz In directory sc8-pr-cvs1:/tmp/cvs-serv4126/lang/en/help/aim_quiz Modified Files: editgrade_comment.html Log Message: added problem and solution sheets and due date Index: editgrade_comment.html =================================================================== RCS file: /cvsroot/aimmath/moodle/lang/en/help/aim_quiz/editgrade_comment.html,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** editgrade_comment.html 25 Aug 2003 16:24:01 -0000 1.1.1.1 --- editgrade_comment.html 2 Sep 2003 00:40:24 -0000 1.2 *************** *** 1,5 **** <P ALIGN=CENTER><B>Comment field</B></P> ! <P>This field allows you to make a comment about the student's grade. If you have overridden the grade you must give a comment here to explain why.</P> <P><B>Links:</B></P> --- 1,5 ---- <P ALIGN=CENTER><B>Comment field</B></P> ! <P>This field allows you to make a comment about the student's grade. If you have overridden the grade you must give a comment here to explain why. This comment will be visible to the student.</P> <P><B>Links:</B></P> |
|
From: <gus...@us...> - 2003-09-02 00:40:36
|
Update of /cvsroot/aimmath/moodle/mod/aim_quiz
In directory sc8-pr-cvs1:/tmp/cvs-serv4126/mod/aim_quiz
Modified Files:
aimpage.php lib.php mod.html view.php
Log Message:
added problem and solution sheets and due date
Index: aimpage.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/aimpage.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
Index: lib.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/lib.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** lib.php 31 Aug 2003 20:44:57 -0000 1.4
--- lib.php 2 Sep 2003 00:40:24 -0000 1.5
***************
*** 500,504 ****
fwrite($fp,$latex);
fclose($fp);
! // $latexoutput = shell_exec("pdflatex temp.tex");
return true;
}
--- 500,504 ----
fwrite($fp,$latex);
fclose($fp);
! $latexoutput = system("pdflatex -interaction=batchmode temp.tex");
return true;
}
Index: mod.html
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/mod.html,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** mod.html 25 Aug 2003 16:24:08 -0000 1.1.1.1
--- mod.html 2 Sep 2003 00:40:24 -0000 1.2
***************
*** 14,17 ****
--- 14,23 ----
$form->name = "";
}
+ if (!isset($form->problem_sheet)) {
+ $form->problem_sheet = "";
+ }
+ if (!isset($form->solution_sheet)) {
+ $form->solution_sheet = "";
+ }
if (!isset($form->subject)) {
$form->subject = "";
***************
*** 23,26 ****
--- 29,35 ----
$form->grade = 0;
}
+ if (!isset($form->timedue)) {
+ $form->timedue = "";
+ }
// Now we set the defaults
if (!$form->subject) {
***************
*** 50,53 ****
--- 59,113 ----
</TR>
+ <tr valign=top>
+ <td align=right><p><b><?php print_string("duedate", "aim_quiz") ?>:</b></td>
+ <td><?php
+ print_date_selector("dueday", "duemonth", "dueyear", $form->timedue);
+ echo " - ";
+ print_time_selector("duehour", "dueminute", $form->timedue);
+ ?></td>
+ </tr>
+
+ <tr valign="top">
+ <td align="right" nowrap>
+ <p><b><?=get_string("problem_sheet", "aim_quiz")?>:</b></p>
+ </td>
+ <td>
+ <?php
+ $rootdir = $CFG->dataroot."/".$course->id;
+ $coursedirs = get_directory_list($rootdir, $CFG->moddata);
+ foreach ($coursedirs as $dir) {
+ $options["$dir"] = $dir;
+ }
+ choose_from_menu ($options, "problem_sheet", $form->problem_sheet);
+ ?>
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td align="right" nowrap>
+ <p><b><?=get_string("solution_sheet", "aim_quiz")?>:</b></p>
+ </td>
+ <td>
+ <?php
+ $rootdir = $CFG->dataroot."/".$course->id;
+ $coursedirs = get_directory_list($rootdir, $CFG->moddata);
+ foreach ($coursedirs as $dir) {
+ $options["$dir"] = $dir;
+ }
+ choose_from_menu ($options, "solution_sheet", $form->solution_sheet);
+ ?>
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td align="right" nowrap>
+ <p><b><?=get_string("note", "aim_quiz");?>:</b></p>
+ </td>
+ <td>
+ <p><?=get_string("notefile", "aim_quiz", "$CFG->wwwroot/files/index.php?id=$course->id")?>
+ </p>
+ </td>
+ </tr>
+
<TR valign=top>
<TD align=right><P><B><?php echo "$strsubject / $straimserver"; ?>:</B></P></TD>
***************
*** 62,66 ****
$newreturn = "update=$update";
if (!empty($return)) {
! $newreturn .= "&return=$return";
}
}
--- 122,126 ----
$newreturn = "update=$update";
if (!empty($return)) {
! $newreturn .= "&return=$return";
}
}
Index: view.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/view.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** view.php 31 Aug 2003 20:44:57 -0000 1.4
--- view.php 2 Sep 2003 00:40:24 -0000 1.5
***************
*** 176,184 ****
echo "<A href=\"aimpage.php?id=$cm->id&aimaction=subject\">" . get_string("admin_subject", "aim_quiz") . "</A>";
echo "</font></div>";
! }
! print_heading($strgrades);
! if (isteacher($course->id)) {
echo "<P align=\"center\"><B>" . get_string("maximumgrade") . "</B>: $aim_quiz->grade</P>";
$table->head = array ("", get_string("firstname"), get_string("lastname"), $strgrade, "");
--- 176,217 ----
echo "<A href=\"aimpage.php?id=$cm->id&aimaction=subject\">" . get_string("admin_subject", "aim_quiz") . "</A>";
echo "</font></div>";
! }
! print_simple_box_start("CENTER");
! print_heading($aim_quiz->name, "CENTER");
! $timedifference = $aim_quiz->timedue - time();
! if ($timedifference < 31536000) { // Don't bother showing dates over a year in the future
! $strdifference = format_time($timedifference);
! if ($timedifference < 0) {
! $strdifference = "<font color=\"red\">- $strdifference</font>";
! }
! $strduedate = userdate($aim_quiz->timedue)." ($strdifference)";
! echo "<b>".get_string("duedate", "assignment")."</b>: $strduedate<br />";
! }
!
! if (!isteacher($course->id)) {
! echo "<B>$strgrade :</B> ";
! if ($grade->grade >= 0)
! echo "$grade->grade / $aim_quiz->grade";
! else
! print_string("notattempted", "aim_quiz");
! if ($grade->override) {
! echo " (";
! print_string("gradeoverride", "aim_quiz");
! echo ")";
! }
! echo "<br />";
! if ($grade->comment)
! echo "<B>" . get_string("comment", "aim_quiz") . ":</B> " .
! nl2br(htmlspecialchars($grade->comment));
! }
!
! print_simple_box_end();
! echo "<br />";
!
!
! if (isteacher($course->id)) {
! print_heading($strgrades);
echo "<P align=\"center\"><B>" . get_string("maximumgrade") . "</B>: $aim_quiz->grade</P>";
$table->head = array ("", get_string("firstname"), get_string("lastname"), $strgrade, "");
***************
*** 222,248 ****
}
else {
- echo "<TABLE border=0 cellspacing=0 cellpadding=0 align=\"center\"><TR><TD>";
- echo "<P><B>$strgrade :</B> ";
- if ($grade->grade >= 0)
- echo "$grade->grade / $aim_quiz->grade";
- else
- print_string("notattempted", "aim_quiz");
- if ($grade->override) {
- echo " (";
- print_string("gradeoverride", "aim_quiz");
- echo ")";
- }
echo "</P>";
- if ($grade->comment)
- echo "<P align=\"center\"><B>" . get_string("comment", "aim_quiz") . ":</B> " . nl2br(htmlspecialchars($grade->comment)) . "</P>";
if ($grade->override) {
echo "<P align=\"center\">";
print_string("gradeoverridemsg", "aim_quiz");
echo "</P>";
- echo "<P align=\"center\"><A href=\"aimpage.php?id=$cm->id\">" . get_string("viewquiz", "aim_quiz") . "</A></P>";
}
! else
! echo "<P align=\"center\"><A href=\"aimpage.php?id=$cm->id\">" . get_string("viewquiz", "aim_quiz") . "</A></P>";
! echo "</TD></TR></TABLE>";
}
--- 255,280 ----
}
else {
echo "</P>";
if ($grade->override) {
echo "<P align=\"center\">";
print_string("gradeoverridemsg", "aim_quiz");
echo "</P>";
}
! echo "<div align=\"center\"><a href=\"aimpage.php?id=$cm->id\">" . get_string("viewquiz", "aim_quiz") . "</a></div>";
!
! if ($CFG->slasharguments) {
! $proburl = "$CFG->wwwroot/file.php/$course->id/$aim_quiz->problem_sheet";
! $solurl = "$CFG->wwwroot/file.php/$course->id/$aim_quiz->solution_sheet";
! } else {
! $proburl = "$CFG->wwwroot/file.php?file=/$course->id/$aim_quiz->problem_sheet";
! $solurl = "$CFG->wwwroot/file.php?file=/$course->id/$aim_quiz->solution_sheet";
! }
! if ($aim_quiz->problem_sheet) {
! echo "<div align=\"center\"><a href=\"" . $proburl . "\" target=\"problem_sheet\">" . get_string("viewproblem", "aim_quiz") . "</a></div>";
! }
! if (($aim_quiz->solution_sheet) and ($aim_quiz->timedue < time())) {
! echo "<div align=\"center\"><a href=\"" . $solurl . "\" target=\"solution_sheet\">" .
! get_string("viewsolution", "aim_quiz") . "</a></div>";
! }
}
|
|
From: <gus...@us...> - 2003-09-02 00:40:36
|
Update of /cvsroot/aimmath/moodle/mod/aim_quiz/db
In directory sc8-pr-cvs1:/tmp/cvs-serv4126/mod/aim_quiz/db
Modified Files:
mysql.php
Log Message:
added problem and solution sheets and due date
Index: mysql.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/aim_quiz/db/mysql.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** mysql.php 27 Aug 2003 14:21:24 -0000 1.2
--- mysql.php 2 Sep 2003 00:40:24 -0000 1.3
***************
*** 9,14 ****
/*if ($oldversion < 2003082100) {
}*/
return true;
}
! ?>
\ No newline at end of file
--- 9,20 ----
/*if ($oldversion < 2003082100) {
}*/
+ if ($oldversion < 2003090300) {
+ execute_sql(" ALTER TABLE `aim_quiz` ".
+ " ADD `problem_sheet` VARCHAR(100) , ".
+ " ADD `solution_sheet` VARCHAR(100) , ".
+ " ADD `timedue` INT(10 ) unsigned default '0' ");
+ }
return true;
}
! ?>
|
|
From: <gus...@us...> - 2003-09-01 20:22:36
|
Update of /cvsroot/aimmath/AIM/doc
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/doc
Modified Files:
packing.html
Log Message:
put in some /> to make more xml compliant
Index: packing.html
===================================================================
RCS file: /cvsroot/aimmath/AIM/doc/packing.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** packing.html 25 Aug 2003 21:47:19 -0000 1.2
--- packing.html 1 Sep 2003 20:22:23 -0000 1.3
***************
*** 16,20 ****
already been loaded.
! <br><br>
Each package is defined in a separate file, whose name is the same
--- 16,20 ----
already been loaded.
! <br /><br />
Each package is defined in a separate file, whose name is the same
***************
*** 28,32 ****
(relative to the top documentation directory).
! <br><br>
Each package file should start like this:
--- 28,32 ----
(relative to the top documentation directory).
! <br /><br />
Each package file should start like this:
***************
*** 41,45 ****
it has been read already.
! <br><br>
The documentation string should be written in HTML, with the
--- 41,45 ----
it has been read already.
! <br /><br />
The documentation string should be written in HTML, with the
***************
*** 68,72 ****
maintained.
! <br><br>
The file should end with
--- 68,72 ----
maintained.
! <br /><br />
The file should end with
***************
*** 117,121 ****
automatically.
! <br><br>
Variables or procedures declared in this way will automatically be
--- 117,121 ----
automatically.
! <br /><br />
Variables or procedures declared in this way will automatically be
***************
*** 133,137 ****
color='green'>EndPackage()</font> statement.
! <br><br>
If a <a href='Class.html'>class</a> is declared (using <font
--- 133,137 ----
color='green'>EndPackage()</font> statement.
! <br /><br />
If a <a href='Class.html'>class</a> is declared (using <font
***************
*** 146,148 ****
</body>
! </html>
\ No newline at end of file
--- 146,148 ----
</body>
! </html>
|
|
From: <gus...@us...> - 2003-09-01 20:22:36
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/locales
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/WEB-INF/maple/locales
Modified Files:
en.mpl
Log Message:
put in some /> to make more xml compliant
Index: en.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/locales/en.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** en.mpl 26 Aug 2003 17:13:22 -0000 1.3
--- en.mpl 1 Sep 2003 20:22:23 -0000 1.4
***************
*** 40,44 ****
<font color='green'><tt>vector([3,5,7])</tt></font>. In some
other cases, you should just use the notation
! <font color='green'><tt>[3,5,7]</tt></font>. \n<br>\n":
__("#MC Unlisted choice complaint") :=
--- 40,44 ----
<font color='green'><tt>vector([3,5,7])</tt></font>. In some
other cases, you should just use the notation
! <font color='green'><tt>[3,5,7]</tt></font>. \n<br />\n":
__("#MC Unlisted choice complaint") :=
***************
*** 133,137 ****
</li>
</ul>
! <br>
":
--- 133,137 ----
</li>
</ul>
! <br />
":
***************
*** 156,160 ****
to refer to the product of %s and %s, in which case you should have
entered %s instead.
! <br>
":
--- 156,160 ----
to refer to the product of %s and %s, in which case you should have
entered %s instead.
! <br />
":
***************
*** 219,227 ****
<tr>
<td nowrap align=center></td>
! <td align=left><font face=symbol>\\363<br>\\365</font></td>
<td align=center></td>
! <td nowrap align=center>u<sup>5</sup><hr NOSHADE> 2<Br></td>
<td nowrap align=center>du = </td>
! <td nowrap align=center>u<sup>6</sup><hr NOSHADE> 12<Br></td>
<td nowrap align=center>. </td>
</tr>
--- 219,227 ----
<tr>
<td nowrap align=center></td>
! <td align=left><font face=symbol>\\363<br />\\365</font></td>
<td align=center></td>
! <td nowrap align=center>u<sup>5</sup><hr NOSHADE> 2<br /></td>
<td nowrap align=center>du = </td>
! <td nowrap align=center>u<sup>6</sup><hr NOSHADE> 12<br /></td>
<td nowrap align=center>. </td>
</tr>
***************
*** 377,387 ****
</td><td nowrap align=center>
dy<hr NOSHADE>
! dx<Br></td><td nowrap align=center>
= </td><td nowrap align=center>
dy<hr NOSHADE>
! du<Br></td><td nowrap align=center>
</td><td nowrap align=center>
du<hr NOSHADE>
! dx<Br></td><td nowrap align=center>
= (7 u<sup>6</sup>)(2 x) = 14 (x<sup>2</sup> + 1)<sup>6</sup> x.</td></Table>
</td></table></centEr>
--- 377,387 ----
</td><td nowrap align=center>
dy<hr NOSHADE>
! dx<br /></td><td nowrap align=center>
= </td><td nowrap align=center>
dy<hr NOSHADE>
! du<br /></td><td nowrap align=center>
</td><td nowrap align=center>
du<hr NOSHADE>
! dx<br /></td><td nowrap align=center>
= (7 u<sup>6</sup>)(2 x) = 14 (x<sup>2</sup> + 1)<sup>6</sup> x.</td></Table>
</td></table></centEr>
|
|
From: <gus...@us...> - 2003-09-01 20:22:36
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim/try
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/WEB-INF/maple/aim/try
Modified Files:
Question.mpl
Log Message:
put in some /> to make more xml compliant
Index: Question.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/try/Question.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Question.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- Question.mpl 1 Sep 2003 20:22:23 -0000 1.4
***************
*** 236,240 ****
editsource :=
sprintf(
! "<input type=hidden name='SourceFile' value='%s'>\n%s\n",
p["SourceFile"],
page['ActionLink',"EditSource"]);
--- 236,240 ----
editsource :=
sprintf(
! "<input type=hidden name='SourceFile' value='%s' />\n%s\n",
p["SourceFile"],
page['ActionLink',"EditSource"]);
|
|
From: <gus...@us...> - 2003-09-01 20:22:36
|
Update of /cvsroot/aimmath/AIM In directory sc8-pr-cvs1:/tmp/cvs-serv25371 Modified Files: monitor.html Log Message: put in some /> to make more xml compliant Index: monitor.html =================================================================== RCS file: /cvsroot/aimmath/AIM/monitor.html,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** monitor.html 20 Apr 2003 23:14:28 -0000 1.1.1.1 --- monitor.html 1 Sep 2003 20:22:23 -0000 1.2 *************** *** 5,9 **** <body> <form name='aimform' action='Alice' method='POST'> ! <input type='hidden' name='Command' value='ServletMonitor'> </form> <script language="javascript"> --- 5,9 ---- <body> <form name='aimform' action='Alice' method='POST'> ! <input type='hidden' name='Command' value='ServletMonitor' /> </form> <script language="javascript"> |
|
From: <gus...@us...> - 2003-09-01 20:22:32
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/WEB-INF/maple
Modified Files:
Date.mpl Random.mpl newDate.mpl
Log Message:
put in some /> to make more xml compliant
Index: Date.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/Date.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Date.mpl 25 Aug 2003 21:47:18 -0000 1.3
--- Date.mpl 1 Sep 2003 20:22:23 -0000 1.4
***************
*** 353,359 ****
",
['Constructor',
! "If @date_@ is absent, construct the current date.<br>
If @date_@ is an integer, interpret it as a raw date, and construct
! a corresponding Date object.<br>
If @date_@ is a list of six integers, interpret them as year, month,
day, hour, minute and second, and construct a
--- 353,359 ----
",
['Constructor',
! "If @date_@ is absent, construct the current date.<br />
If @date_@ is an integer, interpret it as a raw date, and construct
! a corresponding Date object.<br />
If @date_@ is a list of six integers, interpret them as year, month,
day, hour, minute and second, and construct a
***************
*** 761,765 ****
to be selected from. The optional argument @initial_@ specifies
an initial selection.
! <br><br>
No input fields are provided for the hour, minute and second.
",
--- 761,765 ----
to be selected from. The optional argument @initial_@ specifies
an initial selection.
! <br /><br />
No input fields are provided for the hour, minute and second.
",
Index: Random.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/Random.mpl,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Random.mpl 1 Sep 2003 05:53:28 -0000 1.4
--- Random.mpl 1 Sep 2003 20:22:23 -0000 1.5
***************
*** 69,73 ****
fi:
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br>\n");
if not type(RandLevel,integer) then RandLevel:=1;
--- 69,73 ----
fi:
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br />\n");
if not type(RandLevel,integer) then RandLevel:=1;
***************
*** 367,371 ****
fi;
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br>\n");
RandLevel:=RandLevel-1;
printf(S);
--- 367,371 ----
fi;
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br />\n");
RandLevel:=RandLevel-1;
printf(S);
Index: newDate.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/newDate.mpl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** newDate.mpl 25 Aug 2003 21:47:18 -0000 1.2
--- newDate.mpl 1 Sep 2003 20:22:23 -0000 1.3
***************
*** 191,197 ****
",
['Constructor',
! "If @date_@ is absent, construct the current date.<br>
If @date_@ is an integer, interpret it as a raw date, and construct
! a corresponding Date object.<br>
If @date_@ is a list of six integers, interpret them as year, month,
day, hour, minute and second, and construct a
--- 191,197 ----
",
['Constructor',
! "If @date_@ is absent, construct the current date.<br />
If @date_@ is an integer, interpret it as a raw date, and construct
! a corresponding Date object.<br />
If @date_@ is a list of six integers, interpret them as year, month,
day, hour, minute and second, and construct a
***************
*** 520,524 ****
to be selected from. The optional argument @initial_@ specifies
an initial selection.
! <br><br>
No input fields are provided for the hour, minute and second.
",
--- 520,524 ----
to be selected from. The optional argument @initial_@ specifies
an initial selection.
! <br /><br />
No input fields are provided for the hour, minute and second.
",
|
|
From: <gus...@us...> - 2003-09-01 20:22:32
|
Update of /cvsroot/aimmath/AIM/WEB-INF/java/tth
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/WEB-INF/java/tth
Modified Files:
TtH.java
Log Message:
put in some /> to make more xml compliant
Index: TtH.java
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/java/tth/TtH.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** TtH.java 30 Aug 2003 22:40:55 -0000 1.3
--- TtH.java 1 Sep 2003 20:22:23 -0000 1.4
***************
*** 50,56 ****
"<p>\n" +
"Could not start TtH. Command used was '" + program + " -h'\n" +
! "<br>\n" +
"Exception message: " + e.getMessage() + "\n" +
! "<br>\n" +
"</p>\n";
return(msg);
--- 50,56 ----
"<p>\n" +
"Could not start TtH. Command used was '" + program + " -h'\n" +
! "<br />\n" +
"Exception message: " + e.getMessage() + "\n" +
! "<br />\n" +
"</p>\n";
return(msg);
***************
*** 166,170 ****
if (i == -1) {
! return("<br><font color='red'>TtH error</font>\n" +
"<font color='orange'>\n<pre>\n" + s + "\n</pre>\n</font>\n");
}
--- 166,170 ----
if (i == -1) {
! return("<br /><font color='red'>TtH error</font>\n" +
"<font color='orange'>\n<pre>\n" + s + "\n</pre>\n</font>\n");
}
***************
*** 174,178 ****
if (j == -1) {
! return("<br><font color='red'>TtH error</font>\n" +
"<font color='orange'>\n<pre>\n" + s + "\n</pre>\n</font>\n");
}
--- 174,178 ----
if (j == -1) {
! return("<br /><font color='red'>TtH error</font>\n" +
"<font color='orange'>\n<pre>\n" + s + "\n</pre>\n</font>\n");
}
***************
*** 208,214 ****
m = Math.min(input.length(),k+100);
html +=
! "<font color='red'>Unmatched <latex> tag:<br>" +
input.substring(k,m) +
! "</font><br>\n</html>\n";
i = input.length();
} else {
--- 208,214 ----
m = Math.min(input.length(),k+100);
html +=
! "<font color='red'>Unmatched <latex> tag:<br />" +
input.substring(k,m) +
! "</font><br />\n</html>\n";
i = input.length();
} else {
|
|
From: <gus...@us...> - 2003-09-01 20:22:31
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/WEB-INF/maple/aim
Modified Files:
Int.mpl
Log Message:
put in some /> to make more xml compliant
Index: Int.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/Int.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Int.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- Int.mpl 1 Sep 2003 20:22:23 -0000 1.4
***************
*** 276,280 ****
__("There was no penalty for omitting it.");
fi;
! feedback := feedback, "\n<br>\n";
note := note, __("no integration constant");
fi;
--- 276,280 ----
__("There was no penalty for omitting it.");
fi;
! feedback := feedback, "\n<br />\n";
note := note, __("no integration constant");
fi;
|
|
From: <gus...@us...> - 2003-09-01 20:22:31
|
Update of /cvsroot/aimmath/AIM/WEB-INF/java
In directory sc8-pr-cvs1:/tmp/cvs-serv25371/WEB-INF/java
Modified Files:
Alice.java MaplePool.java
Log Message:
put in some /> to make more xml compliant
Index: Alice.java
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/java/Alice.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Alice.java 1 Sep 2003 14:58:47 -0000 1.6
--- Alice.java 1 Sep 2003 20:22:23 -0000 1.7
***************
*** 267,271 ****
err.println("<p>");
err.println("AliceMapleDir was set to '" + AliceMapleDir + "'");
! err.println("<br>");
err.println(s);
err.println("</p>");
--- 267,271 ----
err.println("<p>");
err.println("AliceMapleDir was set to '" + AliceMapleDir + "'");
! err.println("<br />");
err.println(s);
err.println("</p>");
***************
*** 278,282 ****
err.println("<p>");
err.println("AliceMapleDir was set to '" + AliceMapleDir + "'");
! err.println("<br>");
err.println(f.getPath() +
" does not exist. This means that the Maple " +
--- 278,282 ----
err.println("<p>");
err.println("AliceMapleDir was set to '" + AliceMapleDir + "'");
! err.println("<br />");
err.println(f.getPath() +
" does not exist. This means that the Maple " +
***************
*** 315,319 ****
err.println("<p>");
err.println("TempDir was set to '" + TempDir + "'");
! err.println("<br>");
err.println(s);
err.println("</p>");
--- 315,319 ----
err.println("<p>");
err.println("TempDir was set to '" + TempDir + "'");
! err.println("<br />");
err.println(s);
err.println("</p>");
***************
*** 343,347 ****
err.println("<p>");
err.println("TtHProgram was set to '" + TtHProgram + "'");
! err.println("<br>");
err.println(s);
err.println("</p>");
--- 343,347 ----
err.println("<p>");
err.println("TtHProgram was set to '" + TtHProgram + "'");
! err.println("<br />");
err.println(s);
err.println("</p>");
***************
*** 376,380 ****
err.println("<p>");
err.println("MapleProgram was set to '" + MapleProgram + "'");
! err.println("<br>");
err.println(s);
err.println("</p>");
--- 376,380 ----
err.println("<p>");
err.println("MapleProgram was set to '" + MapleProgram + "'");
! err.println("<br />");
err.println(s);
err.println("</p>");
***************
*** 390,394 ****
err.println("<p>");
err.println("MaxMapleProcesses was set to " + MaxMapleProcesses);
! err.println("<br>");
err.println("Values less than one are not sensible.");
err.println("</p>");
--- 390,394 ----
err.println("<p>");
err.println("MaxMapleProcesses was set to " + MaxMapleProcesses);
! err.println("<br />");
err.println("Values less than one are not sensible.");
err.println("</p>");
***************
*** 409,413 ****
err.println("<p>");
err.println("The following required parameters are missing:");
! err.println("<br>");
Enumeration e = missing.elements();
while (e.hasMoreElements()) {
--- 409,413 ----
err.println("<p>");
err.println("The following required parameters are missing:");
! err.println("<br />");
Enumeration e = missing.elements();
while (e.hasMoreElements()) {
***************
*** 433,443 ****
configError +
"<hr noshade>\n<p>\n" +
! "<b>Note:</b><br>\n" +
"These messages refer to initialization parameters set in \n" +
! "the file \n<br>\n" +
"<font color='green'>" +
"<tt><top AIM directory>/WEB-INF/web.xml</tt>" +
"</font>" +
! ". \n<br>\n" +
"If you need to change these parameters, the approved \n" +
"procedure is to create or edit " +
--- 433,443 ----
configError +
"<hr noshade>\n<p>\n" +
! "<b>Note:</b><br />\n" +
"These messages refer to initialization parameters set in \n" +
! "the file \n<br />\n" +
"<font color='green'>" +
"<tt><top AIM directory>/WEB-INF/web.xml</tt>" +
"</font>" +
! ". \n<br />\n" +
"If you need to change these parameters, the approved \n" +
"procedure is to create or edit " +
***************
*** 491,495 ****
if (s.length() > 0) {
p.println(n + " was set to '" + LogFile + "'");
! p.print("<br>\n" + s + "\n<br>\n");
}
}
--- 491,495 ----
if (s.length() > 0) {
p.println(n + " was set to '" + LogFile + "'");
! p.print("<br />\n" + s + "\n<br />\n");
}
}
***************
*** 745,749 ****
out.println("<hr noshade>");
out.println("<form name='aimform' action='Alice' method='POST'>");
! out.println("<input type='hidden' name='Command' value='ServletMonitor'>");
out.println(maplePool.statusReport());
out.println("<hr noshade>");
--- 745,749 ----
out.println("<hr noshade>");
out.println("<form name='aimform' action='Alice' method='POST'>");
! out.println("<input type='hidden' name='Command' value='ServletMonitor' />");
out.println(maplePool.statusReport());
out.println("<hr noshade>");
Index: MaplePool.java
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/java/MaplePool.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MaplePool.java 5 May 2003 05:15:42 -0000 1.2
--- MaplePool.java 1 Sep 2003 20:22:23 -0000 1.3
***************
*** 427,431 ****
report.append("</table>\n");
} else {
! report.append("There are no active Maple processes.<br>\n");
}
--- 427,431 ----
report.append("</table>\n");
} else {
! report.append("There are no active Maple processes.<br />\n");
}
|
|
From: <gus...@us...> - 2003-09-01 17:21:12
|
Update of /cvsroot/aimmath/AIM/WEB-INF/classes In directory sc8-pr-cvs1:/tmp/cvs-serv22780/WEB-INF/classes Modified Files: Alice.class AliceLog.class AliceLogEntry.class AliceRequest.class Log Message: browser detection bug fix Index: Alice.class =================================================================== RCS file: /cvsroot/aimmath/AIM/WEB-INF/classes/Alice.class,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsBVWNPm and /tmp/cvsI2tLpz differ Index: AliceLog.class =================================================================== RCS file: /cvsroot/aimmath/AIM/WEB-INF/classes/AliceLog.class,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvskEMepn and /tmp/cvsw7zLDA differ Index: AliceLogEntry.class =================================================================== RCS file: /cvsroot/aimmath/AIM/WEB-INF/classes/AliceLogEntry.class,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsnF28Np and /tmp/cvssSFhrF differ Index: AliceRequest.class =================================================================== RCS file: /cvsroot/aimmath/AIM/WEB-INF/classes/AliceRequest.class,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsSyl9Tq and /tmp/cvsimOICH differ |
|
From: <mo...@us...> - 2003-09-01 16:34:47
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim
In directory sc8-pr-cvs1:/tmp/cvs-serv14699
Modified Files:
LaTeX.mpl
Log Message:
restored the previous code for `latex/latex/symbol` to fix the bug that was created when it was removed which ln to format in itialics
Index: LaTeX.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/LaTeX.mpl,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** LaTeX.mpl 1 Sep 2003 05:55:59 -0000 1.4
--- LaTeX.mpl 1 Sep 2003 16:34:42 -0000 1.5
***************
*** 50,53 ****
--- 50,76 ----
# KM
`Package/Assign`(
+ `latex/latex/symbol`,
+ "",
+ proc(QQ)
+ local texlist, s,n,`{`, `}`, `\\_`;
+ option system, remember;
+ if assigned(`latex/special_names`[cat(``,QQ)]) then
+ texlist := `latex/special_names`[cat(``,QQ)]
+ elif member(QQ, eval(`latex/greek`, 1)) then
+ texlist := `latex/latex/copy`(cat(`\\`,QQ))
+ else
+ texlist := `latex/latex/copy`(QQ);
+ s := convert(texlist,string);
+ if s <> "" and substring(s,1..1) = "&" then
+ s := substring(s,2..-1);
+ n := convert(s,name);
+ texlist := `latex/latex/copy`(n);
+ fi;
+ fi;
+ RETURN(texlist);
+ end
+ ):
+
+ `Package/Assign`(
`latex/latex/**`,
"This function overrides the default Maple routine for
|
|
From: <gus...@us...> - 2003-09-01 14:58:51
|
Update of /cvsroot/aimmath/AIM/WEB-INF/java
In directory sc8-pr-cvs1:/tmp/cvs-serv30307/WEB-INF/java
Modified Files:
Alice.java
Log Message:
browser detection bug fix
Index: Alice.java
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/java/Alice.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Alice.java 31 Aug 2003 11:44:33 -0000 1.5
--- Alice.java 1 Sep 2003 14:58:47 -0000 1.6
***************
*** 597,601 ****
String tthOpt = "";
//get user agent
! String browser = request.getHeader("User-Agent").toLowerCase();
//System.out.println("Browser: " + browser);
--- 597,603 ----
String tthOpt = "";
//get user agent
! String browser = request.getHeader("User-Agent");
! if (browser != null) {
! browser = browser.toLowerCase();
//System.out.println("Browser: " + browser);
***************
*** 612,616 ****
tthOpt = "-u";
}
!
maple.exec("`aim/Main`(" + commandargs + "):\n", webOutput, alicereq.mathdisplay, tthOpt);
} catch(Exception e) {
--- 614,619 ----
tthOpt = "-u";
}
! }
!
maple.exec("`aim/Main`(" + commandargs + "):\n", webOutput, alicereq.mathdisplay, tthOpt);
} catch(Exception e) {
***************
*** 1289,1291 ****
// compile-command: "javac -d /aim/WEB-INF/classes Alice.java"
// End:
-
--- 1292,1293 ----
|
|
From: <gr...@us...> - 2003-09-01 09:01:53
|
Update of /cvsroot/aimmath/AIM/doc In directory sc8-pr-cvs1:/tmp/cvs-serv3737 Modified Files: installlin.html Log Message: A further update ... hopefully good enough now for AiM 3.0 :-) - GG Index: installlin.html =================================================================== RCS file: /cvsroot/aimmath/AIM/doc/installlin.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** installlin.html 29 Aug 2003 19:05:14 -0000 1.2 --- installlin.html 1 Sep 2003 09:01:48 -0000 1.3 *************** *** 17,21 **** <li><a href="#jre">Install the Java runtime environment</a></li> <li><a href="#tomcat">Install the Tomcat web server</a></li> - <li><a href="#tth">Install TtH (TeX-to-HTML)</a></li> <li><a href="#aim">Install AiM itself</a></li> </ol> --- 17,20 ---- *************** *** 70,75 **** contact <a href='mailto:in...@ma...'>Waterloo Maple</a> directly to ensure that you are complying with your license terms. If ! you have any complex discussions about licensing issues then (<a ! href='mailto:N.P...@sh...'>Neil Strickland</a>) would appreciate a copy. Waterloo Maple are aware of AiM and are generally supportive. Our main contact there has been <a --- 69,74 ---- contact <a href='mailto:in...@ma...'>Waterloo Maple</a> directly to ensure that you are complying with your license terms. If ! you have any complex discussions about licensing issues then <a ! href='mailto:N.P...@sh...'>Neil Strickland</a> would appreciate a copy. Waterloo Maple are aware of AiM and are generally supportive. Our main contact there has been <a *************** *** 83,95 **** by downloading and running the <a href="http://aimmath.sourceforge.net/j2re-1_4_2_01-linux-i586.bin">installer ! for JRE 1.4.2</a> (14MB) or you can install the full developer's kit ! by downloading and running the ! <a href="http://aimmath.sourceforge.net/j2sdk-1_4_2_01-linux-i586.bin">installer ! for SDK 1.4.2</a> (35MB) both from ! <a href="http://java.sun.com">java.sun.com</a> (the latter of these gives ! you <code>javac</code> and others, which you will need if you intend to ! compile java code). By default, it will unpack in <font ! color='green'>/usr/java/j2sdk1.4.2_01</font> (but it will allow you to ! install it in <font color='green'>/usr/local/java/j2sdk1.4.2_01</font> if you prefer). You should make a symbolic link to this from <font color='green'>/usr/java/jdk</font> (or <font --- 82,91 ---- by downloading and running the <a href="http://aimmath.sourceforge.net/j2re-1_4_2_01-linux-i586.bin">installer ! for JRE 1.4.2</a> (14MB) or you can install the full developer's kit (SDK) ! which can be obtained free from <a href="http://java.sun.com">java.sun.com</a> ! (35MB) (the full SDK gives you <code>javac</code> and others, which you will ! need if you intend to compile java code). By default, the JRE or SDK will ! unpack in <font color='green'>/usr/java/j2sdk1.4.2_01</font> (but it will allow ! you to install it in <font color='green'>/usr/local/java/j2sdk1.4.2_01</font> if you prefer). You should make a symbolic link to this from <font color='green'>/usr/java/jdk</font> (or <font *************** *** 112,128 **** <h2><a name="tth">TtH</a></h2> ! You will need to download the TeX-to-HTML converter TtH from <a ! href="http://hutchinson.belmont.ma.us/tth/">hutchinson.belmont.ma.us/tth/</a>. ! The executable file <font color='green'>tth</font> should be in a standard ! path such as <font color='green'>/usr/bin</font> or <font color='green'>/usr/local/bin</font>. TtH, by default, uses symbol fonts, which should display ! properly under Internet Explorer or Netscape 4 (and earlier) on Windows ! platforms. Recent versions of Netscape and Mozilla no longer support ! symbol fonts, but do display Unicode fonts (which, alas, Internet Explorer ! does not fully support). If you know that your users will have recent ! browsers with Unicode support then another option is to make TtH use ! the -u flag; see the mailing list for discussion of how to do this and ! whether it is a good idea. We hope to soon to have the facility to ! detect the browser so that AiM serves pages with symbol fonts or Unicode ! fonts as appropriate for the browser. <h2><a name="aim">AiM</a></h2> --- 108,146 ---- <h2><a name="tth">TtH</a></h2> ! If you don't already have <font color='green'>tth</font> ! (the command that runs the TeX-to-HTML converter TtH from <a ! href="http://hutchinson.belmont.ma.us/tth/">hutchinson.belmont.ma.us/tth/</a>) ! installed or if your already installed version of <font color='green'>tth</font> ! is version 3.30 or better, you may skip this section. ! <p/> ! During the running of <font color='green'>AutoConf.mpl</font> (see the next ! section), the TtH used by AiM is set to the first one found by searching the ! standard paths <font color='green'>/usr/local/bin</font>, ! <font color='green'>/usr/bin</font> and <font color='green'>/bin</font>, ! and if it is not found amongst these paths it is set to the copy of ! <font color='green'>tth</font> that comes with the AiM distribution. ! If <font color='green'>AutoConf.mpl</font> finds a version ! of <font color='green'>tth</font> on your system that is older than 3.30 ! you should set AiM to use its own copy, by setting ! <blockquote> ! <code>Config['TtHProgram'] := "/usr/local/tomcat/webapps/AiM/bin/tth_exe/tth": ! </code> ! </blockquote> ! (modified appropriately for whatever your AiM webapps directory is) in ! <font color='green'>ManualConfig.mpl</font> and rerunning <font ! color='green'>AutoConf.mpl</font>. ! <p/> ! Note that versions of TtH older that 3.30 may translate some ``unbalanced'' ! LaTeX <code>eqnarray</code> environments so that they are not nicely centred. ! This problem was fixed in version 3.30. ! <p/> ! Note also that by default, TtH uses symbol fonts, which display fine ! with Internet Explorer or Netscape 4 (and earlier) on Windows platforms. ! However, recent versions of Netscape and Mozilla no longer support symbol fonts ! (at least not directly), but do display Unicode fonts (which, alas, ! Internet Explorer does not fully support) which TtH can be configured to use ! via a -u flag. AiM now has some limited browser detection - it should detect ! Mozilla, Netscape 6+ and Safari and display pages using Unicode; for other ! browsers AiM will default to using symbol fonts. <h2><a name="aim">AiM</a></h2> *************** *** 178,185 **** are generated automatically, so you should use some other name. <p/> ! Now start Maple, and read in the file ! <font color='green'>AutoConf.mpl</font>. This will try to ! find out all the necessary configuration information automatically. ! If it complains of any problems, you may wish to set <font color='green'>waffle := true</font> and run it again to get a more verbose report. The output is saved in the file --- 196,209 ---- are generated automatically, so you should use some other name. <p/> ! You are now ready to configure AiM. This is done by starting Maple, and ! reading the file <font color='green'>AutoConf.mpl</font> via ! <blockquote> ! <code>read "AutoConf.mpl";</code> ! </blockquote> ! Particularly if you have not installed AiM before, you should be able to ! do this now and sort out any problems later. (If you'd rather be more ! certain or do have a previous version of AiM installed, read the next ! paragraph first.) If there are complaints when running <font ! color='green'>AutoConf.mpl</font>, you may wish to set <font color='green'>waffle := true</font> and run it again to get a more verbose report. The output is saved in the file *************** *** 187,204 **** printed on the terminal. <p/> ! Under Linux, <font color='green'>AutoConf.mpl</font> will probably ! find everything it needs. There is currently a problem with time ! zones, however; if automatic configuration reports a time zone that ! already includes a shift for summer time, then you should manually ! correct it to the corresponding zone without a shift. For example, ! BST = British Summer Time = GMT + 1 hour should be changed to GMT = ! GMT + 0 hours. To provide help, you should copy the file <font ! color='green'>ManualConfig.dist</font> to <font color='green'>ManualConfig.mpl</font> and then edit it following the instructions included in the file. You should then run <font ! color='green'>AutoConf.mpl</font> again. This will run various ! consistency checks as well as generating other configuration files. ! You can iterate this procedure as often as you like until you get ! an installation without error messages. <p/> By the way, by running <font color='green'>AutoConf.mpl</font>, --- 211,272 ---- printed on the terminal. <p/> ! <a name = "reconfig"> ! Usually <font color='green'>AutoConf.mpl</font></a> will find everything ! it needs, but if not, you will need to have a file <font ! color='green'>ManualConfig.mpl</font> that contains the parameters ! whose default values you wish to override and rerun <font ! color='green'>AutoConf.mpl</font>. To create such a file start ! by copying <font color='green'>ManualConfig.dist</font> to <font color='green'>ManualConfig.mpl</font> and then edit it following the instructions included in the file. You should then run <font ! color='green'>AutoConf.mpl</font> again. You can iterate this procedure ! as often as is needed until you get an installation without error messages. ! Particular settings you may want to check are the following: ! <dl> ! <dt><em>Did you already have </em><font color='green'>tth</font> ! <em>installed prior to installing AiM?</em> ! <dd>If so have a quick look at the section regarding ! <a href = "#tth">TtH</a>.</dd> ! <dt><em>Do you need to set the port used by Tomcat to something other ! that the default?</em> ! <dd>The default port used by Tomcat is 8080. Prior to AiM 3.0 the ! default port was 80. The issues to consider are: ! <ul> ! <li>When port 80 is used, it need not appear in the URL, but then ! Tomcat needs to be run as a root process.</li> ! <li>If port 8080 is used (or any other port > 1024) then the ! string <tt>:8080</tt> (or whatever port was used) needs to ! appear after the domain part of the URL, but Tomcat need not ! be run as a root process.</li> ! </ul> ! If you are upgrading from a previous installation ! that used port 80, then it will probably be best to stick with that, ! but then you will need to set ! <blockquote> ! Config['TomcatPort'] := 80: ! </blockquote> ! in <font color='green'>ManualConfig.mpl</font>. If you neglected ! to do this the first time around you may have to manually edit ! the files <font color='green'>admin.html</font> and ! <font color='green'>index.html</font> in ! the <font color='green'>WEB-INF</font> directory and ! <font color='green'>DefaultZone.mpl</font> ! in the <font color='green'>WEB-INF/root</font> directory, to remove ! the string <tt>:8080</tt>. Incidentally, the port used by Tomcat is ! set in the <tt><Connector/><tt> tag ! (that is in turn embedded in <tt><Server ...><Service ...> ! ... </Service></Server></tt>) in the file ! <font color='green'>/usr/local/tomcat/conf/server.xml</font>.</dd> ! <dt><em>Is the time set correctly?</em> ! <dd>There is currently a problem with time zones; if automatic ! configuration reports a time zone that includes a shift for ! summer time, then you may need to manually correct it to the ! corresponding zone without a shift. For example, ! BST = British Summer Time = GMT + 1 hour should be changed to ! GMT = GMT + 0 hours. If you are in the southern hemisphere or ! your locale doesn't have daylight saving, you may want ! to hard-set the time in <font color='green'>ManualConfig.mpl</font> ! (see the end of the file).</dd> ! </dl> <p/> By the way, by running <font color='green'>AutoConf.mpl</font>, *************** *** 206,211 **** configures Tomcat, writing <ul> - <li>configuration information for Tomcat to the file - <font color='green'>/usr/local/tomcat/conf/server.xml</font>;</li> <li>AiM-specific configuration information to the file <font color='green'>WEB-INF/web.xml</font> under the --- 274,277 ---- *************** *** 222,225 **** --- 288,323 ---- executing <font color='green'>WEB-INF/startaim.sh</font> in the main AiM directory. + <p/> + The scripts <font color='green'>WEB-INF/startaim.sh</font> and + <font color='green'>WEB-INF/stopaim.sh</font> start and stop the + Tomcat server <em>completely</em>. This may be inconvenient if you have + multiple AiM installations or indeed other webapps served by your + Tomcat, in which case you may wish to activate Tomcat's + <strong>manager</strong> role. One way to do this is to add a line + <blockquote> + <code><user name="..." password="..." roles="manager" /></code> + </blockquote> + for appropriate ...s in <font + color='green'>/usr/local/tomcat/conf/tomcat-users.xml</font> + and the lines + <blockquote> + <code><Context path="/manager" debug="0" privileged="true" + docBase="/usr/local/tomcat/server/webapps/manager"/></code> + </blockquote> + in <font color='green'>/usr/local/tomcat/conf/server</font> between the + <code><Server ...><Service ...> ... + </Service></Server></code> tags. After restarting Tomcat + you will then be able to start and stop a single installation of AiM, by + entering the appropriate one of + <blockquote> + <tt>http://.../manager/stop?path=/AiM</tt><br/> + <tt>http://.../manager/start?path=/AiM</tt> + </blockquote> + in the URL address field of your web browser, where ... is + the appropriate domain of your AiM site. These commands each bring up a + dialog box in which you must enter a username and password (as defined in + <font color='green'>/usr/local/tomcat/conf/tomcat-users.xml</font>). See + <a href = + "http://jakarta.apache.org/tomcat/tomcat-4.1-doc/manager-howto.html">http://jakarta.apache.org/tomcat/tomcat-4.1-doc/manager-howto.html</a> for more details. </li> <li>Point your webbrowser at the URL of the AiM server. This will be something *************** *** 299,304 **** server, or change the port that Tomcat is listening and also set <font color='green'>Config['TomcatPort']</font> ! in <font color='green'>AutoConfig.mws</font> to specify a ! different port and reexecute that worksheet. </li> <li>The message <font color='red'>Catalina.stop: --- 397,403 ---- server, or change the port that Tomcat is listening and also set <font color='green'>Config['TomcatPort']</font> ! in <font color='green'>ManualConfig.mpl</font> to specify a ! different port and rerun <font color='green'>AutoConf.mpl</font> ! (see <a href = "#reconfig">above</a>. </li> <li>The message <font color='red'>Catalina.stop: *************** *** 309,313 **** </ul> <hr/> ! Last modified by Greg Gamble on 30/08/03 </body> --- 408,412 ---- </ul> <hr/> ! Last modified by Greg Gamble on 01/09/03 </body> |
|
From: <mo...@us...> - 2003-09-01 05:56:38
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple
In directory sc8-pr-cvs1:/tmp/cvs-serv8501
Modified Files:
Aim.mpl AliceServer.mpl PackageList Random.mpl Util.mpl
Log Message:
Several new packages and modifications... see posting to developer's list
Index: Aim.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/Aim.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Aim.mpl 25 Aug 2003 21:47:18 -0000 1.3
--- Aim.mpl 1 Sep 2003 05:53:28 -0000 1.4
***************
*** 513,516 ****
--- 513,519 ----
quizcontext['QueryLink'] := subj['QueryLink'];
+ # KM
+ solnRevealed := false;
+ # END KM
if subj['IsRegistered',id] then
quizcontext['Student'] := eval(subj['GetStudent',id]);
***************
*** 520,524 ****
# this quiz, show them again until he requests a new version
seedfile := cat(quiz['RootDir'],"/records/",id,"/seed.m");
- solnRevealed := false;
if `OS/FileExists`(seedfile) and not command="NewQuizVersion" then
seed := AimCache['Load',seedfile];
--- 523,526 ----
***************
*** 538,541 ****
--- 540,545 ----
fi;
+ isguest := quizcontext['StudentIsGuest'];
+
quizcontext['Password'] := password;
quizcontext['Param'] := eval(param);
***************
*** 554,560 ****
# DIST command <> "NewQuizVersion" and
# DIST command <> "ShowQuizSolutions"
! param["Focused"] = "true"
# END KM
- );
focuslabel := param["FocusLabel"];
--- 558,565 ----
# DIST command <> "NewQuizVersion" and
# DIST command <> "ShowQuizSolutions"
! param["Focused"] = "true") and
! not (isguest and
! member(command,{"ShowQuizSolutions","NewQuizVersion"}));
# END KM
focuslabel := param["FocusLabel"];
***************
*** 594,598 ****
####################
- isguest := quizcontext['StudentIsGuest'];
mode := quiz['Mode'];
notstrict := evalb(mode <> "strict");
--- 599,602 ----
***************
*** 638,642 ****
quizcontext['UseRecordedSeed'] :=
evalb(not(isguest or (command = "NewQuizVersion")));
! quizcontext['UseSeedParameter'] := isguest;
quizcontext['GenerateSeed'] :=
evalb(isguest or (command = "NewQuizVersion"));
--- 642,650 ----
quizcontext['UseRecordedSeed'] :=
evalb(not(isguest or (command = "NewQuizVersion")));
! # KM
! # DIST quizcontext['UseSeedParameter'] := isguest;
! quizcontext['UseSeedParameter'] :=
! evalb(isguest and not(command = "NewQuizVersion"));
! # END KM
quizcontext['GenerateSeed'] :=
evalb(isguest or (command = "NewQuizVersion"));
***************
*** 644,651 ****
quizcontext['RecordSeed'] :=
# KM
- # DIST quizcontext['DeleteSeed'] := showsol;
- # TODO: Check if this still works for guests...
# DIST evalb(not(isguest) and (command = "NewQuizVersion"));
! evalb(not isguest);
quizcontext['DeleteSeed'] :=
evalb(command = "NewQuizVersion");
--- 652,658 ----
quizcontext['RecordSeed'] :=
# KM
# DIST evalb(not(isguest) and (command = "NewQuizVersion"));
! not isguest;
! # DIST quizcontext['DeleteSeed'] := showsol;
quizcontext['DeleteSeed'] :=
evalb(command = "NewQuizVersion");
***************
*** 691,695 ****
quizcontext['ShowPrevious'] := true;
quizcontext['ShowFeedback'] := showmark;
! quizcontext['ShowMark'] := showmark;
quizcontext['ShowRightAnswer'] := showsol;
quizcontext['ShowSolution'] := showsol;
--- 698,705 ----
quizcontext['ShowPrevious'] := true;
quizcontext['ShowFeedback'] := showmark;
! # KM
! # DIST quizcontext['ShowMark'] := showmark;
! quizcontext['ShowMark'] := showmark and not isguest;
! # END KM
quizcontext['ShowRightAnswer'] := showsol;
quizcontext['ShowSolution'] := showsol;
Index: AliceServer.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/AliceServer.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** AliceServer.mpl 25 Aug 2003 21:47:18 -0000 1.3
--- AliceServer.mpl 1 Sep 2003 05:53:28 -0000 1.4
***************
*** 29,33 ****
interface(warnlevel = 0):
readlib(latex):
! unassign('`latex/exp`'):
unassign('`latex/ln`'):
unassign('`latex/log`'):
--- 29,35 ----
interface(warnlevel = 0):
readlib(latex):
! # KM
! # DIST unassign('`latex/exp`'):
! # END KM
unassign('`latex/ln`'):
unassign('`latex/log`'):
***************
*** 94,97 ****
--- 96,103 ----
unassign('zonefile'): # tidy up
+ # KM
+ e := exp(1);
+ _LatexSmallFractionConstant := 5000;
+ # END KM
pi := Pi:
Index: PackageList
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/PackageList,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PackageList 25 Aug 2003 21:47:18 -0000 1.2
--- PackageList 1 Sep 2003 05:53:28 -0000 1.3
***************
*** 18,21 ****
--- 18,25 ----
aim/Mark
aim/SyntaxHints
+ aim/Decimal
+ aim/SET
+ aim/Inert
+ aim/Number
aim/Diff
aim/Int
***************
*** 39,42 ****
--- 43,47 ----
aim/admin/SourceDir
aim/admin/SourceFile
+ aim/admin/CompileSubject
aim/admin/Quiz
aim/admin/Subject
Index: Random.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/Random.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Random.mpl 25 Aug 2003 21:47:18 -0000 1.3
--- Random.mpl 1 Sep 2003 05:53:28 -0000 1.4
***************
*** 55,59 ****
"Implements Ken Monks' Rand() function, a recursive random thing-maker. See the <a href=\"http://math.scranton.edu/monks/software/Rand/Rand.html\">Help file for Rand()</a> for details.",
proc()
! local f,a,n,L,wt,i,r,tot,cm,pick,s,m,w,ans,t,newargs,S,AreEqual:
global RandLevel;
--- 55,59 ----
"Implements Ken Monks' Rand() function, a recursive random thing-maker. See the <a href=\"http://math.scranton.edu/monks/software/Rand/Rand.html\">Help file for Rand()</a> for details.",
proc()
! local f,a,b,n,L,wt,i,r,tot,cm,pick,s,m,w,ans,t,newargs,S,AreEqual,R,V,F,Fargs,finished,numargs,Nops,mx,mn,treesizes,j:
global RandLevel;
***************
*** 69,78 ****
fi:
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br/>\n");
if not type(RandLevel,integer) then RandLevel:=1;
else RandLevel:=RandLevel+1;
fi;
! S:=cat("-"$RandLevel,S);
printf(S);
fi:
--- 69,78 ----
fi:
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br>\n");
if not type(RandLevel,integer) then RandLevel:=1;
else RandLevel:=RandLevel+1;
fi;
! S:=cat("-"$RandLevel,">",S);
printf(S);
fi:
***************
*** 113,123 ****
# fairly pick one of the args
pick:=rand(tot)()+1:
cm:=wt[1]: for i to nargs while cm<pick do cm:=cm+wt[i+1]; od:
# putting eval here allows us to pass Rand unevaluated arguments like 'x'
# which may store things that AIM can't parse,
# so they can make it here for use in Rand
r:=eval(newargs[i]):
!
# and process it
--- 113,125 ----
# fairly pick one of the args
+
pick:=rand(tot)()+1:
cm:=wt[1]: for i to nargs while cm<pick do cm:=cm+wt[i+1]; od:
+
# putting eval here allows us to pass Rand unevaluated arguments like 'x'
# which may store things that AIM can't parse,
# so they can make it here for use in Rand
r:=eval(newargs[i]):
!
# and process it
***************
*** 128,131 ****
--- 130,144 ----
elif type(r,range(integer)) then
ans:=rand(r)():
+ # "a".."b"
+ elif type(r,range(string)) then
+ a:=op(1,convert(op(1,r),bytes));
+ b:=op(1,convert(op(2,r),bytes));
+ s:=seq(convert([t],bytes),t=a..b);
+ ans:=Rand(s):
+ # 0.01..1.0
+ elif type(r,range(float)) then
+ a:=op(2,op(1,r)); b:=op(2,op(2,r)); m:=min(a,b);
+ s:=op(1,op(1,r))*10^(a-m); t:=op(1,op(2,r))*10^(b-m); L:=sort([s,t]);
+ ans:=Float(Rand(L[1]..L[2]),m):
# [...]
elif type(r,list) then
***************
*** 152,159 ****
ans:=`new/SET`(Rand(Seq(op(r))));
else
! ans:=`new/SET`(Rand(Seq(op(r),isEqual)));
fi:
# if a SET object is passed, use its list of elements
! elif type(r,table) and op(1,op(r))='SET' then
ans:=Rand(r['Elements']);
# SUM(...)
--- 165,172 ----
ans:=`new/SET`(Rand(Seq(op(r))));
else
! ans:=`new/SET`(Rand(Seq(op(r),`aim/Test`)));
fi:
# if a SET object is passed, use its list of elements
! elif type(r,'SET') then
ans:=Rand(r['Elements']);
# SUM(...)
***************
*** 194,198 ****
for i to 1000 while nops(ans)<n do
t:=Rand(a);
! if not member(t,ans) then ans:=[op(ans),eval(t)]; fi:
od:
fi;
--- 207,211 ----
for i to 1000 while nops(ans)<n do
t:=Rand(a);
! if not member(eval(t),ans) then ans:=[op(ans),eval(t)]; fi:
od:
fi;
***************
*** 230,235 ****
--- 243,349 ----
ans:=L
fi:
+ # Partition(...)
+ elif type(r,specfunc(anything,'Partition')) then
+ Nops:=nops(r);
+ if Nops=1 then
+ ans:=Rand(Permute(combinat['randpart'](Rand(op(r)))));
+ elif Nops=2 then # second argument specifies the number of terms in the partition
+ L:=NULL; n:=Rand(op(1,r)); s:=Rand(op(2,r));
+ if n<s then error "No such partition exists" fi;
+ for i to s-1 do
+ m:=Rand(1..n-(s-i));
+ L:=L,m;
+ n:=n-m;
+ od:
+ ans:=[L,n];
+ elif Nops=3 then # third argument specifies the maximum size of a term in the partition
+ L:=NULL; n:=Rand(op(1,r)); s:=Rand(op(2,r)); mx:=Rand(op(3,r));
+ if n<s or mx*s<n then error "No such partition exists" fi;
+ for i to s-1 do
+ m:=Rand(1..min(n-(s-i),mx));
+ L:=L,m;
+ n:=n-m;
+ od:
+ ans:=[L,n];
+ elif Nops=4 then # fourth argument specifies the minimum size of a term in the partition
+ L:=NULL; n:=Rand(op(1,r)); s:=Rand(op(2,r)); mx:=Rand(op(3,r)); mn:=Rand(op(4,r));
+ for i to s-1 do
+ m:=Rand(1..min(n-(s-i),mx));
+ L:=L,m;
+ n:=n-m;
+ od:
+ ans:=[L,n];
+ fi;
+ # Frac(integerpart,den)
+ elif type(r,specfunc(anything,'Frac')) then
+ if nops(r)<>2 then
+ error "Syntax: Frac(integerpart,den)";
+ fi;
+ n:=Rand(op(1,r)); m:=Rand(op(2,r)); a:=Rand(1..m-1);
+ ans:=(a+n*m)/m;
+
+ # Random Expressions from a family of operators
+ elif type(r,specfunc(anything,Expression)) then
+ R:=[op(r)];
+ n:=nops(R); # the number of Inerts to use
+ if n=0 then error "Syntax: Expression() must have at least one argument" fi:
+ # each element of R is an argument to Rand which returns
+ # a vector with two or three elements A,B,C where A is an Inert
+ # B is argument to Rand that produces elements in the
+ # domain of A. If A can have any number of args then C is an
+ # argument to Rand which produces the number of arguments to use
+ # we do not randomize the order of the args, in case the user
+ # wants to specify a particular order.
+ V:=Rand(R[1]); # take the first Inert
+ F:=V[1];
+ if not type(F,'Inert') then
+ error "Syntax: First element in vector must be an Inert"
+ fi;
+ numargs:=F['Nargs'];
+ if numargs<0 then
+ # the vector must have three components, the third being the number of arguments to use
+ if linalg[vectdim](V)<3 then
+ error "Syntax: the number of arguments must be specified for Inerts with an arbitrary number of arguments";
+ fi;
+ numargs:=V[3];
+ fi:
+ # partition the provided Inerts among the arguments to F
+ if n=1 then
+ treesizes:=[seq(0,i=1..numargs)];
+ else
+ treesizes:=Rand(Partition(n-1,1..min(numargs,n-1)));
+ treesizes:=Rand(Permute([op(treesizes),seq(0,i=1..numargs-nops(treesizes))]));
+ fi:
+ # try to find a selection that is in the domain
+ finished:=false;
+ for i to 1000 while not finished do
+ Fargs:=NULL; m:=2;
+ for j to numargs do
+ if treesizes[j]=0 then
+ if nops([Fargs])=1 then
+ Fargs:=eval(Fargs),Rand(op(2,R[1]));
+ else
+ Fargs:=Fargs,Rand(op(2,R[1]));
+ fi;
+ else
+ if nops([Fargs])=1 then
+ Fargs:=eval(Fargs),Rand(Expression(op(R[m..m+treesizes[j]-1])));
+ else
+ Fargs:=Fargs,Rand(Expression(op(R[m..m+treesizes[j]-1])));
+ fi;
+ m:=m+treesizes[j];
+ fi:
+ od:
+ if F['Domain'](Fargs) then finished:=true; fi:
+ od:
+ if i>1000 then
+ error "More than 1000 attempts failed to produce an element in the domain."
+ fi;
+ ans:=Apply(F,Fargs);
+
+ # sometimes we want Rand to return NULL
elif r='Null' then
ans:=NULL;
+
# everything else just gets returned
else
***************
*** 239,252 ****
# print debug info
if type(infolevel[`Rand`],integer) and infolevel[`Rand`]>0 then
if ans=NULL then
! S:=cat("."$RandLevel,"Rand returned null. ");
else
! S:=cat("."$RandLevel,sprintf("Rand selected: %q",eval(ans)));
fi:
if infolevel[`Rand`]=1 then
! if length(S)>250 then S:=cat(substring(S,1..250),"...") fi;
fi;
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br/>\n");
RandLevel:=RandLevel-1;
printf(S);
--- 353,371 ----
# print debug info
if type(infolevel[`Rand`],integer) and infolevel[`Rand`]>0 then
+ S:=cat("<","."$RandLevel);
if ans=NULL then
! S:=cat(S,"Rand returned null. ");
! elif type(ans,Inert) then
! S:=cat(S,"Rand selected the Inert whose name is: ",ans['Name']);
! elif type(ans,InertExpr) then
! S:=cat(S,"Rand returned the InertExpr whose TeX string is: ",ans['TeX']);
else
! S:=cat(S,sprintf("Rand selected: %q",eval(ans)));
fi:
if infolevel[`Rand`]=1 then
! if length(S)>100 then S:=cat(substring(S,1..100),"...") fi;
fi;
S:=StringTools[SubstituteAll](S,"%","%%");
! S:=cat(S,"\n<br>\n");
RandLevel:=RandLevel-1;
printf(S);
***************
*** 273,276 ****
--- 392,578 ----
end
):
+
+ ###################################################################
+ # Generate 'Nice' Random Things
+ ###################################################################
+
+ `Package/Assign`(
+ `Nice/Monomial`::procedure,
+ "Produces a monomial of the form @a*x^n@ where @a@ is randomly selected from @arange@ and @n@ is randomly selected from @deg@ if those arguments are present. If @deg@ or @arange@ are not passed as arguments the default value is @1..3@ for both. The argument @x@ is mandatory and can be any algebraic expression or Inert Expression.",
+ proc(x::{algebraic,InertExpr},deg,arange)
+ local n,a,nr,ar;
+
+ # defaults
+ nr:=[1..3];
+ ar:=[1..3];
+ # overriden
+ if nargs>1 then nr:=deg fi;
+ if nargs>2 then ar:=arange fi;
+
+ n:=Rand(nr);
+ a:=Rand(ar);
+
+ Times(a,ToThe(x,n))
+
+ end
+ ):
+
+ `Package/Assign`(
+ `Nice/Binomial`::procedure,
+ "Produces a \"nice\" binomial from its arguments (which is more complicated than it sounds). If one looks through the problems assigned in a typical calculus or precalc book, one will notice that there are certain rules that authors tend to follow when designing \"nice\" questions. This procedure attempts to produce a \"nice\" random binomial in @x@ that is a sum of a monomial in @x@ and a constant term in a random order. The defaults for the degree of the monomial and the two coefficients can be overriden by supplying the appropriate arguments. The argument @x@ is mandatory and can be any algebraic expression or Inert Expression.",
+ proc(x::{algebraic,InertExpr},deg,arange,brange)
+ local n,a,b,nr,ar,br,i;
+
+ # defaults
+ nr:=[1,[1..3]];
+ ar:=[-3..-1,1..3];
+ br:=[-3..-1,1..3];
+ # overriden
+ if nargs>1 then nr:=deg fi;
+ if nargs>2 then ar:=arange fi;
+ if nargs>3 then br:=brange fi;
+
+ n:=Rand(nr);
+
+ # don't let them both be negative
+ for i to 20 do
+ a:=Rand(ar);
+ b:=Rand(br);
+ if `aim/StartsNegative`(a) and `aim/StartsNegative`(b) then
+ # Randomly choose who gets first opportunity to be changed
+ if Rand(true,false) then
+ if type(a,algebraic) then
+ a:=abs(a): break
+ elif type(b,algebraic) then
+ b:=abs(b): break
+ fi
+ else
+ if type(b,algebraic) then
+ b:=abs(b): break
+ elif type(b,algebraic) then
+ a:=abs(a): break
+ fi
+ fi
+ else
+ break
+ fi:
+ od:
+
+ # if its degree 1 you can use both coefficients
+ if n=1 then
+ if `aim/StartsNegative`(a) then
+ return Plus(b,Times(a,x));
+ elif `aim/StartsNegative`(b) then
+ return Plus(Times(a,x),b);
+ else
+ return Plus(Rand(Permute(Times(a,x),b)));
+ fi;
+ # otherwise we only use one coefficient unless its overriden
+ else
+ # a is negative so put it second
+ if `aim/StartsNegative`(a) then
+ # overridden... use b
+ if nargs>3 then
+ return Plus(b,Times(a,ToThe(x,n)));
+ # default.. don't use b
+ else
+ return Plus(1,Times(a,ToThe(x,n)));
+ fi;
+ # b is negative so put it second
+ elif `aim/StartsNegative`(b) then
+ # overridden... use both
+ if nargs>3 then
+ return Plus(Times(a,ToThe(x,n)),b);
+ # only a was overidden, so ignore b
+ elif nargs=3 then
+ return Plus(1,Times(a,ToThe(x,n)));
+ # default...use just one
+ else
+ return Rand(Plus(ToThe(x,n),b),Plus(1,Times(a,ToThe(x,n))))
+ fi
+ # neither are negative so it doesn't matter who is first
+ else
+ # b overridden... use both
+ if nargs>3 then
+ return Plus(Rand(Permute(b,Times(a,ToThe(x,n)))));
+ # only a was overidden, so ignore b
+ elif nargs=3 then
+ return Plus(1,Times(a,ToThe(x,n)));
+ # default...use just one in either order
+ else
+ return Rand(Plus(Rand(Permute(b,ToThe(x,n)))),Plus(1,Times(a,ToThe(x,n))));
+ fi
+ fi;
+ fi:
+ end
+ ):
+
+ `Package/Assign`(
+ `Nice/Trinomial`::procedure,
+ "Produces a \"nice\" trinomial in @x@. See #Nice/Binomial# for more info.",
+ proc(x::{algebraic,InertExpr},deg,arange,brange,crange)
+ local n,m,a,b,c,nr,ar,br,cr,i,typ;
+
+ # defaults
+ nr:=[1..3];
+ ar:=[-3..-1,1..3];
+ br:=[-3..-1,1..3];
+ cr:=[-3..-1,1..3];
+ # overriden
+ if nargs>1 then nr:=deg fi;
+ if nargs>2 then ar:=arange fi;
+ if nargs>3 then br:=brange fi;
+ if nargs>4 then cr:=crange fi;
+
+ m,n:=op(sort(Rand(List([nr],2))));
+ b:=Rand(br);
+ # don't let both a and c be negative
+ for i to 20 do
+ a:=Rand(ar);
+ c:=Rand(cr);
+ if `aim/StartsNegative`(a) and `aim/StartsNegative`(c) then
+ # Randomly choose who gets first opportunity to be changed
+ if Rand(true,false) then
+ if type(a,algebraic) then
+ a:=abs(a): break
+ elif type(c,algebraic) then
+ c:=abs(c): break
+ fi
+ else
+ if type(c,algebraic) then
+ c:=abs(c): break
+ elif type(c,algebraic) then
+ a:=abs(a): break
+ fi
+ fi
+ else
+ break
+ fi:
+ od:
+
+ # three types possible
+ if `aim/StartsNegative`(a) then
+ typ=1
+ elif `aim/StartsNegative`(c) then
+ typ=Rand(2,3)
+ else
+ typ:=Rand(1..3)
+ fi;
+
+ if typ=1 then
+ if nargs<=3 then b:=Rand(-1,1) fi;
+ if nargs<=2 then a:=Rand(-1,1) fi;
+ return Plus(c,Times(b,ToThe(x,m)),Times(a,ToThe(x,n)))
+ elif typ=2 then
+ if nargs<=2 then a:=1 fi:
+ if nargs<=4 then c:=Rand(-1,1) fi:
+ return Plus(Times(a,ToThe(x,n)),Times(b,ToThe(x,m)),c)
+ else
+ if nargs<=2 then a:=1 fi:
+ if nargs<=3 then b:=Rand(-1,1) fi:
+ return Plus(Times(a,ToThe(x,n)),Times(b,ToThe(x,m)),c)
+ fi:
+ end
+ ):
EndPackage():
Index: Util.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/Util.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Util.mpl 25 Aug 2003 21:47:18 -0000 1.3
--- Util.mpl 1 Sep 2003 05:53:28 -0000 1.4
***************
*** 61,64 ****
--- 61,74 ----
):
+ # KM
+ `Package/Assign`(
+ `Util/RemoveQuotes`::string,
+ "Removes any double quotes from a Maple string.",
+ proc(s::string)
+ StringTools:-Remove(rcurry(member,{"\""}),s);
+ end
+ ):
+ # END KM
+
######################################################################
***************
*** 557,560 ****
--- 567,586 ----
eval(util_exceptionmessage)
):
+
+ # KM
+ `Package/Assign`(
+ PercentStringToProc::procedure,
+ "Convert a string containing @%1@, @%2@, etc into a proc which substitutes the LaTeX form of @arg[i]@ for @%i@ in the string and returns the resulting string. Occurances of @%0@ are replaced by @`aim/LaTeX`(args)@.
+ ",
+ proc(S::string)
+ local SS;
+ subs(SS=S,
+ proc()
+ local d;
+ `Util/PercentSubs`(SS,seq(TeX(args[d]),d=1..nargs));
+ end);
+ end
+ ):
+ # END KM
######################################################################
|
|
From: <mo...@us...> - 2003-09-01 05:56:35
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin
In directory sc8-pr-cvs1:/tmp/cvs-serv8886
Modified Files:
Subject.mpl
Added Files:
CompileSubject.mpl
Log Message:
Several new packages and modifications... see posting to developer's list
--- NEW FILE: CompileSubject.mpl ---
# Copyright (C) 2003 Neil Strickland
# Distributed without warranty under the GPL - see README for details
read("Package.mpl"):
Package("aim/admin/CompileSubject","
This package defines the reporting page showing the administrator the results of attempting to compile all question source files in all non-hidden quizzes in a given subject.
"
):
######################################################################
`aim/admin/Command/Declare`('`admin/CompileSubject`',
['Parameter',"SubjectName" = 'required',""],
['Parameter',"QuizName" = "",""],
['Parameter',"QuestionName" = "",""],
##################################################
['Action',"TryQuestion",
"Try the compiled question.",
['Command' = "try/Question",
'Arguments' = ["QuestionName"],
'LinkText' = __("Try it")]],
##################################################
['Template',
[["a", "name" = "top"]],
{"title"},
[["hr", "noshade"]],
[["table","width" = "100%"],
["tr",
[["td","align" = "left","width" = "10%"],`HTML/CloseButton`],
[["td","align" = "left","width" = "16%"],
[["a", "href" = "#bottom"],__("Bottom")]]
]],
[["hr", "noshade"]],
{"compreport"},
[["hr", "noshade"]],
[["table","width" = "100%"],
["tr",
[["td","align" = "left","width" = "10%"],`HTML/CloseButton`],
[["td","align" = "left","width" = "16%"],
[["a", "href" = "#top"],__("Top")]]
]],
[["hr", "noshade"]],
[["a", "name" = "bottom"]]
],
##################################################
['Process',
proc(page::`aim/admin/Page`,p::table)
local subject,subjname,subjtitle,
quiz,quizname,quiztitle,
question,questions,questionname,
action,dir,fulldir,srcdir,srcfile,fullsrcfile,
compreport,msg,qname,errline,lines,i,rows,
sourcetext,err,title,shorttitle,filelist;
subject := eval(page['Subject']);
subjname := subject['Name'];
subjtitle := subject['Title'];
shorttitle := cat("Compiling Subject:",subjname);
title :=
"<center><h1>",__("AIM question compilation results"),"</h1></center>\n",
"<table>",
"<tr><td>",__("Compiling all questions for subject:"),"</td>\n",
"<td>",subjtitle,"</td></tr>\n",
"</table>";
compreport := "";
for quizname in subject['QuizNames'] do
compreport := compreport,"<b>",__("Quiz:  ");
try
quiz := eval(subject['GetQuiz',quizname]);
catch : end:
if not type([quiz],[`aim/Quiz`]) then
compreport := compreport,quizname,"</b><br/>\n"
"<font color='red'>Unable to load this quiz.</font><br/>\n"
else
quiztitle := quiz['Title'];
compreport := compreport,quiztitle,"</b><br/>\n";
srcdir := `Util/StripSlash`(quiz['RootDir']);
fulldir := cat(srcdir,"/source");
filelist := `OS/ListFiles`(fulldir);
for srcfile in filelist do
questions := traperror(`aim/Compile`(srcdir,srcfile));
if questions = lasterror or not type(questions,list) then
compreport := compreport,
__("Compilation error:"),"\n<pre>\n",
`HTML/Escape/String`(questions),"\n</pre>\n<br/>";
questions := [];
fi;
if nops(questions) = 0 then
compreport := compreport,"\n<br/>\n",__("No questions found"),"\n<br/>\n";
fi;
for question in questions do
if type(question,`aim/Question`) then
compreport :=
compreport,
`HTML/ToString`(`new/HTML/Tag`(
"div",
sprintf(
__("Question %s compiled OK"),
cat("<font color='green'><tt>",
question['Name'],
"</tt></font>")),
["br"]));
elif type(question,`aim/Compile/ErrorReport`) then
msg := question[1];
qname := question[2];
errline := question[3];
lines :=
map((x) -> `HTML/Escape`(x[1]," ",x[2],"\n"),question[4]);
compreport :=
compreport,
"<hr noshade/>\n",
sprintf(
__("Question <font color='red'><tt>%s</tt></font>: compilation error\n<br/>\n"),
qname),
msg;
if errline > 0 then
compreport := compreport,"\n<hr/>\n<pre>\n";
for i from 1 to errline - 1 do
compreport := compreport,lines[i];
od;
compreport :=
compreport,
"<font color='red'>\n",
lines[errline],
"\n</font>\n";
for i from errline + 1 to nops(lines) do
compreport := compreport,lines[i];
od;
compreport := compreport,"</pre>\n";
fi;
compreport := compreport,"<hr noshade/>\n";
else
compreport :=
compreport,
"<font color='red'>",
__("Error: malformed compilation report"),
"</font>\n<br/>\n<pre>\n",
`HTML/Escape`(sprintf("%q",eval(question))),
"\n</pre>\n<br/>\n";
fi;
od; # questions
od: # files
fi;
if quiz <> NULL then
# Saving the quiz automatically updates its modification time.
quiz['Save'];
AimQuizCache['RemoveQuiz',quiz];
fi;
compreport := compreport,"<hr noshade size=1>";
od: # quizzes
title := cat(title);
compreport := cat(compreport);
page['Title'] := shorttitle;
page['FillTemplate',
"title" = title,
"compreport" = compreport
];
end
]
):
EndPackage():
Index: Subject.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/Subject.mpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Subject.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- Subject.mpl 1 Sep 2003 05:56:29 -0000 1.4
***************
*** 124,127 ****
--- 124,135 ----
],
+ # KM
+ ['Action',"CompileSubject",
+ "Compile all of the source code for all of the questions in all of the quizzes that are currently not hidden.",
+ ['LinkText' = __("Compile all questions in non-hidden quizzes"),
+ 'Command' = "admin/CompileSubject"]
+ ],
+ # END KM
+
##################################################
***************
*** 234,237 ****
--- 242,252 ----
{"quiztable"},
["br"],
+ # KM
+ {["CompileSubject"]},
+ [["font","color"="red"],
+ __("  (warning: this may take a long time!)")],
+ ["br"],
+ ["hr"],
+ # END KM
__("New quiz:")," ",
[["inputtext", "name" = "QuizToCreate", "value" = ""]],
***************
*** 436,442 ****
["tr",
[["th", "align" = "left", "width" = "10%"],
! __("Quiz number")],
[["th", "align" = "left", "width" = "30%"],
! __("Name")],
[["th", "align" = "left", "width" = "10%"]," "],
[["th", "align" = "left", "width" = "10%"]," "],
--- 451,457 ----
["tr",
[["th", "align" = "left", "width" = "10%"],
! __("Quiz number")],
[["th", "align" = "left", "width" = "30%"],
! __("Name")],
[["th", "align" = "left", "width" = "10%"]," "],
[["th", "align" = "left", "width" = "10%"]," "],
***************
*** 463,470 ****
["tr",
[["td", "align" = "left"],
! [["inputtext",
! "name" = cat(nam,"Order"),
! "value" = sprintf("%A",quiznumber),
! "size" = "3"]]],
[["td","align" = "left"],nam],
[["td","align" = "left"],
--- 478,485 ----
["tr",
[["td", "align" = "left"],
! [["inputtext",
! "name" = cat(nam,"Order"),
! "value" = sprintf("%A",quiznumber),
! "size" = "3"]]],
[["td","align" = "left"],nam],
[["td","align" = "left"],
***************
*** 502,515 ****
[["td","align" = "left"],nam],
[["td","align" = "left"],
! page['ActionLink',"TryQuiz",[nam]]],
[["td","align" = "left"],
! page['ActionLink',"LoadQuizOptions",[nam]]],
[["td","align" = "left"],
! page['ActionLink',"BrowseSource",[nam]]],
[["td","align" = "left"]," "],
[["td","align" = "left"],
! page['ActionLink',"ToggleQuiz",[nam],__("Unhide")]],
[["td","align" = "left"],
! page['ActionLink',"DeleteQuiz",[nam]]]]];
od;
fi;
--- 517,530 ----
[["td","align" = "left"],nam],
[["td","align" = "left"],
! page['ActionLink',"TryQuiz",[nam]]],
[["td","align" = "left"],
! page['ActionLink',"LoadQuizOptions",[nam]]],
[["td","align" = "left"],
! page['ActionLink',"BrowseSource",[nam]]],
[["td","align" = "left"]," "],
[["td","align" = "left"],
! page['ActionLink',"ToggleQuiz",[nam],__("Unhide")]],
[["td","align" = "left"],
! page['ActionLink',"DeleteQuiz",[nam]]]]];
od;
fi;
|
|
From: <mo...@us...> - 2003-09-01 05:54:53
|
Update of /cvsroot/aimmath/AIM/doc In directory sc8-pr-cvs1:/tmp/cvs-serv8236 Added Files: AuthoringGuide.pdf Log Message: Just a quick rough draft to explain the Inert Package. I will add more to this and covert it to more editable format later. See posting to developers list. --- NEW FILE: AuthoringGuide.pdf --- (This appears to be a binary file; contents omitted.) |
|
From: <gus...@us...> - 2003-08-31 20:45:10
|
Update of /cvsroot/aimmath/moodle/lang/en In directory sc8-pr-cvs1:/tmp/cvs-serv23535/lang/en Modified Files: aim_quiz.php Log Message: have started work towards pdf output for the quiz Index: aim_quiz.php =================================================================== RCS file: /cvsroot/aimmath/moodle/lang/en/aim_quiz.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** aim_quiz.php 30 Aug 2003 15:21:31 -0000 1.3 --- aim_quiz.php 31 Aug 2003 20:44:57 -0000 1.4 *************** *** 51,54 **** --- 51,58 ---- $string['notteacher'] = "You must be a teacher to use this page."; $string['quizresults'] = "Quiz Results"; + $string['pdf_quiz'] = "Printer-friendly version of Quiz"; + $string['pdf_error'] = "There has been a problem while trying to create the pdf file."; + $string['pdf_ok'] = "The pdf file has been successfully opened in another browser window."; + $string['pdf_question'] = "Question"; $string['refresh'] = "Refresh"; $string['reviewresults'] = "Review Results"; |