Log of /trunk/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm
Parent Directory
Revision
4861 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 9 21:05:37 2007 UTC (6 years, 2 months ago) by
glarose
File length: 58367 byte(s)
Diff to
previous 4846
,
to
selected 2817
Update set editing to allow new gateway options, fix display of options
with labels when editing for users, make more gateway parameters editable
for users, add override checkboxes for drop down menus for parameters
when editing for users.
Revision
4763 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Feb 1 22:43:07 2007 UTC (6 years, 3 months ago) by
glarose
File length: 57232 byte(s)
Diff to
previous 4693
,
to
selected 2817
Make sure that something gets passed to renderProblems() for the userSet
even when a global set is being edited and it isn't assigned to any
users. Gets rid of "odd number of elements in hash assignment" errors
in renderProblems. Because renderProblems plugs in a fake set if it
gets a false value in for the userSet, sending in '' appears to solve
the problem.
Revision
4693 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 1 17:11:18 2006 UTC (6 years, 5 months ago) by
glarose
File length: 57020 byte(s)
Diff to
previous 4642
,
to
selected 2817
Add hide_score and hide_work fields to set editing. Currently these are
sequestered in the Gateway Parameters section of the edit form, because
the fields are only used by gateway/quiz assignments. In the long run
they want to be moved out to apply to assignments more generally.
Revision
4306 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 27 15:49:23 2006 UTC (6 years, 9 months ago) by
glarose
File length: 56252 byte(s)
Diff to
previous 4285
,
to
selected 2817
GatewayQuiz preliminary commit adding multi-page test capability.
This requires updating the database to add the problems_per_page
record to the set tables of the database.
Revision
4234 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 12 01:19:15 2006 UTC (6 years, 10 months ago) by
gage
File length: 56012 byte(s)
Diff to
previous 4202
,
to
selected 2817
Mostly replace use CGI; with use WeBWorK::CGI
Files with additional changes to CGI calls are
SendMail, SetMaker PGProblemEditor Instructor::Index and FileManager
Revision
3973 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 25 23:13:56 2006 UTC (7 years, 3 months ago) by
sh002i
File length: 55860 byte(s)
Diff to
previous 3901
,
to
selected 2817
forward-port from rel-2-2-dev: (update copyright date range -- 2000-2006.
this is probably overkill, since there are some files that were created
after 2000 and some files that were last modified before 2006.)
Revision
3863 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 29 01:40:38 2005 UTC (7 years, 4 months ago) by
gage
File length: 55780 byte(s)
Diff to
previous 3856
,
to
selected 2817
Fixed error in POST url which caused user and key to become multiply defined.
This may also cure some other anomolies such as the can't call method "psvn" without a package or object error
because that error sometimes included a reference to the key. ??? Not sure about this part, but it definitely
causes the multiple user and key definition.
Revision
3856 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 26 22:02:58 2005 UTC (7 years, 4 months ago) by
gage
File length: 55749 byte(s)
Diff to
previous 3853
,
to
selected 2817
The major change is to replace Sets assigned to user by UserDetail.pm. (Originally
written by Rob Van Dam and completed by Mike Gage.) It has undergone a significant
amount of testing, but has not yet been used in a course. We can back out of
these changes before creating a release if problems are found.
Revision
3811 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 14 00:16:50 2005 UTC (7 years, 5 months ago) by
gage
File length: 55543 byte(s)
Diff to
previous 3803
,
to
selected 2817
Removed a link for creating a blank problem that is not yet fully supported.
Commented out cheerful green goodmessages announcing which subroutine handler of the PGProblemEditor
was being executed. They seem to have fulfilled their role and are no longer needed. :-)
-- Mike
Revision
3802 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 8 19:16:09 2005 UTC (7 years, 5 months ago) by
sh002i
File length: 55407 byte(s)
Diff to
previous 3790
,
to
selected 2817
Allow reordering to succeed even if some UserProblems are missing.
Addresses bug #878.
By the way, I found the reordering code really hard to read, so I added
a lot of comments and replaced multidimensional array accesses with a
shorter form. ($sortme[$j][0] rather than $sortme[$j]->[0].) I'd like to
maybe rewrite this code sometime to eliminate some indirection and make
things clearer.
There are two substantive changes:
(1) When a UserProblem has to get reordered, we only reorder it if a
UserProblem record actually exists. If it doesn't exist, we figure out
where it would have moved to, and delete that problem instead.
(2) When moving a UserProblem, the target location either contains or
doesn't contain a record. Previously, the code checked whether a
GlobalProblem existed in this location, assuming that if a global
problem existed the corresponding UserProblem would as well. Now, it
checks whether a UserProblem exists, which allows for missing
UserProblem records.
Lingering questions:
(1) When multiple problems are assigned the same number, this results in
the last one ending up first in the new ordering. I think it would be
more natural for the first one to end up first. This would be an easy
fix.
(2) $force always gets set if reordering needs to be done, so we aren't
able to delete a problem, reorder some other problems, and end up with a
hole where where the deleted problem was. We can either fix this by
mentioning this next to the force checkbox, or change it so that
particular holes (i.e. those left by deleted problems) are allowed when
reordering.
Revision
3721 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 17 17:36:29 2005 UTC (7 years, 7 months ago) by
sh002i
File length: 50913 byte(s)
Diff to
previous 3720
,
to
selected 2817
rearrange addition, deletion, change-saving, and "mark correct" code.
Order is now:
- save changes to existing problems
- mark specified problems correct
- delete specified problems
- add blank problem
This ensures consistencey if multiple operations are performed at once,
and also prevents the values set in the new problem from being
overwritten with empty values when changes to existing problems are
saved.
Revision
3719 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 17 13:58:07 2005 UTC (7 years, 7 months ago) by
gage
File length: 50908 byte(s)
Diff to
previous 3647
,
to
selected 2817
Improved handling of case where a blank_problem is asked for in PGProblemEditor.pm
Also improved the random names for new local problems
Added ability to create a new blank problem in ProblemSetDetail.pm (without going to the PGProblemEditor.pm)
however something is not yet working when this problem record is saved.
Sam -- could you look at
lines near 679 to see what the problem is? There is a FIXME note there. I suspect that the addProblemToSet
routine is failing somehow, but there is no error message. Many of the record fields are not filled out --
including the sourceFile path and the number of attempts. The same snippet of code works fine
in PGProblemEditor.pm
--Mike
Revision
3377 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 14 13:15:27 2005 UTC (7 years, 10 months ago) by
glarose
File length: 48413 byte(s)
Diff to
previous 3175
,
to
selected 2817
Preliminary commit of changes to add Gateway module.
This adds to WeBWorK
- the ability to create versioned, timed problem sets ("gateway tests")
for which all problems are displayed on a single page ("versioned"
means that students can get multiple versions of the problem set),
- the ability to create sets that draw problems from groups of
problems, and
- the ability to create sets that require a proctor login to start
and grade.
Sets can be defined as gateway tests or proctored gateway tests from
the ProblemSetDetail page.
Not quite bug-free yet. Known bugs include handling of problem values
on the Student Progress page (I think this may be a problem with
changing from sql database format where all entries were 'text' to
sql_single in ver 2.1, where they are integer), and a division by zero
error on the grades page (which may be the same problem).
Tests with a number of attempts per version greater than one haven't
been carefully tested, nor has scoring of gateway tests.
Revision
3102 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jan 25 21:22:35 2005 UTC (8 years, 3 months ago) by
toenail
File length: 45756 byte(s)
Diff to
previous 3061
,
to
selected 2817
display mode was inadvertently reset with other problem/set elements
that are safe to reset (rather than keep sticky) since they will be updated
from the newly saved database record or thrown away as expected
Revision
2913 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 13 01:55:15 2004 UTC (8 years, 7 months ago) by
sh002i
File length: 44698 byte(s)
Diff to
previous 2904
,
to
selected 2817
optimizations in database access (makes a big difference).
My notes:
Here's the initial timing data for a set with 10 problems:
TIMING 57300 2 1097622363.881851 (16.734902) mth162: END (assumed)
$mergedRecord is never used in FieldHTML(). However, it is populated
with a merged set or problem, which requires two database calls and a
merge operation. It appears to be OK to get rid of these calls
altogether.
TIMING 57582 0 1097624803.340321 (11.219321) mth162: END (assumed)
i'm not as worried about the several DB calls in
handle_problem_numbers(), since that only happens when "Save Changes" is
clicked. not looking at those for now...
in initialize(), the global set is fetched from the database at the
beginning (and put into $setRecord). then it is fetched again in two
places, first in a conditional if the "submit_changes" param is defined,
and then in the following conditional, when "submit_changes" is defined
and there was no error. taking this out...
(those conditionals are pretty weird to begin with. i would have
expected something more like "if (submit_changes) { ... unless (error) {
... } }". probably from grafting code together?)
ok, the big one is getting pre-fetched records into FieldHTML. I added
$setRecord and $problemRecord parameters to FieldHTML (and $Set and
$Problem parameters to FieldTable to pass through to FieldHTML), and
pre-fetch GlobalProblems, UserProblems, and MergedProblems en masse
before going through the problem IDs in body().
TIMING 58456 0 1097632191.012939 (4.516615) mth162: END (assumed)
And it's only a little more than that when viewing for a particular
user:
TIMING 58453 0 1097632169.074723 (6.513201) mth162: END (assumed)
Revision
2834 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 27 19:08:47 2004 UTC (8 years, 7 months ago) by
toenail
File length: 39384 byte(s)
Diff to
previous 2817
Preserves sticky values on all form submissions
Added reset form button to delete any unsaved changes
Added file error messgaes for headers and problems with
non-existant, invalid, or duplicate filenames
Revision
2817 -
(
view)
(
download)
(
as text)
(
annotate)
-
[selected]
Modified
Thu Sep 23 13:09:33 2004 UTC (8 years, 8 months ago) by
toenail
File length: 37000 byte(s)
Diff to
previous 2816
undefined value was causing unnecessary warns
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.