Forums

Search results: 169

inactiveTopicWeBWorK get together at joint meetings in San Antonio topic started 12/29/2005; 12:25:36 PM
last post 12/30/2005; 11:28:43 AM
userJohn Jones - WeBWorK get together at joint meetings in San Antonio  blueArrow
12/29/2005; 12:25:36 PM (reads: 427, responses: 1)
At the joint meetings in San Antonio, we will have a happy hour gathering of WeBWorK teachers, administrators, and anyone interested in WeBWorK. Come and compare notes and experiences, learn more, discuss new features, gripe about bugs, whatever, etc.

We will leave from the entrance of the book exhibits at 4:30 on Friday, Jan 13 to go to a place (to be named later) which serves refreshments, and people are welcome go on to dinner together from there. We will also leave a message on the message boards under the name WeBWorK about where we are going in case someone cannot be at the book exhibits at exactly 4:30.

If you would like to get in touch with us at the meetings before then, we will be checking the message boards. We hope to see lots of people there.

Jeff Holt and John Jones

<| Post or View Comments |>


userJohn Jones - Re: WeBWorK get together at joint meetings in San Antonio  blueArrow
12/30/2005; 11:28:43 AM (reads: 507, responses: 0)
Hi,

We are moving the departure time to 4:30 to reduce a time conflict with another event at the meeting.

Jeff Holt and John Jones

PS: So that people won't get confused now by reading the original post (and not this follow-up), we modified the original post to reflect the new time.

<| Post or View Comments |>

inactiveTopicpagerror, refresh gif files topic started 11/7/2005; 1:55:56 PM
last post 11/8/2005; 2:50:43 PM
userGavin LaRose - pagerror, refresh gif files  blueArrow
11/7/2005; 1:55:56 PM (reads: 1096, responses: 6)
Hi all,

What is "pagerror.gif"? I'm finding a lot of error log messages from our Gateway test testing that complain about not finding a display module for pagerror.gif. But I can't figure out what pagerror.gif is supposed to be, or where it's supposed to be. Similarly for "refresh.gif".

Thanks,
Gavin

<| Post or View Comments |>


userMichael Gage - Re: pagerror, refresh gif files  blueArrow
11/7/2005; 2:04:50 PM (reads: 1155, responses: 0)
Do you have a line number and script file name where the error is occuring?

-- Mike

<| Post or View Comments |>


userGavin LaRose - Re: pagerror, refresh gif files  blueArrow
11/7/2005; 2:10:36 PM (reads: 1170, responses: 0)
Hi Mike,

The log message is the following:

...[/webwork2/ma215f05/7/3/pagerror.gif] 
No display module found for path '/ma215f05/7/3/pagerror.gif/'.
at /opt/www/webwork/webwork2/lib/WeBWorK.pm line 127.

Thanks,
Gavin

<| Post or View Comments |>


userMichael Gage - Re: pagerror, refresh gif files  blueArrow
11/7/2005; 2:25:35 PM (reads: 1139, responses: 0)
Hi Gavin,

Something --- hard to say what right at the moment --- is returning a url to the browser asking it to fetch the relative path pagerror.gif

Since the browser was last pointed to /webwork2/ma215f05/7/3 it assumes it needs /webwork2/ma215f05/7/3/paperror.gif and asks for it.

The dispatcher in WeBWorK.pm (and URL.pm) has no clue what is being asked for and gives this error.

I'm afraid I can't guess what error sends back a reference to paperror.gif -- probably something with in the bowels of the Apache server perhaps? You might try

locate pagerror.gif

and see if you find something.

Hope this helps.

Take care,

Mike

<| Post or View Comments |>


userGavin LaRose - Re: pagerror, refresh gif files  blueArrow
11/7/2005; 3:33:06 PM (reads: 1143, responses: 0)
Hi Mike,

Thanks. With a little further investigation, it appears to be the case that

  • the error is only generated by MSIE 6.0,
  • it is only generated on requests for /webwork2/ addresses (though it occurs for both homework and gateway test addresses),
  • it only occurs for requests for the ProblemSetList page, Problems in homeworks, and Gateway quizzes, and
  • it started when I upgraded WeBWorK from the CVS at the beginning of the semester.

I haven't tried upgrading from the CVS to see if some subtle change since the last time I did that has fixed the problem because we're "in production" and I don't want to elicit screams of protest if I break something.

Any thoughts or comments are welcome. Further announcements as events merit.

Gavin

<| Post or View Comments |>


userSam Hathaway - Re: pagerror, refresh gif files  blueArrow
11/7/2005; 10:17:33 PM (reads: 1149, responses: 0)
pagerror.gif is the name of the icon that IE shows on error pages (like when it can't load a page. It's usually located at res://C:WINDOWSSystem32shdoclc.dll/pagerror.gif.

Here's someone who ends up with pagerror.gif appended to image URLs, but he was working with an IIS server: http://archives.neohapsis.com/archives/vuln-dev/2003-q4/0138.html

Not much else forthcoming. I assume you've checked the HTML that webwork is sending and haven't found any reference to this mystery file.

<| Post or View Comments |>


userGavin LaRose - Re: pagerror, refresh gif files  blueArrow
11/8/2005; 2:50:43 PM (reads: 1185, responses: 0)
Hi Sam,

I went through with a find -exec grep pagerror.gif... in the WeBWorK directory and couldn't find anything, so I'm inclined to think that it's something to do with IE requesting the file for some reason. Thinking about it today, I'd bet that it's something to do with not finding some image that it needs from the images that jsMath mode uses to do its display. Not finding that, it looks for the "image not found" image, which of course doesn't exist either.

If this is the case, it's likely that when I update PG from the CVS there's a chance that the error may go away.

Thanks,
Gavin

<| Post or View Comments |>

inactiveTopicPicture in students_ans differs in sets and librarybrowser topic started 6/23/2005; 7:08:58 PM
last post 8/13/2005; 1:55:16 AM
userNandor Sieben - Picture in students_ans differs in sets and librarybrowser  blueArrow
6/23/2005; 7:08:58 PM (reads: 2050, responses: 14)
We have a problem where the students need to build a graph by typing in edges. To help with visualization we create a picture of the graph from these edges in our own answer evaluator and we set $ans_hash so that student_ans has this picture.

student_ans => $view

This previews the picture in the 'Entered' field in the asnwer table. This works perfectly in the library browser but there is an error when we put this problem into a set. In a set the picture is not updated with multiple submission. The first picture remains unchanged even if we change the submitted edges. The problem works, it accepts the correct answer and rejects the incorrect answer. Only the picture is not updated.

Is there anything done differently in the library browser and in a set? Is it a bug or do we need to change something? Is student_ans a wrong place to put this generated picture?

Nandor

<| Post or View Comments |>


userMichael Gage - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/23/2005; 10:44:54 PM (reads: 2336, responses: 0)
The most likely problem is that the browser is caching the image. Try using shift-reload -- on most browsers this will force a refresh. If this makes the picture update than at least you know where the problem lies. There are subtle differences between the library and a regular problem set -- no big differences, but enough so that it might make a browser behave differently.

I would suggest that you add a 3 digit number to the address of the file holding the picture. Make the number depend on what is in the picture, so that when the picture changes the name of the file also changes.

Hope this helps.

--Mike

<| Post or View Comments |>


userNandor Sieben - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/23/2005; 11:58:58 PM (reads: 2329, responses: 0)
> I would suggest that you add a 3 digit number to the address of the > file holding the picture. Make the number depend on what is in the > picture, so that when the picture changes the name of the file also > changes.

I don't know how to do this. It's not a static image, but a picture generated on the fly with the built in drawing macros so I am guessing that the address of the picture is generated automatically.

I am pretty sure it's not the browser. Here is why. I logged out. I moved to another computer and I used a different browser. I submitted a different answer for this problem. Still the picture I got was the one generated by the very first submission on the first computer. Reload, shift reload, view picture in separate window and reload, nothing works.

We use these generated pictures inside pg files all over. They always work, except in this case where the evaluator creates them. So I think something must be done differently in the library browser and sets when pictures are generated in evaluators or when pictures are displayed in the answer table. I am guessing that we are probably the first trying to put pictures in the answer table.

Nandor

<| Post or View Comments |>


userNandor Sieben - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 12:21:09 AM (reads: 2312, responses: 1)
I have found the fix:

$pic->gifName($pic->gifName()."-$in");

It is still a question: why is this needed in a set but not in the library browser?

<| Post or View Comments |>


userJohn Jones - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 2:00:15 AM (reads: 2313, responses: 0)
Hi,

In general, webwork tries to use cached copies of on-the-fly graphs to save time. Lots of students doing a graph-laden assignment can cause a pretty large load on the server. It happened to us once.

One stage of the caching mechanism is to distinguish graphs by their names, which contains the student name, problem seed, set name, problem number, and graph number within a problem. If any of those things change, then webwork will generate a different graph. It isn't bulletproof, but collisions here are pretty unlikely. Effectively, someone would have to make an assignment, and then change the pg file used for the problem without changing the seed or renumbering the problems, and both pg files would have to have on-the-fly graphs in them. Webwork also checks the change times of the pg file and the graph, so if there is a new copy of the problem file, it regenerates the graph.

The final check is to see if the problem is being rendered from the library browser. Those problems have only generic data (problem seed is usually 0, set name is always the same, etc.). So, while someone is browsing problems with graphs, it is pretty likely that this data will result in a name collision. So, the caching mechanism accounts for it. So, that is why rendering on-the-fly graphs was different in the library browser.

Manually changing the graph name like you are now doing is probably the right solution. Any other solution would either mean giving up on caching or setting a flag for certain images (like yours) to say "don't cache me", but the latter is as much work for the problem author as what you have above.

John

<| Post or View Comments |>


userMichael Gage - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 1:07:08 PM (reads: 2597, responses: 0)
You can also use an extension generated by time() which gives you the "unix" time in seconds since some date -- something like 1119632502. This number will keep changing everytime you create a new picture.

Over the long term you may need to worry about filling up the directory where these images are stored (since there is no reuse of images). This won't be a problem in the beginning but eventually you might like to set a cron job to clear these images out. Using time() as part of the name makes it easy to tell how long ago the image was created.

<| Post or View Comments |>


userJohn Jones - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 3:14:15 PM (reads: 2295, responses: 1)
Filling up your disk with these once used images would be a reason to impliment the dont-cache-me option for images instead of using the filename approach. Then the new images would simply replace the old image. I think this would be hard to do. Do you think it is worth it? If so, what should the semantics be? Maybe allow an option to init_graph of cache=> 0 and a function to set the option directly of $mygraph->setcache(0)?

John

<| Post or View Comments |>


userNandor Sieben - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 3:23:06 PM (reads: 2309, responses: 0)
John, If I run the cron job you suggested some time ago to delete images not used for 2 weeks then I don't need to worry about this, do I?

Nandor

<| Post or View Comments |>


userMichael Gage - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 3:44:25 PM (reads: 2601, responses: 0)
I don't think that it is worth it to implement a "don't cache me" option.

What might be worthwhile is to generate part of the file name based on the actual contents of the image. That way the same images reuse the same space. This is what we do with latex math images. With these images we have natural data to generate the hash.

I suspect that with png files we could use MD5 (http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html) to generate a 128 bit signature for the image.

I don't know what the performance costs would be, but the idea behind the implementation would be quite straightforward.

By the way -- the latest version in the CVS has refined time measurements (to 1/1000 of a second) so that it's easier to measure the affect of a change on performance.

<| Post or View Comments |>


userJohn Jones - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 7:43:10 PM (reads: 2290, responses: 0)
First for Nandor, the program remove_stale_images only looks at images generated from latex for equations. Those are shared system-wide. The on-the-fly graphics are temporary files stored within each course. There are other such files which accumulate during the semester, such as pdf's for hardcopy. You could have another cron job to delete ones of those which haven't been accessed recently. I just let them accumulate and then delete them when I eventually archive a course.

For Mike, I am a little unclear on your suggestion. The current idea is to not generate an on-fly-graph if we don't need to. If our test for whether or not we need the image is: generate the image and run md5 on that, we can't be saving any time. It would save some disk space if two different students produced exactly the same graph in their problems, but it probably isn't worth it for that.

Otherwise, you have to run md5 on the data used to generate the graph. For latex images, it is easy to get ahold of that data. However, for WWPlot objects, I don't think there is a function for that yet, and it doesn't sound like much fun to write. Of course if we added a function to serialize the graph, then we could use md5 on the result. We also wouldn't need to incorporate any other information in the filename of the graph since, if two graphs were generated by the same data, they better have the same image.

John

<| Post or View Comments |>


userMichael Gage - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/24/2005; 9:12:48 PM (reads: 2295, responses: 0)
I see your point John, I hadn't thought my suggestion through. You do save space with this method, but it costs extra time. There probably is not a general method for generating MD5 data for any picture. For specific classes of pictures -- such as the ones Nandor is generating there might be some hope. If the graph is generated from some sort of matrix one could run MD5 on that and generate a number to tag on to the picture name. If this proves useful we could encapsulate a lot of the details in a macro so that it was fairly straightforward to implement in problems.

-- Mike

<| Post or View Comments |>


userArnold K. Pizer - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/27/2005; 1:54:55 PM (reads: 2284, responses: 0)
Hi,

I'll add my two cents to this discussion. We already have the "flag" refreshCachedImages. I'm not 100% sure what this does in WW2 but I assume it means that if a problem contains $refreshCachedImages =1 then dvipng images of equations are not cached but are refreshed every time. I think what we should do is to refresh all cached images if this flag is set. Maybe it even does this now. Having a problem author remember to reset the name of the stored image, etc. is too complicated and to remember what $refreshCachedImages =1 does is even worst if it doesn't refresh all cached images (at this point I at least don't remember). Here's the verbiage from PG.pl.

 



The following flags are set by ENDDOCUMENT:
(1) showPartialCorrectAnswers -- determines whether students are told which
of their answers in a problem are wrong.
(2) recordSubmittedAnswers -- determines whether students submitted answers
are saved.
(3) refreshCachedImages -- determines whether the cached image of the problem
in typeset mode is always refreshed (i.e. setting this to 1 means cached
images are not used).



Arnie

<| Post or View Comments |>


userNandor Sieben - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/28/2005; 1:12:13 AM (reads: 2234, responses: 0)
Setting refreshCashedImages to 1 does not solve the problem. Nandor

<| Post or View Comments |>


userJohn Jones - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
6/28/2005; 12:40:08 PM (reads: 2208, responses: 0)
I don't think refreshCachedImages does anything in webwork 2. Maybe it was pure oversight, or maybe it was related to the fact that webwork 2 stored equation type images based on their content. They automatically refresh if the content of the image changes.

In any case, it does seem reasonable to have refreshCachedImages act as Arnie suggests, so it has its old meaning plus refreshing of on-the-fly graphics images as well.

John

<| Post or View Comments |>


userJohn Jones - Re: Picture in students_ans differs in sets and librarybrowser  blueArrow
8/13/2005; 1:55:16 AM (reads: 2096, responses: 0)
Hi,

Setting

$refreshCashedImages= 1;
will now force on-the-fly graphics for the problem to be regenerated every time the problem is rendered.

John

<| Post or View Comments |>

inactiveTopicBizarre image generation problem topic started 10/15/2004; 1:51:32 PM
last post 10/15/2004; 5:33:02 PM
userBlake Thornton - Bizarre image generation problem  blueArrow
10/15/2004; 1:51:32 PM (reads: 1306, responses: 7)
Perhaps this is a bug that has been fixed that we haven't updated, but here is the problem: it seems that webwork successfully generates the images, but when building the webpage it places the images in the wrong locations on the webpage.

Here is a specific example:

 


DOCUMENT();

loadMacros(PG.pl, PGbasicmacros.pl, PGchoicemacros.pl, PGanswermacros.pl, PGauxiliaryFunctions.pl );

TEXT(beginproblem());

BEGIN_TEXT

Find the amount \( A \) in an account after \( t \) years if

\[ \frac{dA}{dt} = 0.12A \]

where \( A(0) = 5250 \)

$PAR

\( A(t) \) = \{ ans_rule(15) \}

$PAR

END_TEXT

ANS(fun_cmp("5250* exp(0.12*t)", var=>['t']));

ENDDOCUMENT();

 


What is displayed on my screen in image mode (with the tex converted to images):

Find the amount \( A \) in an account after \( t \) years if

\[ A(t) \]

where \( A(0) = 5250 \) $PAR

\( A(t) \) = \{ ans_rule(15) \}

$PAR

END_TEXT

 


Bizarre. Now, the amazing thing is that the following displays correctly:

 

BEGIN_TEXT

Find the amount \( A \) in an account after \( t \) years if

\[ \frac{dA}{dt} = A(0.12) \]

where \( A(0) = 5250 \)

$PAR

\( A(t) \) = \{ ans_rule(15) \}

$PAR

END_TEXT

 


Everything displays correctly in the other display modes, but not in image mode.

Any ideas?

<| Post or View Comments |>


userJohn Jones - Re: Bizarre image generation problem  blueArrow
10/15/2004; 3:27:40 PM (reads: 1495, responses: 0)
Can you view the faulty page, then have your browser give you the page source? Down near the bottom is the html for the problem. Select the full image tags, and post them. That should let us see what the raw latex used for the images, and the image paths. When posting, you can use the html tags
  <pre>
pasted <img> tags
</pre>
so that things should come through without having to add extra backslashes.

John

<| Post or View Comments |>


userMichael Gage - Re: Bizarre image generation problem  blueArrow
10/15/2004; 3:28:07 PM (reads: 1507, responses: 0)
This sounds like a caching problem. A mistake in generating the image at some point is now persisting. The first thing to try is to use shift-refresh on the browser to see if the browser itself is caching the image. (Or quit and relaunch the browser -- or check to see if others see the same problem.)

WeBWorK itself (within ImageGenerator.pm) also tries to cache the images and it's possible that having generated an incorrect image it refuses to create a new one on the grounds that it has already created this image. This fits with all of the information you've given.

Correcting this latter situation cleanly is a bit more delicate, and I can't give a full answer off the top of my head. Search through global.conf for "equation" and look at those locations for images and references to images that have been created and don't need to be created again.

<| Post or View Comments |>


userBlake Thornton - Re: Bizarre image generation problem  blueArrow
10/15/2004; 3:55:44 PM (reads: 1519, responses: 0)
Thanks for the quick responses!

I don't understand webwork's internal caching, but I don't think it is a caching problem. This problem first occured in the editing page (where I was editing the problem-- webwork certainly shouldn't cache those images). In addition, I viewed the actual files on the server and they match up with what I'm seeing (i.e., they are wrong).

I posted the html source of the html file, the pg file and the png files that I downloaded from /opt/webwork2/htdocs/tmp/equations. These can be found here:

http://www.math.wustl.edu/~blake/tmp/

Thanks for any insights!

<| Post or View Comments |>


userJohn Jones - Re: Bizarre image generation problem  blueArrow
10/15/2004; 4:31:31 PM (reads: 1507, responses: 0)
It comes up fine on my system. There is a latex error in the solution part (A = A_0e^{0.12 t) should end in a brace, not a parenthesis), but I don't think that is really the source of your problem.

Maybe you should remove the images and view the problem again and see what happens. To remove old images, as superuser, run the remove_stale_images script to clean them all out:

 remove_stale_images --delete --days=0
Does it then produce exactly the same image files?

John

<| Post or View Comments |>


userBlake Thornton - Re: Bizarre image generation problem  blueArrow
10/15/2004; 4:58:31 PM (reads: 1494, responses: 0)
John,

Thanks for the ideas. I fixed the tex error and it wasn't it. But it worked perfectly after running remove_stale_images!!!

Okay, so any theories on why? Should I plan to run this every once in a while?

Thanks for the help!! Blake

<| Post or View Comments |>


userJohn Jones - Re: Bizarre image generation problem  blueArrow
10/15/2004; 5:09:25 PM (reads: 1507, responses: 0)
My only idea on how it happened is that there was an attempt to generate images which went wrong (some other bad latex being involved) and led to an image being mislabelled. I haven't seen that before - it may take some experimentation with a clean system and problems with faulty latex in them.

On doing a complete flush of images, I wouldn't do it that often. Then again, I haven't seen a mis-labeled image like this one before. I have a server for which 2 weeks means 150,000 images, so I delete ones which haven't been used in more than two weeks (same command, but with days=14). This would not have picked up this problem if the image kept on being accessed though.

John

<| Post or View Comments |>


userBlake Thornton - Re: Bizarre image generation problem  blueArrow
10/15/2004; 5:33:02 PM (reads: 1506, responses: 0)
Well, I'll keep this in mind if it occurs again-- I will certainly put this command in my bag of tricks.

Thanks again!

<| Post or View Comments |>

inactiveTopicViewing Problem with Library Browser topic started 10/6/2004; 12:14:45 PM
last post 10/18/2004; 5:51:34 PM
userSherman Wong - Viewing Problem with Library Browser  blueArrow
10/6/2004; 12:14:45 PM (reads: 2281, responses: 12)
There seems to be a problem with the Library Browser in WeBWorK 2.0.1 when viewing setDerivatives1 in the template directory. When I attempt to view these problems and I select more than 5 problems, I get essentially a blank screen. If I select 5, I can view the first 5 problems, but I can't view the next five or any subsequent problem. The Library Browser should have a way of allowing one to view the subsequent problems if, for some reason, it can't display a given problem.

The workaround that works is to select for "display mode" "None". This option permits one to "Try it" on the problems and to page to the next group of problems.

The problems that seem to be causing the viewing problem are nsc2s10p1.pg, nsc2s10p2.pg, and nsc2s10p3.pg. Oddly enough, there is no viewing problem when using an earlier version of WeBWorK.

Can you explain why these problems are stalling the Library Browser?

Thank you. Sherman

<| Post or View Comments |>


userMichael Gage - Re: Viewing Problem with Library Browser  blueArrow
10/6/2004; 12:26:34 PM (reads: 2539, responses: 1)
I can't reproduce this using the Safari browser. I get the first 20 problems generated fairly quickly and a button at the bottom of the page which links to the next 20. You might try limiting the number of problems to 5 instead of 20. See if that helps. It might just be a matter of browser/computer speed.

The three problems you mention all have "on-the-fly" graphics -- perhaps something is making it hard for these graphics to be generated or to load into the browser.

Using alternate viewing modes, such as "none" or "jsMath" is also an option when you run into this kind of problem.

-- Mike

<| Post or View Comments |>


userJohn Jones - Re: Viewing Problem with Library Browser  blueArrow
10/6/2004; 2:13:02 PM (reads: 2542, responses: 1)
For the three problems you mention, if you click on Try it, do the problems come up?

John

<| Post or View Comments |>


userSherman Wong - Re: Viewing Problem with Library Browser  blueArrow
10/6/2004; 2:39:01 PM (reads: 2845, responses: 0)
No, when I click on "Try it", nothing appears for any of the three problems. Because the graphics in the 3 problems are "on-the-fly", there must be "something" wrong with our configuration of version 2.0.1, since the graphics do appear on version 1.9 of WeBWorK.

<| Post or View Comments |>


userSherman Wong - Re: Viewing Problem with Library Browser  blueArrow
10/6/2004; 2:47:12 PM (reads: 2884, responses: 0)
I tried your suggestion to use jsMath, but to no avail. The only option that circumvents the difficulty in viewing the "on-the-fly" graphics for the 3 cited problems is "None".

<| Post or View Comments |>


userMichael Gage - Re: Viewing Problem with Library Browser  blueArrow
10/6/2004; 3:29:33 PM (reads: 2527, responses: 0)
The most likely thing wrong with your setup is that the on-the-fly graphics are being created in one directory and your browser is looking for the images in another. This means adjusting some variables in global.conf so that they match up. You should also check the error log of the apache server, since that will give you any information if a graphic fails to be created, or if the browser tries to find the graphic in a different director from the one where it is being created.

Since the problem appears to be the "on the fly" graphics, rather than displaying equations, it makes sense that changing from "images" to "jsMath" won't change anything.

-- Mike

<| Post or View Comments |>


userSherman Wong - Re: Viewing Problem with Library Browser  blueArrow
10/7/2004; 7:51:23 AM (reads: 2533, responses: 0)
I relayed your suggestion to the fellow who works on seeing that the program performs as it ought to. He told me that the browser was looking at the correct file but that the file was of size 0 MB. This problem of the misdirection of the browser occurred before when we were testing WeBWorK 1.9.

Has there been any changes to the PG macro that handles such graphics?

Sherman

<| Post or View Comments |>


userMichael Gage - Re: Viewing Problem with Library Browser  blueArrow
10/7/2004; 8:23:30 AM (reads: 2513, responses: 0)
If the contents of the file hasn't been created then there may messages in the error log. It could be a problem of getting GD to work properly, although if images mode for equations works then it is probably not GD, since that mode also uses GD to create the images. There haven't been any substantial changes made to these PG macros in some time.

You might want to remove the 0 MB file between tests since some caching is performed by WeBWorK and you want to make sure that it recreates the file. Pictures can be difficult to debug because the browsers also cache images -- use shift reload (refresh) often to insure that the browser is always getting the latest informationi.

<| Post or View Comments |>


userSherman Wong - Re: Viewing Problem with Library Browser  blueArrow
10/7/2004; 10:19:41 AM (reads: 2505, responses: 0)
Thank you for the suggestion about emptying the cache in the browser.

I'll pass on your other suggestion regarding the deletion of the 0 MB file.

Sherman

<| Post or View Comments |>


userBjorn Nelson - Re: Viewing Problem with Library Browser  blueArrow
10/8/2004; 10:20:21 AM (reads: 2489, responses: 0)
Hello, I work with Sherman. This actually relates to my post: http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$2832 [$graph->draw not drawing]

Unfortunately, my post got mangled but I don't think you need to parse it. From my debugging, I don't think it's a problem with insertGraph, but rather in the process of creating the $graph object. I am trying to follow it in the libraries.

Do you guys know of a way to debug web based perl? I know about perl -d, but I don't know of any tools for web based perl besides writing variables to a log file. I was looking at wwsh and I realize it's used to browse the classes. Can I use this to browse classes when they are used as an object? Is it just used to find the methods of classes?

Thanks, Bjorn

<| Post or View Comments |>


userBjorn Nelson - Re: Viewing Problem with Library Browser  blueArrow
10/8/2004; 10:29:57 AM (reads: 2511, responses: 0)
btw,

This is the version of gd and the gd module

gd-2.0.25,1 A graphics library for fast creation of images p5-GD-2.15 A perl5 interface to Gd Graphics Library version2

<| Post or View Comments |>


userBjorn Nelson - Re: Viewing Problem with Library Browser  blueArrow
10/8/2004; 1:26:40 PM (reads: 2514, responses: 1)
update,

I spoke with Mike and he suggested checking permissions and error logs. I had recursively given the "courses" directory ownership to the apache user account. Owner has full access to the directory.

I am getting an error: httpd in free(): error: modified (page-) pointer [Fri Oct 8 17:10:44 2004] [notice] child pid 52284 exit signal Abort trap (6)

I checked the resources for apache and it's given unlimited resources. The FreeBSD init (or rc) script for apache assigns it's resource profile to the www class. I defined this in the /etc/login.conf to point to default which in turn is set for unlimited resources.

apache version is 1.3.31 using webwork 2.0.1.

-Bjorn

<| Post or View Comments |>


userBjorn Nelson - Re: Viewing Problem with Library Browser  blueArrow
10/18/2004; 5:51:34 PM (reads: 2732, responses: 0)
What does the number in the cached images mean?

For instance, what does 463 come from: /usr/local/webwork2/courses/MTH9997/html/tmp/gif/professor-463-setFinal_Exam_Review_VIIprob1image1.png

compared to 64: /usr/local/webwork2/courses/MTH9997/html/tmp/gif/professor-64-setFinal_Exam_Review_VIIprob1image1.png

on another machine using the same PG. Why is it different? Are these just unique numbers?

-Bjorn

<| Post or View Comments |>

inactiveTopicImages not displaying in Mozilla Firefox --- very strange topic started 9/1/2004; 1:38:15 PM
last post 8/1/2005; 12:56:05 PM
userDoug Drinen - Images not displaying in Mozilla Firefox --- very strange  blueArrow
9/1/2004; 1:38:15 PM (reads: 2745, responses: 2)
Firefox 0.8 on Linux Red Hat 9, WeBWorK 2.0

I created a very simple problem containing five integrals. I built a set with just that problem. I went to do the set, and one of the integrals wasn't there. The other four integrals appeared as images (just as they should), but the fifth image didn't show up. The answer box was there, just no question.

So I went and looked at each of the 30 students' sets. Of the 30, 24 were just fine. 6 had an image missing, just like mine (although it wasn't the same image in every case).

So I looked at the html source. It referred to an image. I SSHed into the WeBWorK box, tracked down that image and sure enough, there it was, just where it was supposed to be. I went back to the browser and entered the path to just that image and it displayed just fine.

But no matter what I do, it does not show up when I go to work that problem. I've tried refreshing the page, logging out and back in, nothing works. The page displays perfectly in Konqueror, Opera, galeon, and Safari. Only Firefox causes a problem.

This is clearly a Firefox problem, not a WeBWorK problem. I'm posting it here in order to:

(1) ask if anyone has seen similar behavior and/or other bizarre Firefox/WeBWorK issues.

(2) warn you that, if students call you wondering why their WeBWorK problem looks funny, you might want to ask them what browser they're using before throwing in the towel.

<| Post or View Comments |>


userJohn Jones - Re: Images not displaying in Mozilla Firefox --- very strange  blueArrow
9/1/2004; 3:29:12 PM (reads: 3076, responses: 1)
This is the first case I have heard of in a recent browser other than IE. It seems especially odd since recent linux/mozilla seems to be fine, and they should be based on essentially the same display engine. On the bright side, you probably don't have many students using linux-firefox.

In the realm of weird display problems, we encountered the "Peekaboo Bug" in explorer 6. If you have a very long problem (like in set 0), then explorer will make some of the text disappear. Reloading can make it worse. Slowing dragging a window over the text can get it to reappear. We seemed to be able to fix that with

* {zoom: 1;}
in our template file. I don't claim to understand why this solved the problem, but it was a relief to find it.

John

<| Post or View Comments |>


userThomas Hagedorn - Re: Images not displaying in Mozilla Firefox --- very strange  blueArrow
8/1/2005; 12:56:05 PM (reads: 1973, responses: 0)
I've been running into a similar problem with Firefox on a Powerbook. Equation images can get displayed in a fuzzy manner and sometimes the problem is duplicated on top of itself but to the side so that it's one big mess. Often, it will be one part of one problem that has this display problem and the rest of the problem will be fine. When tried in IE or Safari, the problem looks fine. And the .pdf file is fine too.

-Tom

<| Post or View Comments |>

Forum archive 2000-2006 -> Lars Jensen - View another seed?

by Arnold Pizer -
inactiveTopicView another seed? topic started 9/1/2004; 1:27:24 PM
last post 9/20/2004; 11:41:21 AM
userLars Jensen - View another seed?  blueArrow
9/1/2004; 1:27:24 PM (reads: 1205, responses: 2)
Hi,

How do I view another seed of a problem. When clicking "Try It" from the Library browser, there's no option to change the seed, and when clicking "Edit It" i see the option, but nothing happens when I change the seed and click "Refresh." What am I missing?

Thanks, Lars.

<| Post or View Comments |>


userJohn Jones - Re: View another seed?  blueArrow
9/1/2004; 3:32:55 PM (reads: 1534, responses: 0)
Hi Lars,

In the library browser itself, there is a browser to rerandomize the displayed problems. Admittedly, you get new versions of multiple problems instead of just the one you want, but this is why the button is there. Each click gives a new seed.

The Edit It link should do the trick, unless you don't have permission to write in the directory with the problem. Then refresh is stopped. I know that this is a common situation when looking through libraries of problems, so the rerandomize button may be the best way to go.

John

<| Post or View Comments |>


userLars Jensen - Re: View another seed?  blueArrow
9/20/2004; 11:41:21 AM (reads: 1456, responses: 0)
Hi John,

Thanks for the answer.

But there's a problem: when I click "Try It" on one of the re-rendomized versions, I don't get to try the re-randomized version. Instead, I only get to try the original version.

Lars.

<| Post or View Comments |>

inactiveTopicA Day In The Life Of A Webwork2 Professor topic started 7/19/2004; 3:48:09 PM
last post 7/19/2004; 3:48:09 PM
userMichael Gage - A Day In The Life Of A Webwork2 Professor  blueArrow
7/19/2004; 3:48:09 PM (reads: 3207, responses: 0)

A Day In The Life Of A Webwork2 Professor

 

 

Informal instructions for using WeBWorK

See Instructions for WeBWorK1.9 if using an older version of WeBWorK

Quick Overview

This document gives details on how one professor actually uses WeBWorK. By clicking on the question mark image: question_mark.png in the upper left part of the page, there may be a help page specific to the current page you're viewing. Also the online discussion group at http://webhost.math.rochester.edu/webworkdocs/discuss/ is a good place to go for help.

 

Adding Students

  • Adding Many Students at Once

    When the course has first been created easiest way to do this is to obtain a spreadsheet of your student's information and then edit it so it matches the ClassList specification . Be sure to give the file a ".lst" extension, otherwise WeBWorK won't recognize it as a class list. Once the file is ready, go to the File Transfer Page to upload it. If you are a professor there should always be a link to the File Transfer Page in the left hand column of the webpage. Hit the "Browse" button in the classlist part of the page and locate the file, highlight it and then hit the OK button. If you want the classlist to have a different name, or perhaps you didn't give it a ".lst" extension, you can type a new name for the file in the "Use name" blank and the same file will be saved to that name.

    Once the file is uploaded it needs to be "imported". This is done on the Class List Editor Page (there's a link to it in the left column). Check the "radio button" (the circular thing next to the options) next to the import option and select the file you just imported in the drop down menu. Make sure that it says "adding any new users". Then press the "Take Action" button to import it.

  • Adding a Few Students

    If there are only a few students in a class, or you need to add one student after the classlist was already imported, there is another feature which may be easier to use. If you click on "Class List Editor" in the lefthand column, on that page there is an "Add ___ student's" option. Check the radio button next to that option and fill in however many students you wish to add to the course and click on that hit "Take Action" to go to the "Add Users" page.

    Fill in the information for each student. The only required fields are the "Student ID" and the "Login Name", but the first and last name should probably be filled in, and if there is no email address, the student will not recieve emails. (Don't worry if you don't have the email address though, the student is able to enter or change this on his own) The "Section" and "Recitation" fields may be useful in very large classes since these options can be used to sort students in various parts of the course, such as scoring.

     

Creating a Problem Set

Perhaps the most important part of having a successful course is to create good problem sets. You want the problems to correctly reflect the topics that are discussed in class, and to be the appropriate difficulty level. Thus, creating a problem set is one of the most important steps in a maintaining a successful WeBWorK course. Creating problem sets can also be very time consuming, so be sure to give yourself plenty of time.

Very few WeBWorK professors write their own problems. Most subject material in courses that are well suited to WeBWork has already been covered by previous WeBWorK professors, and there is no need to reinvent the wheel. But if you are writing new problems see below "Writing New Problems or Editting Current Ones".

 

  • Selecting and Adding Problems to a Set

    First, go to the Library Browser Page (from the link in the lefthand column). Notice that the buttons and menus are divided into four layered sections, one on top of the other. The uppermost section is to choose which library to look at. Pick one of the libraries and then in the second section from the top choose one of the directories, or if it is set up so the menus are for subject and chapter make the according choices. There is an effort underway to make the problem libraries more accessable by subject and chapter, but even if the library is only organized by directory, the name of the directory is often enough to find the proper subject material.

    After making your choices from the menu(s) you can either change the display mode or the number of problems per page (more problems per page makes it longer to load the page) and then press the "View Problems" button. There should now be problems visible below all the tools.

    Before you start marking problems, make sure the set you wish to add problems to is displayed on the menu in the third section down. If you are creating a new set, type in the blank and press the "Create a New Set in This Course" button (There is no need to put the word "set" in front of the name, it is automatic on the new system) and then make sure this new set name is displayed in the menu next to the words "Adding Problems to Target Set:".

    You are then ready to go through the problems and mark the ones you want to add. When you press the "Update" button all the problems marked to add or to not display do so. The other buttons in the lowest section are fairly self explanatory. The "Rerandomize" button changes the problem seed for the problems, which is what determines what the variables are.

    Do not worry what order the problems are added in, or if you accidentally add a problem you didn't want, you'll get a chance to fix that later. You can change which problems you're viewing using the method described above, and add as many as you want to to a set.

  • Editing an Existing Problem Set

    To edit an existing problem set, go to the Instructor Tools Page and select the set in the lefthand menu, then click on the "Edit one set" button.

    The open date is when the problems will become available to those assigned them. Between the open date and the due date the problems answers will be recorded. After the due date no new answers will be recorded. The answers will become visible to students after the answer date. These three dates must be sequential.

    The set header file is what is displayed in the right hand column on the set's page. The system default is a good template as to what should be on that page. The easiest way to make your own for the set, is to click on the link on this page, or the one displayed when you view the set later (there will be a link entitled "edit" on the set header, visible to all professors).

    After changing these things press the "Save" button. In order for you to tranfer this problem set's data to another course or to your local machine it must be exported to a .def file. But don't export the file using the "Export Set" button until you are done editing the set. Once the set is exported it can be transfered from the File Transfer Page to your local machine. If having transfered them to your machine you wish to edit them there, or perhaps understand what they consist of, you can find out how the file is set up on the set definition file format page.

    Once all the dates have been saved, click on the "Edit the list of problems in this set" link. This page can also be accessed by going to the Hmwk Sets Editor page and clicking on the link in the "Problems" column of that problem set's row at the bottom of the page. If you want to view the problems, change the display mode from "None" to "images" or whichever you want, and press the "Refresh" button.

    The order of problems can be changed by changing the numbers in the menus in the upper left hand corner of each problem's box. To delete check the box, but if you accidentally delete one, you'll have to go back to the Library Browser Page and find it's original location to add it back again. The weight refers to how much the problem counts when scored, this is usually left at one unless there is a "practice" set at the begining of a course to get the students used to WeBWorK and then professors often set it to 0. Usually students are allowed an unlimited (write "unlim" in the box) amount of attempts at a problem, but sometimes if the problems are multiple choice a professor wants to limit how many times a student can try. (Students have a bad habit of guessing on multiple choice problems) When you wish to save changes made to the set, scroll down to the bottom of the page and press the "Save Problem Changes" button.

     

  • Adding Students to a Problem Set

    Go to the Hmwk Sets Editor page, in the table at the bottom of the page, click on the link in the "Assigned Users" column of the set's row. To assign the set to all users, press the button marked as such. To assign to some subset of users, check the ones to be assigned and press the "Save" button. Be careful not to uncheck anybody who's already started since all the date will be lost.

  • Making a Set Visible to Students

    The default for new sets is "invisible", this makes it so students can't see what you're working on. Once everything is ready for the students to see you want to make the sets "visible". To do this go to the Hmwk Sets Editor Page and click on the pencil next to the set's name and then check the "visible" checkbox and make sure you switch the option to "Save Changes" before you press the "Take Action" button.

 

Scoring a Problem Set

You can do scoring from the web. Go to the Scoring Tools Page. You can either score one set at a time, or get a total score for all the sets. To score one set select it and press the "Score Selected Set(s)" button. To score multiple sets, highlight them and press the button, this will create a "totals" file which combines the scores from all of the sets to give final scores, if the checkbox is checked, then the regular files for each individual set are created also. The scoring procedure creates files (in .csv format) that include the status of the problems, the number of attempts, and also the final score of the problems.

You can download these different files onto your personal computer clicking on the file names on this page, or from the File Transfer Page.,

You should realize that scoring a problem set is like writing grades into your grading book, once the grades are entered they are fixed unless you change them. Whatever a student does after a set has been scored, does not effect the scoring files.

There is no standard procedure of when to do scoring. You may have a few options.

  • You can score each problem set right after the problem set is due. This way, you can email your students their homework grades throughout the semester. The trouble with this is that if you gave a student an extension but scored the set before the student completed the set, anything the student did after you scored the set would not be recorded. Once the student has completed the set, you would have to edit the scoring files accordingly by hand.

     

  • You can score all of the problem sets at the end of the semester. This way, there are no problems with extensions and no major editing needs to be done. The drawback is that you wouldn't be able to send emails to your students.

  • The final option is a combination of the other options above. You can score each problem set right after the problem set is due, email your students if you want, and then score once more at the end of the semester. Scoring a set just appends the scores to the totals file so if you score a set twice, it will appear twice in the totals file. Thus, if you do this, you would have to use the totals file accordingly.

     

It should be noted that the first time a scoring file is created, student names, sections, and recitations will be taken from the current classlist information. If you score a set after that, the new information is appended to that scoring file by matching student ID's. If you change a student's recitation (or name, etc) but keep their student ID, the new recitation will not be written in that scoring file. If students add or drop the course, this will be handled automatically.

Also, it's easy to use e.g. excel to add exam grades to the scoring file.

See Grading problem sets for more information on scoring.

 

Sending Email to Students

Sometimes, after you score problem sets, you may want to send your students an email discussing thier scores. Other times you may want to send an email to students with general announcements about your course. This can be accomplished on the Email Page, which allows you to send personalized emails. When sending mail from the email page, make sure all the fields which originally contain "FIXME" are changed. The email can be sent to all, or any subset of the students.

The personalized variables can be viewed by clicking on the "list of insertable macros" drop down menu. They are: $FN - first name, $LN - last name, $SID - student id number, $SECTION - student's section, $RECITATION - student's recitation, $STATUS - C, drop, withdrawl, audit, etc, $EMAIL - student's email address, $LOGIN - student's login name, $COL[3] - third column in merge file, $COL[-1] - last column in merge file.

Here is a copy of a typical email :

 

Dear $FN,

This email message should go to everyone in mth141 for whom I have
an email address.

 

NEW WEBWORK ASSIGNMENT:

A new WeBWorK assignment (assignment 8) covering the material from
this week's lectures is up on the WeBWorK system. It must be completed
by 2:00am Tuesday, November 5. Remember, assignment 7 must be completed
by 2:00am Tuesday, October 29.

YOUR RECENT SCORES:

 

Your score on WeBWorK assignment 5 was $COL[-3] points out of a
possible 15 points. Your score on WeBWorK assignment 6 was $COL[-1]
points out of a possible 10 points. Your score on Exam 2 was $COL[-2]
points out of a possible 100 points.

These scores should include any adjustments I have made. If there are
any errors in these scores, please see me.

Have an enjoyable weekend.

Professor Pizer

Now you can send a "personalized" email to your students by merging the above with the mth141_totals.csv file (the scoring file from assignment 5). Be sure to set the merge file in the drop down menu in the upper right hand corner.

Usually you want to be really careful, so you can first preview the email by selecting some student in the drop down menu and clicking on the "Preview" button. This allows you to read the email with all the variables filled in for that student.

To save your self future work, you may want to save one email to use as a template for other emails. You can save as many as you want, but the one you save as default is the one that appears when you first go to the screen so that should be the template you use most often.

 

 

Viewing Student(s) Progress

The student's progress can be viewed by going to the Student Progress Page, a link to which is in the left hand column. You can eith view the statistics on one set for all users, or all sets for one user. This is a good place to find out how an individual student is doing in the course, or to find out how the class as a whole is doing on a particular set.

The "ind" column is a statistical "success" indicator for the problem set, calculated as: ((totalNumOfCorrectProblems / totalNumOfProblems)^2)/ AvgNumOfAttemptsPerProblem) which is a fairly good indicator of how well the students are grasping the concepts.

 

Acting as a Student

Often when a student is having trouble with a particular problem it is helpful to see thier version of the problem. You can do this by going to the Instructor Tools Page and selecting the student and the set and click the "Act as one user on one set" button. You can enter answers into the student's problem, they will not be recorded. Once you are done "acting" as that student, be sure to click on the "Stop Acting" link in the upper left hand corner of the screen.

Changing Set Data For an Individual Student

There are many times when you need to give a student an extension on a problem set, or change their score on a problem, or change the variables of a problem for a particular student. You can accomplish this by going to the Instructor Tools Page and selecting the student and the set, and then pressing the "Edit one set for one user" button. To give an extension, click on override, and change the due date and answer date. If you want to give a student different variables than they currently have, click on the "Edit list of problems in this set for studentname" link at the bottom of this page. Changing the "problem seed" for a particular problem gives it different variables. The students score on a particular problem can be changed here also.

Changing a Password

 

If a student forgets his or her password, you can give them a new password. Go to the Instructor Tools Page and select the student and press the "Change Password" button.

 

 

Removing Students or Changing Status

 

It is better to "drop" a student from a course instead of deleting them, since deleting them destroys all their data which may be needed later. In order to drop the student, go to the ClassList Editor page and select the user (by checking the box next to his name in, then select the "Edit selected users" option and click the Take Action button. Just enter the word DROP or the letter D in the status box for the student classlist information. You may want to enter a comment giving the drop date. You can later resurrect the student by changing his or her status to C (for current). In that case, you may want to make sure the student has been assigned the problem sets.

 

Writing New Problems or Editing Current Ones

You may want to select problems from the text book which you want to modify into WeBWorK problems. In order to create a problem template file (i.e. a .pg file), usually you start with a .pg file containing a problem similar to the one you already want and modify it. Nearly everywhere you see a problem there is an "Edit it" link. If you click on this link you will be take to an editor where you can edit this problem. This may not be an easy task, since this is computer code. There is a link on the editing page to the "Man pages" which can help you learn to write and edit problems.

You won't want to write over the current problem (you probably won't be allowed to either), so give it a new name by typing it in the "Save As" blank. Be sure to also type in proper directory to put it. If the directory you type doesn't exist, WeBWork will make it. So if you type in "new/problem.pg", WeBWorK will create the "new" directory for the problem.pg problem. This directory will the be available in the Local Problems section of the Library Browser Page.

When writing your own problems, you will usually have a few errors here and there. It is usually a good idea to click on the "Refresh" button often to make sure the problem is working.

Writing totally new problems may be difficult for a newer professor to do, but if you just want to change the wording or the variable parameters, it may be worth the time to make the small changes and save that problem to a new directory. Perhaps the best way to learn how the problems are written is making small changes to a bunch of them.

 

<| Post or View Comments |>

Forum archive 2000-2006 -> Arnold K. Pizer - Hardware for WeBWorK

by Arnold Pizer -
inactiveTopicHardware for WeBWorK topic started 11/5/2003; 5:13:26 PM
last post 11/6/2003; 8:58:38 PM
userArnold K. Pizer - Hardware for WeBWorK  blueArrow
11/5/2003; 5:13:26 PM (reads: 1587, responses: 8)

We recently received the  following query.

Dear Prof. Gage,

I am an assistant professor in the Johns Hopkins University. We plan to
use WeBWork for some calculus courses, maybe eventually up to a scale 
of 500 to 600 students. Here we need your valuable help.

Now our IT guy wants to know how much space WeBWork may require for 
such a class, including the temporary files and data files, so that he can
properly configure the server. Will you please give us some estimates?

Thanks for your kind consideration!

Best regards,
Qiao

<| Post or View Comments |>


userArnold K. Pizer - Re: Hardware for WeBWorK  blueArrow
11/5/2003; 5:17:46 PM (reads: 1763, responses: 0)

Here's our answer:

Dear Qiao,

Mike Gage has forwarded your email to me. 

Thank you for your interest in WeBWorK. I'm sure you are aware that Johns Hopkins used WeBWorK for many years under the direction of James Martino.  Jim is still at Johns Hopkins but has moved from the math department to the Digital knowledge Center, an R&D unit in the Hopkins university library structure.  His email is jrm@jhu.edu .  You certainly should get in touch with him if you haven't already.  He can tell you what he ran the courses on at Hopkins. If you talk with Jim, say hi for Mike and I.

First you should have your IT guy look at http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$1572 which gives some important info.  Also have him look at http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$1808 which is interesting and gives more info. about people having load problems.  Note that in Arizona State's case their problem was due to bad hardware they hadn't noticed and in Dartmouth's case the problem was that someone wrote a (very bad) problem that did a tremendous amount of needless calculations.  But the comments on server configuration are still valid.

At Johns Hopkins you are not talking about many users but I would still try to use a dual processor server if possible.  Concerning disk size I'll give you some figures below but disk space is so cheap that I would certainly err on the large size. 

The basic WeBWorK system files will fit on 10 MB but if you want to turn the access log on (it's off by default) that can become huge maybe 500 MB or more.  The tmp files at Rochester need about 4-5 GB (we have twice as many users as you anticipate) --- note that we have them on a separate partition that is not backed up.  A course (with logs, DATA, many problem template) should easily fit in 50 MB but this assumes people compress the database from time to time.  Most professors never do this (it requires one click) so maybe 500 MB is a safer size.   Also professors should remove unneeded tmp files (again it requires one click) but most don't.  You can get by with a pretty small (by current standards) amount of space if you want to but it is definitely not worth the trouble.  I see Dell is charging $224.10 for a 36GB 10K RPM Ultra 320 SCSI Hard Drive and I'm sure there are cheaper venders.  That size would be more than sufficient for you. [Actually look on http://www.pricewatch.com/ where you can find good 73 GB drives for about $200].  I would give 2 GB for system files, 10 GB for tmp files (in a separate partition), and 10 GB for courses.   The system and courses don't have to be on separate partitions so you can combine them into one partition.  You can get by with a lot less but it's not worth your time to worry about it.

I hope this helps. Please fell free to contact us again.  Others may find this info useful --- would it be OK with you if I post this on http://webhost.math.rochester.edu/webworkdocs/discuss  ?

Sincerely,

Arnie

<| Post or View Comments |>


userArnold K. Pizer - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 2:36:35 PM (reads: 1779, responses: 0)

Here is another sequence of queries and answers.

My name is Zed Pobre, and I am the system administrator for the
Department of Mathematics at Louisiana State University.  I have been
asked to implement a Webwork system to accommodate 2500 students for
the Fall 2004 semester, later to be expanded to handle 6000 students.
I am very much hoping that you can tell me what kind of hardware I am
going to need to provide reasonable response time for 500 to 1500
simultaneous users, and whether it would be a better idea to try to
jump directly to Webwork 2 or build the entire environment around
Webwork 1.9.

Thanks in advance for any help you can provide.  I unfortunately don't
have the budget to run my own scalability tests (though the university
has offered to pay for the final server once I give them firm specs),
so if I have to do it on my own I'm going to have to just guess.

--
System Administration <merlin@math.lsu.edu>;
Louisiana State University
Department of Mathematics

<| Post or View Comments |>


userArnold K. Pizer - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 2:37:02 PM (reads: 1768, responses: 0)
Dear Zed,

I'll attempt to give you a few guide lines.  First look at http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$1928 and the especially the two links given there.  We have a list of hardware people are using at http://webhost.math.rochester.edu/webworkdocs/sites/systems/ but it is very much out of date.  We should  try to update this with current info.

There are not many places with the number of users you anticipate.  Arizona State has a lot of users and John Jones <jj@asu.edu>; can give you some info.  Irvine also has I believe a lot of users but they are or at least were using multiple servers --- you might want to contact someone there.  Indiana also has a lot of users on heavy Sun hardware. Rutgers is another place with a lot of users.  Utah also I think.

Actually the load you will experience is mostly dependent on the size of the largest class (assuming that if you have a number of large classes, they don't have assignment due at the same time).  At Rochester we have about 1300 users with a largest class of 300.  With our relatively old Dell 4600 (one of the earliest dual Xeon machines with 2 Ghz processors with 1 GB of memory I think), we no longer try to schedule assignments on different days.  I actually don't know when assignment are due since with this hardware, we have no load issues at all.  So we may be close to the lower range of your "500 to 1500 simultaneous users."

You can get the fastest Dell 4600 with dual 3 Ghz Xeons and 2 GB of memory for about $6,000. This is one fast machine and might handle the load.  For $10,000 you can get an essentially equivalent (dual 2.5 Ghz Xeons but with larger cache) Dell 6600 but this gives you the option of adding two more processors.  That ( a quad processor) would certainly handle the load.  You probably should add more disk space than the above quotes contain and maybe more memory but you can get disks for a lot cheaper than Dell's prices.  Another option might be to get a Dell 2600 with dual 3 Ghz Xeons and 2 GB of memory for $4,500 and if that didn't handle the load, then get a second one and split the courses.   I can certainly say that we have been extremely happy with the Dell hardware but you can build or buy cheaper servers.  In any case if you use Intel chips, I wouldn't get anything less than a dual Xeon machine.

I would suggest setting up WeBWorK 1.9 and then 2.0.  After setting up 1.9, 2.0 is not much more work.  2.0 is still on the cutting edge.  You can run a course simultaneously on both.

I hope this info helps.  Please fell free to contact us again.  Others may find this info useful --- would it be OK with you if I post this on http://webhost.math.rochester.edu/webworkdocs/discuss  ?

Sincerely,

Arnie

<| Post or View Comments |>


userArnold K. Pizer - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 2:37:48 PM (reads: 1761, responses: 0)
On Thu, Nov 06, 2003 at 11:38:01AM -0500, Arnold Pizer wrote:
>
> You can get the fastest Dell 4600 with dual 3 Ghz Xeons and 2 GB of memory
> for about $6,000. This is one fast machine and might handle the load.  For
> $10,000 you can get an essentially equivalent (dual 2.5 Ghz Xeons but with
> larger cache) Dell 6600 but this gives you the option of adding two more
> processors.  That (a quad processor) would certainly handle the
> load.

    After checking the prices on this, it's not much more expensive to
add a second 2 processor 4600 system as it is to upgrade a 6600 to 4
processors.  I submitted specs to the chairman recommending two $7400
2650s with 3.2GHz Xeons, 4GB RAM, and 2 hard drives (RAID1), with the
idea of just adding or replacing them as distributed systems as time
goes on.

    I'll try load-testing by pushing all classes onto one server to
start with next semester, and as soon as I hear a complaint about
speed, I'll split them up between the two and mirror changed data
between the two nightly.  I don't have the infrastructure for this
currently, but I'm looking into setting up Kerberos and AFS, moving
actual storage to other machines so I can do instantaneous failover if
something happens.  Do you know anyone who has done this before?


> I hope this info helps.  Please fell free to contact us again.  Others may
> find this info useful --- would it be OK with you if I post this on

    Thanks, it gave me a starting point and a list of other people to
bug.  Feel free to post this, and if I forget to send you the results
of this by next July, feel free to send me e-mail asking.

--
System Administration <merlin@math.lsu.edu>;
Louisiana State University
Department of Mathematics

<| Post or View Comments |>


userArnold K. Pizer - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 2:40:22 PM (reads: 1767, responses: 0)
<!--StartFragment -->
On Thu, Nov 06, 2003 at 11:38:01AM -0500, Arnold Pizer wrote:
>
> You can get the fastest Dell 4600 with dual 3 Ghz Xeons and 2 GB of memory
> for about $6,000. This is one fast machine and might handle the load.  For
> $10,000 you can get an essentially equivalent (dual 2.5 Ghz Xeons but with
> larger cache) Dell 6600 but this gives you the option of adding two more
> processors.  That (a quad processor) would certainly handle the
> load.

    After checking the prices on this, it's not much more expensive to
add a second 2 processor 4600 system as it is to upgrade a 6600 to 4
processors.  I submitted specs to the chairman recommending two $7400
2650s with 3.2GHz Xeons, 4GB RAM, and 2 hard drives (RAID1), with the
idea of just adding or replacing them as distributed systems as time
goes on.

I think this is a good plan. It's what I would do in your situation.  Since it's so cheap, don't skimp on hard disk space.


    I'll try load-testing by pushing all classes onto one server to
start with next semester, and as soon as I hear a complaint about
speed, I'll split them up between the two and mirror changed data
between the two nightly.

I'm not sure I totally understand this.  Since the real problem (if you have one)  will occur at the times homework is due and this is determined on a course by course basis, it would be simple to just move some courses to the second server.  There is no need to share data between courses. 

 I don't have the infrastructure for this
currently, but I'm looking into setting up Kerberos and AFS, moving
actual storage to other machines so I can do instantaneous failover if
something happens.  Do you know anyone who has done this before?

No, but I'm not really up on this. I would ask the folks at Irvine.  A couple of years ago, they set up a load balancing system with several servers serving maybe 2500 students.  I'm not sure what they are doing now but it looks like they have expanded into Physics and Chemistry (http://homework.ps.uci.edu/webwork/). The sys admin there is "Domingos R. Begalli" <drb@uci.edu>; and you could contact him.



> I hope this info helps.  Please fell free to contact us again.  Others may
> find this info useful --- would it be OK with you if I post this on
> http://webhost.math.rochester.edu/webworkdocs/discuss ?

    Thanks, it gave me a starting point and a list of other people to
bug.  Feel free to post this, and if I forget to send you the results
of this by next July, feel free to send me e-mail asking.

OK, Thanks.  Good luck with the project.

Arnie

<| Post or View Comments |>


userArnold K. Pizer - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 2:53:06 PM (reads: 1757, responses: 0)
On Thu, Nov 06, 2003 at 02:30:40PM -0500, Arnold Pizer wrote:
> >    I'll try load-testing by pushing all classes onto one server to
> >start with next semester, and as soon as I hear a complaint about
> >speed, I'll split them up between the two and mirror changed data
> >between the two nightly.
>
> I'm not sure I totally understand this.  Since the real problem (if you
> have one)  will occur at the times homework is due and this is determined
> on a course by course basis, it would be simple to just move some courses
> to the second server.  There is no need to share data between courses.

    For failover, if necessary.  If one of the machines explodes, I'd
like to be able to have the second one pick up the slack with as
little downtime as possible.  Especially noting that the department
wants to use the system for testing as well as homework, there will be
a collective heart attack if half of our courses drop out the morning
before a test.
 
[...]
    Thanks.

--
System Administration <merlin@math.lsu.edu>;
Louisiana State University
Department of Mathematics

<| Post or View Comments |>


userJohn Jones - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 4:20:43 PM (reads: 1823, responses: 0)
Hi,

As mentioned earlier in the thread, we are servicing a fairly large number of students. I think we are over 4000 this semester. We have two machines - both dual processor pentiums, a 2.66GHz and a 2.40GHz. Earlier this semester, one of the machines was having hardware problems, so we had to shut it down and run off of just one.

Currently, we are running soley on the 2.66GHz machine, and that seems to hold up pretty well with the student load. Other variables which may be relevent to speed:

  • We run dvipng only mode for displaying problems
  • We use vlatex for quicker generation of pdf (faster than dvips and ghostscript - probably comparable to pdflatex)
  • We run a hybrid somewhere between WW 1.8 and 1.9, but not 2.0 (yet)
  • We cache images of graphs. Some of our problem sets are full of images (as many as 8 graphs in a single problem). They are much faster with graph caching.
  • We keep dvipng/graph images for a week, but then delete them. Without that, we ran out of disk space and, well, it wasn't pretty. Of course, if an image is needed again, it is regenerated.
Our load sometimes creeps up for short times, but is mostly fine.

When we were having problems, I was shifting courses back and forth between machines. The course would be unavailable for < 1 minute in the process (disconnect course, tar it up, sftp it, untar, run script to fix permissions).

The biggest problem we ran into with this was that students/teachers would bookmark/link to the login script. When the course moved, those links were dead and students got the course not found error. Also, our main page of links to courses would change when we changed machines. In general that should not be a problem, but some browsers won't refresh a page even if the student shift-clicks on the refresh button (some versions of AOL). They got very frustrated. Even though it was clearly their browser's fault, they blame WeBWorK.

I don't synch course files between the machines. We have RAID mirroring on each machine, so even if it half-explodes, we should be able to recover.

John

<| Post or View Comments |>


userZbigniew Fiedorowicz - Re: Hardware for WeBWorK  blueArrow
11/6/2003; 8:58:38 PM (reads: 1770, responses: 0)

At Ohio State we currently have around 1100 students this quarter using WeBWorK, with two of our largest courses consisting of 300 students each.  We are using the course management system Moodle as the front end to all WeBWorK functions except for initial course setup.  We haven't had any performance problems and seem to have plenty of reserve capacity.  The hardware specs for our new server are given below.

Zig

sysinfo

Host Name is              webwork2
Host Aliases is           webwork2
Host Address(es) is       140.254.92.37
Host ID is                fe8c255c
System Model is           GenuineIntel 3057 Mhz Intel(R) Xeon(TM) CPU 3.06GHz
Main Memory is            4 GB
Virtual Memory is         4 GB
Number of CPUs is         2
CPU Type is               Intel(R)
App Architecture is       i686
Kernel Architecture is    i686
OS Name is                Linux
OS Version is             2.4.20-20.9bigmem
OS Distribution is        Red Hat Linux release 9 (Shrike)
Kernel Version is         Linux version 2.4.20-20.9bigmem (bhcompile@stripples.devel.redhat.com) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 SMP Mon Aug 18 11:18:32 EDT 2003

sudo /sbin/fdisk -l
Password:

Disk /dev/sda: 36.7 GB, 36703934464 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1      3939  31639986   fd  Linux raid autodetect
/dev/sda2          3940      4461   4192965   fd  Linux raid autodetect

Disk /dev/sdb: 36.7 GB, 36703934464 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sdb1   *         1      3939  31639986   fd  Linux raid autodetect
/dev/sdb2          3940      4461   4192965   fd  Linux raid autodetect

Disk /dev/sdc: 36.7 GB, 36703932928 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sdc1             1      4462  35840983+  83  Linux

Disk /dev/sdd: 36.7 GB, 36703934464 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sdd1             1      4462  35840983+  fd  Linux raid autodetect

<| Post or View Comments |>

inactiveTopicSpurious compiler warning with dvipng mode topic started 8/19/2003; 9:48:54 PM
last post 8/20/2003; 7:46:26 AM
userZbigniew Fiedorowicz - Spurious compiler warning with dvipng mode  blueArrow
8/19/2003; 9:48:54 PM (reads: 929, responses: 1)
I'm getting spurious compiler warnings:

 

Compiler warnings:
* /usr/bin/latex fiedorow-prob3image.tex >>/dev/null 2>>/dev/null -- FAILED in ImageGenerator returned 256 at /web/webwork/system/lib//ImageGenerator.pm line 189.
##More details:
-------- ImageGenerator::render called at /usr/local/apache/cgi-bin/webwork/system/cgi-scripts/processProblem8.pl line 473

when I'm editting certain problems. These problems display fine in the "Do Problem Set Environment". I only get these spurious compiler warnings when I click on "Show Editor" and then on "Refresh Problem" or "Save Updated Version". There aren't any missing images. This seems only to occur with problems which use the LaTeX picture environment.

Any ideas, John?

Zig

<| Post or View Comments |>


userZbigniew Fiedorowicz - Re: Spurious compiler warning with dvipng mode  blueArrow
8/20/2003; 7:46:26 AM (reads: 1171, responses: 0)
Never mind, John. I figured it out. It is the problem you discussed with Arnie in http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$1593#1594

Unfortunately, the fix discussed there was not implemented in the shipped version of WeBWorK 1.9.

Zig

<| Post or View Comments |>