Forums

Search results: 169

Installation -> Admin Course Installation Problem

by Jay None -
Hi all,

I just finished installing WebWork on a Fedora 8 server, and everything works fine until I add the admin course. Once I click on the admin course, I get the following error:

error instantiating DB schema WeBWorK::DB::Schema::NewSQL::NonVersioned for table set_user: Can't locate object method "new" via package "WeBWorK::DB::Schema::NewSQL::NonVersioned" at /opt/webwork/webwork2/lib/WeBWorK/DB.pm line 262.
at /opt/webwork/webwork2/lib/WeBWorK.pm line 286


Also, randomly when refreshing the error page, I will get the error that it cant locate Iterator/Util.pm in @INC, however Util.pm is located at "/usr/lib/perl5/site_perl/5.8.8/Iterator/Util.pm", and "/usr/lib/perl5/site_perl/5.8.8/" is in the @INC variable path list...

Can anyone shed some light on what is wrong here, anything I can try to troubleshoot? Thanks!

Jay

WeBWorK Main Forum -> TeX in graphs -> Re: TeX in graphs

by Michael Gage -
Hi Joel,

Make sure that you use "shift reload" on your browser to make sure that the image is not being cached by
your browser. Having said that -- yes the image is also likely
cached on the machine as well. There is some effort made to insure that this image
is "current" but since you are doing something a bit outside the standard box
it's possible that in this case the refresh isn't behaving properly. It would take some experimenting
to figure out exactly what the problem is.

Take care,

Mike
Dear Rich,

Sometimes this problem arises because the "Refresh"
function on some operating systems and browser combinations
is a repeating key, so that a student who accidentally holds
down the F5 key (e.g., by resting a textbook on the keyboard)
can generate so many requests (6-10 per second) that the server
and Apache can't handle the load. In such cases, RAM is quickly
exhausted and swapping begins, which is untenable.

When using Apache 1, the solution involves using
Apache::SizeLimit and httpd.conf to limit
the size and number of Apache children.

Then WeBWorK can survive, but users will experience
a brief period of reduced service until the unintended
denial of service attack ends.

Your server (Pentium 3 Xeon, 512 MB RAM) may be a bit weak for a WeBWorK server.
We have 5-8 GB RAM on ours here at IU Bloomington.

Sincerely,

Bill Wheeler

WeBWorK Problems -> refresh cached images

by Darwyn Cook -
I am writing a problem where the ranges on the horizontal and vertical axes depend on student inputs. I found this old thread started by nandor that suggests a fix. I ended up using a modified version of his code:
$in=time();
$gr->gifName($gr->gifName()."$in");

Anyways, in the thread John suggests that
$refreshCashedImages= 1;
will also work in webwork 2, but I couldn't get it to work in 2.4.5 using Firefox (didn't try other browsers). Not an issue since there is a workaround, just thought I would point it out.

Installation -> Corrupted images in IE -> Re: Corrupted images in IE

by Michael Gage -
Hi,

I'd make a couple of tests to see what is going on.

It's possible that the browser has some kind of imperfect cache of the equation pictures. Holding down the shift key while clicking refresh or reload will force the browser to fetch a new copy of the equation pictures. You could also ask the students to clear the cache of their browser and see if that helps.

The other information is to find out url of the equation picture and load it
into a separate page (right click gives you a menu that allows you to do this in some browsers -- otherwise you can inspect page source). See if that address seems recognizable. On the server side you can check to see if the file is there, delete it and then force it to be recreated.

You may have already done all of these things, but if not this will give you a bit more information to work with.

-- Mike

Workshop on Online Assessment Systems for Mathematics and Computer Science

What's Next?

Call for Submissions / Call for Participation

http://atlantis.seidenberg.pace.edu/wiki/nycoasys2008

webworknyc2008@gmail.com

There is no fee to attend this workshop.

Where: Pace University, 163 William Street, New York, NY 10038, 15th floor

When: Friday, May 2nd 2008 – 9:30 am to 5 pm

Invited speakers include:

  • Dr. Michael Gage, University of Rochester, WeBWorK

  • Dr. David Arnow, Brooklyn College, CodeLab

Context:

Numerous web-based assessment systems have emerged in the past few years to support the teaching and learning of mathematics (e.g., calculus, pre-calculus, algebra, and finite and discrete mathematics) and programming (e.g., for the Java, C and C++ programming languages) in introductory classes. These systems permit instructors to deliver, and (automatically) grade homework problems and distribute their solutions. Many of them are commercial initiatives (rather than free or open source) and often linked with textbooks; students pay to use them and problem sets are administered centrally. Some of them permit instructors to select and edit problems from a problem library. Rarely, they allow instructors for writing their own customized problems.

The main objectives of these systems are to: 1) engage students in active on-line learning to augment traditional practices; 2) present students with immediate and customized feedback on their progress; 3) provide students with tailored and constructive support for any problem areas they encounter; and 4) offer instructors the ability to continually monitor and assess student performance (both individually and across classes), to help guide class sessions.

These systems typically manage authenticity to prevent plagiarism and support problems ranging from true / false, multiple-choice and fill-in-the-blank type problems. To address a wider range of problems in mathematics, they need to include a particular mechanism for the treatment of symbolic mathematical formulae; for example, x+1, (x2-1)/(x-1) or x+sin(x)2+cos(x)^2 should be equally accepted as an answer. In programming, such systems must be able to measure the correctness and quality (e.g., code typography) of code fragments. Correctness is generally evaluated based on running shell scripts and unit testing mechanisms. Very few systems deal extensively with code quality.

Existing Systems:

(Note: This is not an exhaustive list.)

Objectives of the Workshop:

This workshop will permit attendees to discover and/or practice with a wide range of online assessment systems for mathematics and programming. The systems will be presented by their own designers, extensive users or contributors who will focus on the philosophy behind the system, the state-of-the-art of the system and its future. This workshop is also intended to create a space of discussion for instructors in mathematics and computer science interested in building a community of instructors in mathematics and computer science interested in online assessment systems. The experience of each community can transfer to the other and create synergies.

Another objective is to discuss the future and features of the next generation of such systems. For example, some of the newest systems offer graphical-based progress and performance visualization, with error highlighting of code and hints on how to correct it. They also begin to use sophisticated data mining techniques on the repository of existing submissions to provide students' learning profiles and generate dynamic questions at the appropriate level of difficulty. After the workshop we will survey the attendees to assess their impression on the features of the next generation of online assessment systems in mathematics and programming.

Themes:

  • The state-of-the-art of online assessment systems in mathematics and programming

  • Teaching introductory mathematics and programming courses with online assessment systems

  • Experience with teaching with different online assessment systems

  • Comparison of different online assessment systems

  • Designing online assessment systems for mathematics and programming

  • Survey of online assessment systems in mathematics and programming

  • The next generation of online assessment systems in mathematics and programming

Intended audience:

This workshop is intended for instructors involved in teaching courses in mathematics and programming, and/or interested in the design and use of online assessment systems to support students' learning and their teaching.

Schedule:

  • The workshop will run from 9:30 am to 5 pm. Parallel session will be organized in the afternoon to permit mathematics and programming instructors to meet separately and discuss specifics, before convening again to share ideas.

  • Refreshments and lunch will be served during the day.

Labs:

Attendees will have access to a lab to practice with existing online assessment systems in mathematics and programming.

Call for Submissions:

If you are interested in presenting at the workshop, please submit a 300-word abstract at: webworknyc2008@gmail.com with subject submission by April 15th. The abstracts will be posted on the web page of the workshop. During their presentations, speakers will be provided with a laptop, a projector and a whiteboard with pens.

Submissions will be acknowledged and authors will be notified of acceptance/rejection by April 17th.

Call for Participation:

If you do not plan to present but are interested in attending this workshop, please rsvp by sending an email to: webworknyc2008@gmail.com by April 15th with subject participation.

Contact email:

webworknyc2008@gmail.com

Support:

This workshop is funded by an NSF CCLI AI grant "Adapting and Extending WeBWorK for Use in the Computer Science Curriculum" (#0511385 and #0511391, 2005-2008)

Organizers:

Christelle Scharff, Pace University, Seidenberg School of Computer Science and Information Systems, New York, NY 10038, cscharff@pace.edu, Tel: 212 346 1016, Fax: 212 346 1863

Olly Gotel, Pace University, Seidenberg School of Computer Science and Information Systems, New York, NY 10038, ogotel@pace.edu

Andrew Wildenberg, Cornell College, Department of Computer Science, Mt Vernon, IA 52314, awildenberg@cornellcollege.edu

Richard Kline, Pace University, Seidenberg School of Computer Science and Information Systems, New York, NY 10038, rkline@pace.edu

I would like to delete "old" WeBWorK sections, i.e., sections that are at least one year old.  I have been using the "Course Administration" interface to perform this task.  However, recently, each time that I've deleted a section, the program responds with a message that the deletion of the section was successful, but then there is a long list of WeBWorK warnings.  Moreover, when I refresh the page, I get the following error message:

An error occured while deleting the course MTH2003_JM13C_S07:

sql_single: failed to execute SQL statement 'DROP TABLE `MTH2003_JM13C_S07_problem_user`;': Unknown table 'MTH2003_JM13C_S07_problem_user'

I don't wish to damage the database.  I'd appreciate any assistance in the explanation of the error message.  I do have a copy of the long list of warnings if it would be of help.

Thank you.

Sherman Wong

Forum archive 2000-2006 -> James - Apache Memory Problems

by Arnold Pizer -
inactiveTopicApache Memory Problems topic started 12/3/2006; 9:46:01 PM
last post 12/12/2006; 11:07:42 PM
userJames - Apache Memory Problems  blueArrow
12/3/2006; 9:46:01 PM (reads: 358, responses: 3)
Greetings all,

Brian Camp and I have set up a webwork server using Webwork 2.3 ( patched branch ). We use Apache 2.0.54, Perl 5.8.6, on Fedora Core 4.

We have been having issues with Apache and Memory.

Our server is dual processor, dual core Xeons, with 1GB RAM and 3.5GB swap.

On two occasions we have checked the server and found apache misbehaving.

Saturday, an instructor called saying WW was not working. We checked into it, and apache had used all available RAM, as well as all available swap. The professor had been using Course administration to select problems for a homework set. He had selected 'show all' from the drop down, so he was trying to view all 500 problems in the library. Apparently the server had not responded so he tried again and again until he contacted us. When we checked apache was using all available RAM as well as nearly all available swap. We restarted apache. And then I followed the advice in the below threads:

http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$3168#3189 http://webhost.math.rochester.edu/webworkdocs/discuss/msgReader$4481

I changed our httpd.conf to:

KeepAlive On



MaxKeepAliveRequests 10



KeepAliveTimeout 15



<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 70
MaxClients 160
MaxRequestsPerChild 100
</IfModule>



<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 100
</IfModule>



PerlSetEnv PERL_RLIMIT_AS 100:120
PerlModule Apache2::Resource

Today ( Sunday ) our server became unusable. After logging in to the server we restarted apache again. It was using all available RAM, and was using about half available swap.

Looking through the apache error log, we were able to identify when the problem started, and from that point on the logs are littered with: [Sun Dec 03 18:39:01 2006] [info] (104)Connection reset by peer: core_output_filter: writing data to the network [Sun Dec 03 18:39:02 2006] [info] (32)Broken pipe: core_output_filter: writing data to the network [Sun Dec 03 18:39:02 2006] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 16 children, there are 0 idle, and 42 total children

We then checked the webwork logs and found one user had managed to submit an answer to a problem 405 times in about 2 minutes. We tried recreating the error by logging in and doing the same problem, with the answer they submited but never caused the server to go crazy.

Any idea what might be the problem? Any recommendations on apache configuration?

Thanks for your time,

James Elliott & Brian Camp

<| Post or View Comments |>


userMichael Gage - Re: Apache Memory Problems  blueArrow
12/3/2006; 10:34:53 PM (reads: 404, responses: 0)
I would put the max clients down to around 20. We keep it at 10 on hosted, but we only have 500 Meg of memory for that machine.

 

Timeout 1200
KeepAlive On
#MaxKeepAliveRequests 100
MaxKeepAliveRequests 50
KeepAliveTimeout 10
StartServers 5
MinSpareServers 5
MaxSpareServers 10
#sam# Default is 150, but was previously set to 10. Trying 50 for now to
#sam# see if there'll be any problems.
#mike# there were some problems -- trying 25 clients -- (see Oct 22, 2006)-- some problems timed out
#Mike# still problems -- reducing it to 15
#mike# now to 10
MaxClients 10
MaxRequestsPerChild 300

As you can see some experimentation is necessary. A webwork child takes about 50Meg of memory, and it appears that it works best if you keep the total amount of memory that can be claimed by the children to less than the physical RAM available.

Hope this helps.

<| Post or View Comments |>


userBrian Camp - Re: Apache Memory Problems  blueArrow
12/3/2006; 11:54:03 PM (reads: 406, responses: 0)
Mike,

Thanks for the quick response!

I had another apache question that I think is related to this. What sorts of modules should apache be loaded with? For example, have you tinkered with this on hosted or hosted2 to try and make your server more efficient for webwork?

Here are the modules that we currently are loading:

> LoadModule access_module modules/mod_access.so
> LoadModule auth_module modules/mod_auth.so
> LoadModule auth_anon_module modules/mod_auth_anon.so
> LoadModule auth_dbm_module modules/mod_auth_dbm.so
> LoadModule auth_digest_module modules/mod_auth_digest.so
> LoadModule ldap_module modules/mod_ldap.so
> LoadModule auth_ldap_module modules/mod_auth_ldap.so
> LoadModule include_module modules/mod_include.so
> LoadModule log_config_module modules/mod_log_config.so
> LoadModule logio_module modules/mod_logio.so
> LoadModule env_module modules/mod_env.so
> LoadModule mime_magic_module modules/mod_mime_magic.so
> LoadModule cern_meta_module modules/mod_cern_meta.so
> LoadModule expires_module modules/mod_expires.so
> LoadModule deflate_module modules/mod_deflate.so
> LoadModule headers_module modules/mod_headers.so
> LoadModule usertrack_module modules/mod_usertrack.so
> LoadModule setenvif_module modules/mod_setenvif.so
> LoadModule mime_module modules/mod_mime.so
> LoadModule dav_module modules/mod_dav.so
> LoadModule status_module modules/mod_status.so
> LoadModule autoindex_module modules/mod_autoindex.so
> LoadModule asis_module modules/mod_asis.so
> LoadModule info_module modules/mod_info.so
> LoadModule dav_fs_module modules/mod_dav_fs.so
> LoadModule vhost_alias_module modules/mod_vhost_alias.so
> LoadModule negotiation_module modules/mod_negotiation.so
> LoadModule dir_module modules/mod_dir.so
> LoadModule actions_module modules/mod_actions.so
> LoadModule speling_module modules/mod_speling.so
> LoadModule userdir_module modules/mod_userdir.so
> LoadModule alias_module modules/mod_alias.so
> LoadModule rewrite_module modules/mod_rewrite.so
> LoadModule proxy_module modules/mod_proxy.so
> LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
> LoadModule proxy_http_module modules/mod_proxy_http.so
> LoadModule proxy_connect_module modules/mod_proxy_connect.so
> LoadModule cache_module modules/mod_cache.so
> LoadModule suexec_module modules/mod_suexec.so
> LoadModule disk_cache_module modules/mod_disk_cache.so
> LoadModule file_cache_module modules/mod_file_cache.so
> LoadModule mem_cache_module modules/mod_mem_cache.so
> LoadModule cgi_module modules/mod_cgi.so
Also, we decided to keep temporary copies of images generated by webwork on the fly. Do you have any suggestions on how long images should be kept for? For example, do you run a nightly cron job to delete images that are stale (i.e. perhaps older than x hours or x days)? Is there even a way to do this?

Initially we had not been storing images generated on the fly so that they would have to be regenerated. I think this may have led to our difficulty with the instructor browsing the problem library.

They had picked something like 518 problems they wanted to view. Images was their default display option. This by itself was not a problem but then they would then click on something else causing the page to want to redraw all 518 problems. Is this a bug in the problem library? It would seem that there might be a better way to select libraries and problem sets and so on without the display needing to refresh every time a button is clicked. On the other hand, I am trying to discourage the instructor from having to view such massive numbers of problems all at the same time :)

Thanks again for all of the help, Brian

<| Post or View Comments |>


userWilliam Wheeler - Re: Apache Memory Problems  blueArrow
12/12/2006; 11:07:42 PM (reads: 315, responses: 0)
Dear James and Brian,

Re: >We then checked the webwork logs and found one user had managed to submit an answer to a problem 405 times in about 2 minutes. We tried recreating the error by logging in and doing the same problem, with the answer they submited but never caused the server to go crazy.

I see this situation several times each semester. This is an inadvertent Denial of Service (DoS) attack caused by a "bug" in the operating system and browser combination on the computer the student is using. What seems to be the case is that the "Submit" button/mouse combination and/or the "Enter" key act as "repeating" keys, like the letter keys on the keyboard. (Hold down a letter key and watch how fast it repeats.) So if the student holds down the mouse button while the mouse pointer is on the Submit key or holds down the "Enter" key, then the browser will repeatedly submit the form as rapidly as possible. I've seen submission rates approaching 20 submissions per second. I've seen these attacks with both "GET" and "POST" requests.

Each resubmission breaks the computer's network connection to the Apache server. That's the source of the "Connection reset" and "Broken pipe" messages.

These attacks rapidly overwhelm Apache, because it has to assign each request to a new child or an old one that isn't otherwise assigned. (Note: When a connection is broken, it doesn't stop the WeBWorK process that is running; that process will run to completion, at which point the Apache child tries to send the WeBWorK output back to the student's computer; but the child discovers that the "pipe" is broken when it tries to write to the pipe.) Because the rate of submissions is faster than WeBWorK can process the submissions, WeBWorK falls behind and Apache has to create one new child after another. If the attack lasts several minutes, then Apache will overflow both RAM and Swap. The server will appear to be non-responsive, because it is spending almost all of its CPU cycles swapping.

If left alone for a long time, the server will eventually recover on its own. But that may take hours. So the timely response is to stop and restart Apache. (This may take several minutes.)

These inadvertent DoS attacks were a frequent problem with the old Windows Millenium version of Windows. I see the problem less frequently now. Last month I saw one attack from a Mac and one attack from a Windows PC.

I've never been able to recreate this phenomenon on my workstations. But I've spoken with students who were sources of attacks. They usually describe the computer's screen as appearing to "shake rapidly". I usually caution the students to stop using the computers that generated the attacks.

Sincerely,

Bill Wheeler, Indiana University, Bloomington

<| Post or View Comments |>

inactiveTopicGateway testing - where? topic started 5/31/2006; 4:10:43 PM
last post 6/7/2006; 9:03:09 PM
userLars Jensen - Gateway testing - where?  blueArrow
5/31/2006; 4:10:43 PM (reads: 1157, responses: 24)
It was my understanding that gateway testing was included in ww 2.2, however, I can't find it. I recall a drop-down menu somewhere in Gavin's preliminary "gateway version" of ww 2.1, that would allow me to configure a problem set for "gateway testing" or "proctored gateway testing," but I can't find it anywhere. Has gateway testing been included in ww 2.2?

Lars.

<| Post or View Comments |>


userMichael Gage - Re: Gateway testing - where?  blueArrow
5/31/2006; 4:27:17 PM (reads: 1243, responses: 0)
Look towards the top of the Set detail page -- the one on which you edit the contents of a homework set, assign weights to problems, due dates and so forth. There is a pop-up button for assignment type that allows you to select either homework or gateway

-- Mike

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
5/31/2006; 5:02:16 PM (reads: 1239, responses: 0)
Thanks Mike!

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
5/31/2006; 5:10:58 PM (reads: 1236, responses: 0)
Hi Mike,

Just tried to change the "Assignment type" setting of a problem set, and it turns out that it can't be changed - the only setting that "sticks" is "homework." No matter what I choose from the drop-down menu, once I click the "Save changes" button, the setting returns to "homework."

Lars.

<| Post or View Comments |>


userMichael Gage - Re: Gateway testing - where?  blueArrow
5/31/2006; 5:58:48 PM (reads: 1252, responses: 0)
I haven't been able to reproduce this.

I took an existing homework course. Changed homework to gateway/quiz. Pressed "Save Changes" at the top of the page.

The return page had extra blanks to fill in regarding the parameters for the quiz.

Gavin LaRose is the principal author on this module, we might have to consult him.

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
5/31/2006; 7:13:08 PM (reads: 1246, responses: 0)
Hi Mike,

That's what I did as well, except that the "gateway/quiz" setting switched back to "homework" instantly as I clicked "Save changes."

You are running development 2.2, though, right? I'm running plain 2.2.

Lars.

<| Post or View Comments |>


userGavin LaRose - Re: Gateway testing - where?  blueArrow
6/1/2006; 9:31:27 AM (reads: 1234, responses: 1)
Hi Lars,

I've never seen this problem, but I'm running versions of WeBWorK that are well behind the curve. It sounds as if either the assignment type isn't being saved to the mySQL database, or the set detail page is automatically giving the default answer rather than what's in the database. Do you have access to the mySQL database? The easiest thing to do would be to check the actual assignment type in the database to see if it's correct.

Gavin

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/1/2006; 10:34:26 AM (reads: 1341, responses: 0)
Hi Gavin,

Yes, I do have mysql access. And I found the setName_set table with table entry "assignment_type", and it does indeed say "gateway." However when I login to the course and look at the same setting after editing the course in the library browser, it is still listed as "homework" and none of the extra blanks that Mike refered to pops up.

Lars.

<| Post or View Comments |>


userMichael Gage - Re: Gateway testing - where?  blueArrow
6/1/2006; 1:25:21 PM (reads: 1225, responses: 0)
I'm using version 1.37 of ProblemSetDetail.pm You probably have version 1.32. The differences are cosmetic user interface as far as I can tell, but one of them might be causing your difficulty. You might try selectively updating

cvs status ProblemSetDetail.pm

will give you the version you are currently using.

cvs update -r 1.37 ProblemSetDetail.pm

will update just that one file.

Hope this helps.

-- Mike

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/1/2006; 2:17:13 PM (reads: 1212, responses: 0)
Hi Mike,

Tried this - it didn't help...

Lars.

<| Post or View Comments |>


userGavin LaRose - Re: Gateway testing - where?  blueArrow
6/2/2006; 8:46:34 AM (reads: 1209, responses: 0)
Hi Lars,

I'm not sure I completely understand what you're seeing here. I think you've described two apparently buggy behaviours: (1) when you go to the set detail page, select "gateway", and press "save", it returns with the set detail page but the assignment type reset to "homework" (even though the database indicates that the assignment type has been saved as "gateway"), and (2) after resetting the assignment type to "gateway", if you enter the Library browser the assignment type in the database gets reset as "homework". (Please let me know if that description isn't correct.)

I don't understand (1), because I've never seen that behavior (I've only seen the sequence of events that Mike indicated) and unfortunately don't have the time this morning to look at it to try and figure out what's going on. I'll be able to look at it next week, at which point I'll grab the latest version of WeBWorK out of the CVS and see if I can duplicate your problem. (2) might be more understandable; I haven't worked at all with the Library browser, so it may be that it creates/works with assignments without specifying an "assignment_type". I'd expect that this should result in the type not being changed, but I could possibly imagine some way that it might end up resetting the type unexpectedly.

Gavin

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/3/2006; 2:08:41 PM (reads: 1207, responses: 0)
Hi Gavin,

Your statement (1) above is exactly correct, and contains everything. I'm not sure that (2) adds anything.

So to summarize, here's what's going on:

(i) Enter the library browser

(ii) select a set from the "Select a Set from this Course" drop-down menu and click the "Edit Target Set" button

(iii) Select "gateway/quiz" from the "Assignment type" drop-down menu, and click "Save changes"

After carrying out (iii), (a) the web page instantly refreshes, listing the "Assignment type" as "homework" (on the drop-down menu), and (b) the mysql database correctly changes assignment_type to "gateway."

None of the "blanks" Mike mentions show up on the web page.

Hope this clarifies the behavior.

Lars.

<| Post or View Comments |>


userMichael Gage - Re: Gateway testing - where?  blueArrow
6/3/2006; 3:26:39 PM (reads: 1200, responses: 0)
Lars,

Can you do the experiment you describe while watching the apache error log? I'm curious if any errors are being reported to the error log that aren't appearing on the screen. An error such as "such and such is not defined at line ..... of ....." would be very helpful.

-- Mike

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/3/2006; 4:10:52 PM (reads: 1198, responses: 0)
Mike, there's nothing in the apache error log at all. -Lars.

<| Post or View Comments |>


userGavin LaRose - Re: Gateway testing - where?  blueArrow
6/5/2006; 9:27:04 AM (reads: 1195, responses: 0)
Hi Lars (et al),

Is there an "Assignment Type" selector on the "Library Browser" page? I can't see one in the version of WeBWorK (2.1 or so) that I'm running on my development server. (Sam or Mike, did you add one?) I just did the following to see if I could duplicate your problem:

  • Entered the Library Browser,
  • Created a new set, and then added problems to it. I don't have an "Assignment Type" option on the Library Browser page, so I then
  • Entered Instructor Tools, selected the set, and clicked "Edit one set",
  • Changed the assignment type to "gateway/quiz", saved and got the gateway parameters, which I then corrected, and finally
  • Went back to the Library Browser and added a problem, saving the set afterwards.

Through all of this, once I'd set the assignment type to "gateway/quiz" it remained that way without changing. I'll have to get the latest version of WeBWorK to see if there's a difference in that.

Lars, you said you're running WeBWorK 2.2, right? Can you give me access to the course you're working with so that I can see the behavior first-hand?

Thanks,
Gavin

<| Post or View Comments |>


userGavin LaRose - Re: Gateway testing - where?  blueArrow
6/5/2006; 1:32:17 PM (reads: 1174, responses: 0)
Hi Lars,

The plot thickens! I've tested the behavior you report on your server, and agree that the bug is clearly defined: changing the Assignment Type in the Set Detail page does not work. I can't look at the database to see what's going on there, but the Set Detail page doesn't show any change to the gateway/quiz assignment type.

So, I upgraded my development server to the latest version from the CVS, and I cannot duplicate the bug on my machine. So it's got to be something odd with either (a) the specific version of WeBWorK that you're running, assuming that it isn't the most current version from CVS, or (b) something with your set-up.

More anon,
Gavin

<| Post or View Comments |>


userGavin LaRose - Re: Gateway testing - where?  blueArrow
6/6/2006; 3:46:20 PM (reads: 1173, responses: 0)
An update for anyone who is following this thread.

The problem appears to be a very odd database data error. After selecting a 'gateway' assignment type in the Set Detail page and saving the set, the assignment_type field in the mySQL database is correctly defined to be 'gateway'. However, when revisiting the Set Detail page, the data from the database isn't being correctly read into the set object: a dump of the fields and their values is as follows.

  version_last_attempt_time =>
version_time_limit => 0
versions_per_interval =>
time_interval =>
version_creation_time => gateway
assignment_type =>
attempts_per_version =>
problem_randorder =>

Looking in mySQL, the assignment_type field is defined to be 'gateway', version_creation_time is '0', and version_time_limit is 'null'. So somehow these are getting scrambled in the course of reading the data into the set object that's being used by the Set Detail page (which is generated by ProblemSetDetail.pm).

I'm not sure why this is. If someone else has some insight, it's welcome. We'll follow up when we have more information. The Set.pm file in ...lib/WeBWorK/DB/Record/ is fine.

Gavin

<| Post or View Comments |>


userSam Hathaway - Re: Gateway testing - where?  blueArrow
6/6/2006; 5:47:49 PM (reads: 1147, responses: 0)
Hi Gavin, Lars,

This could be caused by the columns of the set table being ordered incorrectly. Lars, could you run the following SQL query:

show fields from coursename_set (replace coursename with the name of your course.)

You'd do this in the mysql console for the webwork database. Enter it with:

mysql -u webworkRead -p webwork

Thanks.
-sam

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/6/2006; 10:41:34 PM (reads: 1134, responses: 0)
Hi sam,

This is the result of the

show fields from test1_set

query. The name of the course is test1

Lars.

 

set_id  	text  	YES  	MUL  	NULL  	 
set_header text YES NULL
hardcopy_header text YES NULL
open_date text YES NULL
due_date text YES NULL
answer_date text YES NULL
published text YES NULL
version_last_attempt_time bigint(20) YES NULL
version_time_limit int(11) YES NULL
versions_per_interval int(11) YES NULL
time_interval int(11) YES NULL
version_creation_time bigint(20) YES NULL
assignment_type text YES NULL
attempts_per_version int(11) YES NULL
problem_randorder int(11) YES NULL

<| Post or View Comments |>


userSam Hathaway - Re: Gateway testing - where?  blueArrow
6/7/2006; 12:17:08 AM (reads: 1135, responses: 0)
Mine looks like this:

 

set_id                   
set_header
hardcopy_header
open_date
due_date
answer_date
published
assignment_type
attempts_per_version
time_interval
versions_per_interval
version_time_limit
version_creation_time
problem_randorder
version_last_attempt_time

Looks like yours is out of order for some reason. I'm not sure why this would have happened, but you can fix it by modifying the file lib/WeBWorK/DB/Schema/SQL.pm:

Replace each occurence of:

 

my $stmt = "SELECT * FROM `$sqlTable` $where";

(This line appears twice, once in the gets subroutine, and once in the getAll subroutine.)

With:

 

my @fieldnames = $self->sqlFieldnames();
my $fieldnames = join(", ", @fieldnames);
my $stmt = "SELECT $fieldnames FROM `$sqlTable` $where";

I haven't tested this yet, but it shouldn't do any damage. I'll test it tomorrow.
-sam

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/7/2006; 12:58:41 PM (reads: 1113, responses: 0)
Hi Sam,

The above replacement resulted in this error when I tried to login to the course:

Warning messages

* DBD::mysql::st execute failed: Operand should contain 1 column(s) at /opt/webwork2/lib/WeBWorK/DB/Schema/SQL.pm line 229.

Error messages

DBD::mysql::st execute failed: Operand should contain 1 column(s) at /opt/webwork2/lib/WeBWorK/DB/Schema/SQL.pm line 229.

Call stack

The information below can help locate the source of the problem.

* in WeBWorK::DB::Schema::SQL::gets called at line 202 of /opt/webwork2/lib/WeBWorK/DB/Schema/SQL.pm

* in WeBWorK::DB::Schema::SQL::get called at line 1039 of /opt/webwork2/lib/WeBWorK/DB.pm

* in WeBWorK::DB::getUser called at line 179 of /opt/webwork2/lib/WeBWorK/Authen.pm

* in WeBWorK::Authen::verify called at line 227 of /opt/webwork2/lib/WeBWorK.pm

Lars.

<| Post or View Comments |>


userSam Hathaway - Re: Gateway testing - where?  blueArrow
6/7/2006; 3:32:14 PM (reads: 1105, responses: 0)
Lars,

Sorry about that. I should not have put parens around $fieldnames. I've fixed it above and tested the code this time.
-sam

<| Post or View Comments |>


userSam Hathaway - Re: Gateway testing - where?  blueArrow
6/7/2006; 3:39:11 PM (reads: 1116, responses: 0)
Hi,

This bug is fixed in lib/WeBWorK/DB/Schema/SQL.pm version 1.31 (for HEAD) and version 1.29.2.2 (for the rel-2-2-dev branch).

If you're running 2.2.x, you can update to the tip of the 2.2 dev branch as follows:

 

cvs update -r rel-2-2-dev

(Don't forget to restart the web server after you do this.)

HTH.
-sam

<| Post or View Comments |>


userLars Jensen - Re: Gateway testing - where?  blueArrow
6/7/2006; 4:01:07 PM (reads: 1105, responses: 0)
Hi Sam,

Thanks! The "Assignment type" now sticks and the extra blanks show up!

Is there (going to be) a rel-2-2-patches branch?

Lars.

<| Post or View Comments |>


userSam Hathaway - Re: Gateway testing - where?  blueArrow
6/7/2006; 9:03:09 PM (reads: 1118, responses: 0)
Hi Lars,

The rel-2-2-dev branch serves that purpose. (In addition, it also served as a staging area during the 2.2.0 feature freeze. That's why the name change.)
-sam

<| Post or View Comments |>

inactiveTopicAnnual WeBWorK happy hour at San Antonio AMS meeting topic started 1/9/2006; 9:17:46 PM
last post 1/9/2006; 9:17:46 PM
userMichael Gage - Annual WeBWorK happy hour at San Antonio AMS meeting  blueArrow
1/9/2006; 9:17:46 PM (reads: 5594, responses: 0)
Annual WeBWorK happy hour at San Antonio AMS meeting
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
Posted by Michael Gage on 1/9/06; 9:18:30 PM
from the dept.


 

<| Post or View Comments |>