[system] / trunk / webwork2 / lib / WeBWorK / ContentGenerator / Instructor / ProblemSetDetail.pm Repository:
ViewVC logotype

Log of /trunk/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

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
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 3901 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 11 22:41:51 2006 UTC (7 years, 4 months ago) by dpvc
File length: 55860 byte(s)
Diff to previous 3863
Merge changes with HEAD (Re-target view and edit links to use the view
and edit windows)

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
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
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 3853 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 22 18:50:40 2005 UTC (7 years, 5 months ago) by glarose
File length: 55778 byte(s)
Diff to previous 3811
Gateway update: correct handling of gateway data when editing sets.

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
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 3803 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 9 15:51:31 2005 UTC (7 years, 5 months ago) by sh002i
File length: 55446 byte(s)
Diff to previous 3802
note the "force renumber" is always enabled when problems are being
reordered.

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
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 3790 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 3 21:18:35 2005 UTC (7 years, 5 months ago) by gage
File length: 52256 byte(s)
Diff to previous 3787
Modifying messages given when editing set detail.

Also changed the way blank problems are handled in editor.
You can save as  or   save a copy as

Revision 3787 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 2 18:37:44 2005 UTC (7 years, 5 months ago) by gage
File length: 50429 byte(s)
Diff to previous 3721
This fixes bug #919   -- the "update user-sets" line remained
commented out.  I'm amazed this bug lasted as long as it did before
it caused trouble.

-- Mike

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
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 3720 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 17 14:01:00 2005 UTC (7 years, 7 months ago) by gage
File length: 50906 byte(s)
Diff to previous 3719
Changed wording on link.

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
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 3647 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 22 18:45:40 2005 UTC (7 years, 8 months ago) by sh002i
File length: 49236 byte(s)
Diff to previous 3476
restrict dates to < 10 years in the future -- see bug #829.

Revision 3476 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 11 20:32:15 2005 UTC (7 years, 9 months ago) by sh002i
File length: 48536 byte(s)
Diff to previous 3377
hide options panel here too -- closes bug #802.

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
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 3175 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 17 17:42:36 2005 UTC (8 years, 3 months ago) by gage
File length: 45791 byte(s)
Diff to previous 3102
Fixed error in PGProblemEditor.pm that prevented you from adding new problem in
a set.  Added comment to ProblemSetDetail.pm

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
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 3061 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 21 17:47:57 2004 UTC (8 years, 5 months ago) by toenail
File length: 45730 byte(s)
Diff to previous 3046
Fixed minor display problem where empty (not-overriden) date values
were being displayed as 12/31/1969

Closes #748

Revision 3046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 18 21:22:20 2004 UTC (8 years, 5 months ago) by gage
File length: 45476 byte(s)
Diff to previous 3036
Modifications to make sure that problems with weight 0
print weight as 0 rather than as a blank.

This addresses bug  #730

Revision 3036 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 17 17:03:43 2004 UTC (8 years, 5 months ago) by gage
File length: 45363 byte(s)
Diff to previous 2966
Added a link which allows one to add a blank problem to an existing set.

Revision 2966 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 27 17:48:05 2004 UTC (8 years, 6 months ago) by toenail
File length: 44898 byte(s)
Diff to previous 2952
Every problem after one that was marked as a repeat was being marked as a repeat

closes #725

Revision 2952 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 21 23:56:21 2004 UTC (8 years, 7 months ago) by gage
File length: 44876 byte(s)
Diff to previous 2948
Adjusted the headers for the dates

Revision 2948 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 21 01:44:14 2004 UTC (8 years, 7 months ago) by sh002i
File length: 44822 byte(s)
Diff to previous 2913
added "User Value" and "Global Value" headers (bug #719)

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
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 2904 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 12 18:13:58 2004 UTC (8 years, 7 months ago) by gage
File length: 43078 byte(s)
Diff to previous 2901
Changed "refresh" to "refresh display" as name for button in
ProblemSetDetail
Added link to the
File Manager

Revision 2901 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 12 01:02:36 2004 UTC (8 years, 7 months ago) by toenail
File length: 43062 byte(s)
Diff to previous 2841
Added Mark Correct? option
Added date checking
fixed some issues with sticky values

Revision 2841 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 29 15:26:28 2004 UTC (8 years, 7 months ago) by toenail
File length: 39676 byte(s)
Diff to previous 2838
Make sure that all request param data defaults to at least ""
Fixed Try it links

Closes #695, 697

Revision 2838 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 28 21:07:53 2004 UTC (8 years, 7 months ago) by apizer
File length: 39384 byte(s)
Diff to previous 2834
Increase size of boxes for editing open date, etc. so that time zones
show up.

Arnie

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) - [select for diffs]
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

Revision 2816 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 12:59:53 2004 UTC (8 years, 8 months ago) by toenail
File length: 36994 byte(s)
Diff to previous 2807
Added ComboBoxes for header information
Allows user to enter a user specified value
or to select from currently existing header files

Revision 2807 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 21 20:01:25 2004 UTC (8 years, 8 months ago) by toenail
File length: 35002 byte(s)
Diff to previous 2794
Added new setCountMessage so that ProblemSetDetail can say:
"User toenail has been assigned x sets"

Revision 2794 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Sep 17 19:40:42 2004 UTC (8 years, 8 months ago) by toenail
File length: 34559 byte(s)
Replaces ProblemSetEditor.pm and ProblemList.pm as primary form of editing
set/problem information.

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9