You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(16) |
Nov
(10) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(34) |
Feb
(12) |
Mar
(21) |
Apr
|
May
(5) |
Jun
(13) |
Jul
(50) |
Aug
(62) |
Sep
(72) |
Oct
(17) |
Nov
(16) |
Dec
(19) |
2006 |
Jan
(26) |
Feb
(9) |
Mar
|
Apr
(8) |
May
(5) |
Jun
(7) |
Jul
(21) |
Aug
(33) |
Sep
(17) |
Oct
(4) |
Nov
(9) |
Dec
|
2007 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
(6) |
Jun
(16) |
Jul
(8) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(2) |
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(11) |
Aug
(6) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2014 |
Jan
(2) |
Feb
(4) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2016 |
Jan
(4) |
Feb
(4) |
Mar
(3) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
|
2017 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Sam H. <sh...@ma...> - 2005-01-08 20:05:14
|
On Jan 8, 2005, at 2:45 PM, Michael Gage wrote: > On Saturday, January 8, 2005, at 12:08 PM, Davide P.Cervone wrote: > >> 1. Have a checkbox under the UPLOAD button that is "convert line >> breaks to unix format" >> or some such wording, with a warning about not doing this for >> images or binary >> data. It could be checked by default, since most transfers >> would be text. >> >> 2. Have another action button on the right for "Convert Line >> Breaks". >> >> 3. Try to use the file's extension (e.g., .lst) and contents to >> determine if it is a text >> file, and do the conversion automatically. (Easiest for users, >> when it works, but >> prone to errors.) >> >> 4. Some combination of the above. > > Yet another -- make the import classlist smarter about recognizing > line breaks. I think I vote for that one. > We could have a general utility that will recognize all three line > break types when reading in files. I'd rather deal with linebreaks in one or two places than in every place we deal with user-supplied files. We'd have to add linebreak-handling code to everywhere we deal with set definition files, pg source files, scoring files, etc. If you do it when the file is read, you are forced to be smart about it, whereas if you do it at upload time you can give the user a manual override. -sam |
From: Michael G. <ga...@ma...> - 2005-01-08 19:47:17
|
On Saturday, January 8, 2005, at 01:34 PM, Sam Hathaway wrote: > On Jan 8, 2005, at 12:08 PM, Davide P.Cervone wrote: > >> Folks: >> >> Ken Appel's recent problems with uploading class list files suggests >> that there is an issue that might need to be addressed in the File >> Manager. Currently, when text files are uploaded, their contents are >> save verbatim. In particular, nothing is done to adjust line >> terminators for PC and Mac files to be in the unix form. This may be >> the cause of some of Ken's troubles. >> >> The question is, how should this be handled in the File Manager? It >> is probably a bad idea to ALWAYS convert line breaks, as if the >> professor is uploaded an image, for example, this would damage it. >> There are a couple of solutions: >> >> 1. Have a checkbox under the UPLOAD button that is "convert line >> breaks to unix format" >> or some such wording, with a warning about not doing this for >> images or binary >> data. It could be checked by default, since most transfers >> would be text. >> >> 2. Have another action button on the right for "Convert Line >> Breaks". >> >> 3. Try to use the file's extension (e.g., .lst) and contents to >> determine if it is a text >> file, and do the conversion automatically. (Easiest for users, >> when it works, but >> prone to errors.) >> >> 4. Some combination of the above. >> >> What do you think? > > Some FTP programs let you specify "Text", "Binary", or "Automatic" for > the transfer mode. One of the effects of this is to turn on or off > linebreak translation. I think this mechanism would work pretty well > for WW. > > We also have the choice of whether we reverse the translation when > downloading files. > >> A related question is should the File Manager try to be smarter about >> where you are putting the files. For example, if someone puts a .lst >> file in the top level rather than in templates, should there be a >> warning about that? If so, what are the filetype-to-directory >> mappings? I know that .lst and set.def files should go in templates, >> and .pg files should be somewhere below templates. What other files >> would people be uploading, and what are the restrictions on where >> they should go? Is a warning sufficient, or should there be some >> sort of confirmation dialog box? > > At the very least, there should be some documentation on the File > Manager page of where various course files should go. I'm hesitant to > do anything based on file type detection (although in WW it's probably > a pretty safe bet). A warning couldn't hurt though. > There is documentation under the yellow question mark at the top of the File Manager page. > Maybe there should be a mechanism to take to to the directory for a > particular file type? Maybe a popup menu and a "Go" button? > -sam > > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > OpenWeBWorK-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openwebwork-devel > |
From: Michael G. <ga...@ma...> - 2005-01-08 19:45:25
|
On Saturday, January 8, 2005, at 12:08 PM, Davide P.Cervone wrote: > Folks: > > Ken Appel's recent problems with uploading class list files suggests > that there is an issue that might need to be addressed in the File > Manager. Currently, when text files are uploaded, their contents are > save verbatim. In particular, nothing is done to adjust line > terminators for PC and Mac files to be in the unix form. This may be > the cause of some of Ken's troubles. > > The question is, how should this be handled in the File Manager? It > is probably a bad idea to ALWAYS convert line breaks, as if the > professor is uploaded an image, for example, this would damage it. > There are a couple of solutions: > > 1. Have a checkbox under the UPLOAD button that is "convert line > breaks to unix format" > or some such wording, with a warning about not doing this for > images or binary > data. It could be checked by default, since most transfers > would be text. > > 2. Have another action button on the right for "Convert Line Breaks". > > 3. Try to use the file's extension (e.g., .lst) and contents to > determine if it is a text > file, and do the conversion automatically. (Easiest for users, > when it works, but > prone to errors.) > > 4. Some combination of the above. > Yet another -- make the import classlist smarter about recognizing line breaks. I think I vote for that one. We could have a general utility that will recognize all three line break types when reading in files. > What do you think? > > A related question is should the File Manager try to be smarter about > where you are putting the files. For example, if someone puts a .lst > file in the top level rather than in templates, should there be a > warning about that? If so, what are the filetype-to-directory > mappings? I know that .lst and set.def files should go in templates, > and .pg files should be somewhere below templates. What other files > would people be uploading, and what are the restrictions on where they > should go? Is a warning sufficient, or should there be some sort of > confirmation dialog box? > > Davide > I think a warning is sufficient. Another possibility is to prevent the File Manager from writing files in the top directory. Except for course.conf there should be no files there in any case. I have worries about allowing instructors to modify course.conf although it is ocassionally handy it is also error prone. At the least I think this should have a permission level, possibly higher than professor. Take care, Mike > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > OpenWeBWorK-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openwebwork-devel > |
From: Davide P.C. <dp...@un...> - 2005-01-08 19:43:47
|
> Some FTP programs let you specify "Text", "Binary", or "Automatic" for > the transfer mode. One of the effects of this is to turn on or off > linebreak translation. I think this mechanism would work pretty well > for WW. Perhaps that would be the best approach, though it doesn't really make it clear that the only issue involved in this case is line breaks. Perhaps "Convert line breaks: [ ] yes [ ] no [x] automatic" would work? Or maybe the text/binary/automatic idiom is well enough known that it would be best to stick with that. My feeling is that people are becoming less familiar with FTP and these issues now that more transfers are done via attachments and so on. I wonder if there is anything in the form data that might be useful in determining the file type. Perhaps it already has a MIME type as part of the multipart form data. > We also have the choice of whether we reverse the translation when > downloading files. The difficulty here would be determining the type of line breaks needed on the user's end. The information available to the CGI script that could be used for that is the HTTP agent, though it would be somewhat of a hack to go from that to an architecture type. It would also be possible to use JavaScript at the browser's end of things to insert a HIDDEN field in the form that tells WW what platform the user is running on. A bit awkward, but doable. >> A related question is should the File Manager try to be smarter about >> where you are putting the files. ... > > At the very least, there should be some documentation on the File > Manager page of where various course files should go. I'm hesitant to > do anything based on file type detection (although in WW it's probably > a pretty safe bet). A warning couldn't hurt though. I usually don't like programs that think they are smarter than I am and do too much to "help" me out. But I think a warning would be reasonable here (with a hint of where the file SHOULD go). > Maybe there should be a mechanism to take to to the directory for a > particular file type? Maybe a popup menu and a "Go" button? That sounds like a good idea, too. Davide |
From: Sam H. <sh...@ma...> - 2005-01-08 18:32:52
|
On Jan 8, 2005, at 12:08 PM, Davide P.Cervone wrote: > Folks: > > Ken Appel's recent problems with uploading class list files suggests > that there is an issue that might need to be addressed in the File > Manager. Currently, when text files are uploaded, their contents are > save verbatim. In particular, nothing is done to adjust line > terminators for PC and Mac files to be in the unix form. This may be > the cause of some of Ken's troubles. > > The question is, how should this be handled in the File Manager? It > is probably a bad idea to ALWAYS convert line breaks, as if the > professor is uploaded an image, for example, this would damage it. > There are a couple of solutions: > > 1. Have a checkbox under the UPLOAD button that is "convert line > breaks to unix format" > or some such wording, with a warning about not doing this for > images or binary > data. It could be checked by default, since most transfers > would be text. > > 2. Have another action button on the right for "Convert Line Breaks". > > 3. Try to use the file's extension (e.g., .lst) and contents to > determine if it is a text > file, and do the conversion automatically. (Easiest for users, > when it works, but > prone to errors.) > > 4. Some combination of the above. > > What do you think? Some FTP programs let you specify "Text", "Binary", or "Automatic" for the transfer mode. One of the effects of this is to turn on or off linebreak translation. I think this mechanism would work pretty well for WW. We also have the choice of whether we reverse the translation when downloading files. > A related question is should the File Manager try to be smarter about > where you are putting the files. For example, if someone puts a .lst > file in the top level rather than in templates, should there be a > warning about that? If so, what are the filetype-to-directory > mappings? I know that .lst and set.def files should go in templates, > and .pg files should be somewhere below templates. What other files > would people be uploading, and what are the restrictions on where they > should go? Is a warning sufficient, or should there be some sort of > confirmation dialog box? At the very least, there should be some documentation on the File Manager page of where various course files should go. I'm hesitant to do anything based on file type detection (although in WW it's probably a pretty safe bet). A warning couldn't hurt though. Maybe there should be a mechanism to take to to the directory for a particular file type? Maybe a popup menu and a "Go" button? -sam |
From: Davide P.C. <dp...@un...> - 2005-01-08 17:09:04
|
Folks: Ken Appel's recent problems with uploading class list files suggests that there is an issue that might need to be addressed in the File Manager. Currently, when text files are uploaded, their contents are save verbatim. In particular, nothing is done to adjust line terminators for PC and Mac files to be in the unix form. This may be the cause of some of Ken's troubles. The question is, how should this be handled in the File Manager? It is probably a bad idea to ALWAYS convert line breaks, as if the professor is uploaded an image, for example, this would damage it. There are a couple of solutions: 1. Have a checkbox under the UPLOAD button that is "convert line breaks to unix format" or some such wording, with a warning about not doing this for images or binary data. It could be checked by default, since most transfers would be text. 2. Have another action button on the right for "Convert Line Breaks". 3. Try to use the file's extension (e.g., .lst) and contents to determine if it is a text file, and do the conversion automatically. (Easiest for users, when it works, but prone to errors.) 4. Some combination of the above. What do you think? A related question is should the File Manager try to be smarter about where you are putting the files. For example, if someone puts a .lst file in the top level rather than in templates, should there be a warning about that? If so, what are the filetype-to-directory mappings? I know that .lst and set.def files should go in templates, and .pg files should be somewhere below templates. What other files would people be uploading, and what are the restrictions on where they should go? Is a warning sufficient, or should there be some sort of confirmation dialog box? Davide |
From: Samuel H. <sh...@ma...> - 2004-12-25 18:03:40
|
On Sat, 25 Dec 2004, Arvind Ramaswami wrote: > I would apprecaite your response to the following issues faced by our > customer when they are trying to deploy our application in their > environment. This mailing list is for developers of the WeBWorK Online Homework Delivery System. It is not related to the WebWork framework of the OpenSymphony project. -sam |
From: Arvind R. <arv...@co...> - 2004-12-25 10:26:24
|
Hi, I would apprecaite your response to the following issues faced by our = customer when they are trying to deploy our application in their = environment. =20 Here are the details=20 =20 Webserver : Apache (2.0.46 + tomcat 4.1.24) OS: Solaris =20 Webwork : Ver 2.1 =20 Following Exception occured when they are trying to login (They enter = user and passsword fields and hit the submit button):=20 =20 No webwork tags arebeing used. Just standard HTML form elements and = POST. LoginAction has setUser and setPassword defined. =20 =20 HTTP Status 500 - Internal Server Error=20 -------------------------------------------------------------------------= -------=20 type Exception report=20 message Internal Server Error=20 description The server encountered an internal error (Internal Server = Error) that prevented it from fulfilling this request.=20 exception=20 java.lang.RuntimeException: Caught an Ognl exception while setting = property password=20 at = com.opensymphony.xwork.util.CompoundRootAccessor.setProperty(CompoundRoot= Accessor.java:53)=20 at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1629)=20 at ognl.ASTProperty.setValueBody(ASTProperty.java:105)=20 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:180)=20 at ognl.SimpleNode.setValue(SimpleNode.java:230)=20 at ognl.Ognl.setValue(Ognl.java:476)=20 at = com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:1= 14)=20 at = com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:9= 8)=20 at = com.opensymphony.xwork.interceptor.ParametersInterceptor.before(Parameter= sInterceptor.java:66)=20 at = com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInte= rceptor.java:34)=20 at = com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvoca= tion.java:165)=20 at = com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInte= rceptor.java:35)=20 at = com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvoca= tion.java:165)=20 at = com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java= :115)=20 at = com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(Servl= etDispatcher.java:273)=20 at = com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDisp= atcher.java:243)=20 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)=20 at = org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat= ionFilterChain.java:247)=20 at = org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFil= terChain.java:98)=20 at = org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterCh= ain.java:176)=20 at java.security.AccessController.doPrivileged(Native Method)=20 at = org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte= rChain.java:172)=20 at = org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve= .java:256)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:643)=20 at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48= 0)=20 at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)=20 at = org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve= .java:191)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:643)=20 at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48= 0)=20 at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)=20 at = org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415= )=20 at = org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:= 180)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:643)=20 at = org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVal= ve.java:171)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:641)=20 at = org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:= 172)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:641)=20 at = org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)= =20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:641)=20 at = org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:3= 56)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:641)=20 at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48= 0)=20 at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)=20 at = org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j= ava:174)=20 at = org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in= vokeNext(StandardPipeline.java:643)=20 at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:48= 0)=20 at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)=20 at = org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:466)=20 at = org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:585)=20 at java.lang.Thread.run(Thread.java:536)=20 |
From: Sam H. <sh...@ma...> - 2004-12-23 17:50:07
|
=46rom discussion with Mike, 22-Dec-2004: Finish up on DBv3: * finish documenting DBv3.pm and ww_db_v2_to_v3 * make list of TODOs so work can be continued * (if time) finish assignment/version/attempt management methods * (if time) finish ww_db_v2_to_v3 * put it in its own branch (actually, it's fine in HEAD since=20 nothing makes use of it.) Release 2.1.1 (soon!): * merge changes from HEAD -> rel-2-1-patches * fix any remaining bugs (commit to rel-2-1-patches and HEAD) * tag rel-2-1-1, release in SF Gateway testing: * Gavin: is rel-2-1-a1 up-to-date? * merge differences from rel-2-1-a1 -> HEAD * Rob has made extensive changes to some instructor tools, so he can=20= take a look at any conflicts that show up there. XML-RPC interface: * think of it as another interface to WW * Apache::WeBWorKRPC (/webwork2rpc) similar to Apache::WeBWorK=20 (/webwork2) * different dispatcher, hierarchy of modules implementing procedures * over time, expose functionality via RPC * at the same time, factor out "heavy lifting" code which will be=20 used both by web-based stuff and RPC stuff (=E0 la CourseManagement) * start with rendering procedure, modify WW::PG::Remote to use it. |
From: Sam H. <sh...@ma...> - 2004-12-21 18:05:27
|
On Dec 21, 2004, at 10:29 AM, Robert Van Dam via activitymail wrote: > * Searching on any user data field > @@ -592,6 +614,17 @@ > } elsif ($scope eq "selected") { > $result = "showing selected users"; > $self->{visibleUserIDs} = $genericParams->{selected_users}; # an > arrayref > + } elsif ($scope eq "match_regex") { > + $result = "showing matching users"; > + my $regex = $actionParams->{"action.filter.user_ids"}->[0]; > + my $field = $actionParams->{"action.filter.field"}->[0]; > + my @userRecords = $db->getUsers(@{$self->{allUserIDs}}); > + my @userIDs; > + foreach my $record (@userRecords) { > + next unless $record; > + push @userIDs, $record->user_id if $record->{$field} =~ /^$regex/i; > + } > + $self->{visibleUserIDs} = \@userIDs; > } elsif ($scope eq "match_ids") { > my @userIDs = split /\s*,\s*/, > $actionParams->{"action.filter.user_ids"}->[0]; > $self->{visibleUserIDs} = \@userIDs; You'll want to check $regex for (?{...}) and (??{...}) to prevent users from executing arbitrary perl code. See Camel, 3rd ed., p. 160. -sam |
From: Michael G. <ga...@ma...> - 2004-11-18 19:48:04
|
> > I've added display_mode, show_old_answers, show_correct_answers, > show_hints, and show_solutions columns to the users table, with the > caveat that we might not want to allow normal students to set the > latter three. > > I wonder if, in addition to this per-user default (set in User > Options), we should make it so that if a user explicitly sets one of > these options in a problem's View Options panel we save those options > for that problem only, with an option to "reset to defaults". > I would say that the last three options should be on a problem_user basis. Even the first two might be on a participants rather than a user basis (if I've understood participant. Ones choice of display mode might be different in different courses.) I would suggest that the data could be present in any one of those databases, and the software (or the database itself) would have fall back options from problem_participant to participant to user. >> This would be mean that as a rule the only state that needs to be >> passed from one webpage to another in hidden >> variables would be "user", "key", "course", "set", "problem", and >> possibly a few other specialized hidden variables >> used when a page calls itself and wants to indicate success or >> failure. > > The only hidden variable that we'll need on a regular basis is "key", > since "course", "set", and "problem" are encoded in the URL and "user" > can be stored in the session (which could map key -> [ user, > timestamp, etc. ]). > Right. > It's somewhat dangerous to store certain data in the session object, > as it could prevent the user from performing multiple concurrent > operations in the same session. For example, if we wrote the editor to > store unsaved source for preview in the session, then this could > happen: > The professor starts editing a problem, and then previews it in a new > window (preview A). She then continues to edit and previews it in > another new window (preview B). If she then goes back to preview A and > attempts it, her submissions will be compared to the version of the > problem in preview B, and that version will be displayed when the page > loads. > Actually I believe that is the way it works now. And we can tolerate the discontinuity. But I see your point. > (Of course, it's OK to store preference data in this way because > there's no need for concurrency there. But the UI has to make it clear > that it's a preference.) > > We can store things that would cause problems as above in the session > as long as they're uniquely identified in some way. If the editor > assigned a unique ID to each version of the source previewed, and then > that information was passed to the editor in the request, we wouldn't > have the problem above. On the other hand, then you're carrying around > another (shorter) param in the request. > We can do this up to a certain point, but we need to balance the complexity against the usefulness and the maintainability. > (The logical extension of this is just keeping the process's stack in > the session, i.e. continuations.) True. That's probably going too far. :-) Take care, Mike > -sam > > |
From: Sam H. <sa...@uo...> - 2004-11-18 19:23:10
|
On Nov 18, 2004, at 2:20 PM, Sam Hathaway wrote: > I've added display_mode, show_old_answers, show_correct_answers, > show_hints, and show_solutions columns to the users table, with the > caveat that we might not want to allow normal students to set the > latter three. Whoops, we don't want show_correct_answers, show_hints, and show_solutions in the database at all. -sam |
From: Sam H. <sa...@uo...> - 2004-11-18 19:20:41
|
On Nov 18, 2004, at 9:25 AM, Michael Gage wrote: > On Nov 12, 2004, at 5:11 PM, Sam Hathaway wrote: > >> Hi all, >> >> Here's the first draft of the schema for WWDBv3, the long-promised >> SQL-only database schema for WeBWorK: >> <http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ >> DatabaseSchemaV3>. Some features: > > Hi Sam, > > I've finally had a chance to look at this a bit, not thoroughly yet, > but what I've seen so far looks good. > > I would like to see a space for > options/preferences, probably in the "participants" space, although > possibly in the "user" space for default preferences. > > What I want is a place to store > the current options for "displayMode", and for "showOldAnswers", > although I expect that once we have > this capability there will be requests to allow other aspects of the > user interface to be customized as well. I've added display_mode, show_old_answers, show_correct_answers, show_hints, and show_solutions columns to the users table, with the caveat that we might not want to allow normal students to set the latter three. I wonder if, in addition to this per-user default (set in User Options), we should make it so that if a user explicitly sets one of these options in a problem's View Options panel we save those options for that problem only, with an option to "reset to defaults". > This would be mean that as a rule the only state that needs to be > passed from one webpage to another in hidden > variables would be "user", "key", "course", "set", "problem", and > possibly a few other specialized hidden variables > used when a page calls itself and wants to indicate success or failure. The only hidden variable that we'll need on a regular basis is "key", since "course", "set", and "problem" are encoded in the URL and "user" can be stored in the session (which could map key -> [ user, timestamp, etc. ]). It's somewhat dangerous to store certain data in the session object, as it could prevent the user from performing multiple concurrent operations in the same session. For example, if we wrote the editor to store unsaved source for preview in the session, then this could happen: The professor starts editing a problem, and then previews it in a new window (preview A). She then continues to edit and previews it in another new window (preview B). If she then goes back to preview A and attempts it, her submissions will be compared to the version of the problem in preview B, and that version will be displayed when the page loads. (Of course, it's OK to store preference data in this way because there's no need for concurrency there. But the UI has to make it clear that it's a preference.) We can store things that would cause problems as above in the session as long as they're uniquely identified in some way. If the editor assigned a unique ID to each version of the source previewed, and then that information was passed to the editor in the request, we wouldn't have the problem above. On the other hand, then you're carrying around another (shorter) param in the request. (The logical extension of this is just keeping the process's stack in the session, i.e. continuations.) -sam |
From: Michael G. <ga...@ma...> - 2004-11-18 14:25:59
|
On Nov 12, 2004, at 5:11 PM, Sam Hathaway wrote: > Hi all, > > Here's the first draft of the schema for WWDBv3, the long-promised > SQL-only database schema for WeBWorK: > <http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ > DatabaseSchemaV3>. Some features: > > Hi Sam, I've finally had a chance to look at this a bit, not thoroughly yet, but what I've seen so far looks good. I would like to see a space for options/preferences, probably in the "participants" space, although possibly in the "user" space for default preferences. What I want is a place to store the current options for "displayMode", and for "showOldAnswers", although I expect that once we have this capability there will be requests to allow other aspects of the user interface to be customized as well. This would be mean that as a rule the only state that needs to be passed from one webpage to another in hidden variables would be "user", "key", "course", "set", "problem", and possibly a few other specialized hidden variables used when a page calls itself and wants to indicate success or failure. What do you think? Take care, Mike > Thanks. > -sam > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: InterSystems CACHE > FREE OODBMS DOWNLOAD - A multidimensional database that combines > robust object and relational technologies, making it a perfect match > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 > _______________________________________________ > OpenWeBWorK-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openwebwork-devel > |
From: John J. <jj...@as...> - 2004-11-16 16:50:27
|
>> In the system-wide course table, maybe we could add another field for >> whether or not the course is active. It would be like the student >> drop status, except on the course level. It would make it easy to >> reactivate an old course just in case something is needed from it, >> but to everyone but the admin course it would be invisible. > > > How about 'visible', to control whether the course shows up in lists, > and 'locked', which disables access to the course. Sounds good. John |
From: John J. <jj...@as...> - 2004-11-15 21:13:47
|
Sam Hathaway wrote: > If you're interested, please check it out and post any questions, > suggestions, concerns, etc. So far, just a couple of things. First, the user table doesn't list a field for password. It is mentioned in the discussion part, so this is presumably just an oversight. Second, the status table maybe should have include_in_scoring_output. I think the default has been that anyone who was assigned a set which is scored should be included in the scoring output, but we had several requests to make dropped students not show up when scoring. In the system-wide course table, maybe we could add another field for whether or not the course is active. It would be like the student drop status, except on the course level. It would make it easy to reactivate an old course just in case something is needed from it, but to everyone but the admin course it would be invisible. John |
From: Sam H. <sa...@uo...> - 2004-11-12 22:11:48
|
Hi all, Here's the first draft of the schema for WWDBv3, the long-promised SQL-only database schema for WeBWorK: <http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ DatabaseSchemaV3>. Some features: * Global user table and course-specific participant tables eliminate duplication of user data. * Separation of user-specific data and global-override data. * version table allows set and problem versioning. * attempt table keeps a complete record of problem attempts, per-version. * section, recitation, and status tables enumerate the possible values for these fields. * role table represents a participant's role in the course (i.e. "instructor", "teaching assistant", "student"). * Privileges are associated with roles via the role_privilege table (replacing the "permission level" mechanism). If you're interested, please check it out and post any questions, suggestions, concerns, etc. Thanks. -sam |
From: Sam H. <sh...@ma...> - 2004-11-11 19:02:38
|
On Nov 11, 2004, at 12:58 PM, John Jones wrote: > First, Chris asked for the ability to have totals of all sets being > scored automatically put into scoring files (maybe signalled by > another checkbox). I'm not that familiar with the scoring module, so I'll let someone else comment on that. > Second, he wanted a way to send a message to people currently active. > The professor could enter a message. Then, the next time any student > in the course did something, the message would come up. Future > actions by the same student would not trigger that message again. The > system would only have to track the most recent message. He wants it > to say things like "I am currently at my computer so I can respond to > e-mail questions right away" and then "I am no longer at my computer". > He doesn't want to use course motd for this because it only appears > on some screens. > > I don't know if this is a great idea, but I thought some about how to > do it, so I thought I would throw that in as well. While the simple "status message" functionality above is probably useful, I think we should consider a full-blown messaging system. This is something that most CMSs do, so I don't think it would be unreasonable for WW to do it. And soon it will be easy to implement (see below). > Behind the scenes, I would envision implimenting this as an extra > field in the database. In the user table, add a (long) text field for > professor_message. When a professor adds a message, webwork replaces > this field for each student in the course. If webwork hits > can-professor-message in the template, it checks to see if this field > is non-empty for the given user. If empty, do nothing. If non-empty, > give the message and set the database field to empty for that student. > > Anyway, if we do it, off hand that's how I would envision doing it. We might want to wait for WWDBv3 (the SQL-only database system I'm working on) to implement this. At that point, we could *easily* add a `message` table that could support sending multiple messages to each user, accumulating multiple messages, sending messages to offline users, etc. An addition like this would be a good test case for the automatic-upgrade feature of WWDBv3. > By "message would come up", he suggested a pop-up. I think a true > pop-up is not so good because so many people have pop-up blocking. > The message could replace the next webwork screen (and have a continue > button), but that strikes me as annoying from the student perspective. > The method which would appeal to me is to make it another element of > the template can-professor-message. It would be located at the top of > the main panel with a special background to make it stand out. That sounds like the best implementation to me. If we do multiple messages, we should probably have an escape that prints "you have messages" instead of showing them on the screen. -sam |
From: John J. <jj...@as...> - 2004-11-11 18:00:06
|
Hi, I just had an e-mail with two feature requests from one of our instructors (Chris from the subject line). First, I am not sure what the best venue is for entering them. There is the webwork discussion board. Posting there has the advantage that you can gauge reactions from lots of people (they can say "me too"). Or, it can be put into bugzilla, but then it has a very limited audience. I opted for here as an intermediate level. I guess the discussion could move to either of the other places if that seems more appropriate. Also, I am not 100% enamored with either of the ideas below. But I promised to pass them on. First, Chris asked for the ability to have totals of all sets being scored automatically put into scoring files (maybe signalled by another checkbox). Second, he wanted a way to send a message to people currently active. The professor could enter a message. Then, the next time any student in the course did something, the message would come up. Future actions by the same student would not trigger that message again. The system would only have to track the most recent message. He wants it to say things like "I am currently at my computer so I can respond to e-mail questions right away" and then "I am no longer at my computer". He doesn't want to use course motd for this because it only appears on some screens. I don't know if this is a great idea, but I thought some about how to do it, so I thought I would throw that in as well. By "message would come up", he suggested a pop-up. I think a true pop-up is not so good because so many people have pop-up blocking. The message could replace the next webwork screen (and have a continue button), but that strikes me as annoying from the student perspective. The method which would appeal to me is to make it another element of the template can-professor-message. It would be located at the top of the main panel with a special background to make it stand out. Behind the scenes, I would envision implimenting this as an extra field in the database. In the user table, add a (long) text field for professor_message. When a professor adds a message, webwork replaces this field for each student in the course. If webwork hits can-professor-message in the template, it checks to see if this field is non-empty for the given user. If empty, do nothing. If non-empty, give the message and set the database field to empty for that student. Anyway, if we do it, off hand that's how I would envision doing it. John |
From: Sam H. <sh...@ma...> - 2004-11-03 17:19:49
|
On Nov 1, 2004, at 9:24 PM, Davide P.Cervone wrote: > I have made a modification to jsMath that allows you to control > whether the missing-font message is displayed (or change the message > actually used). This is controlled by values in the global.conf file. > (This is in response to a request from a colleague at Yale who is > installing WW for use next semester.) > > There are small changes in several files (including global.conf and > ur.template). I didn't want to commit these while you were gearing up > for a release without checking with you. Do you want me to hold off > for now? Davide, sorry about not responding sooner. You can go ahead and commit these changes to HEAD now, and I'll backport them to rel-2-1-patches. -sam |
From: Sam H. <sa...@uo...> - 2004-10-28 21:25:04
|
Hi, We're on the verge of releasing WeBWorK 2.1. If you have any concerns about the current state of the code in CVS, see any show-stopping bugs, or have any contributions you'd like to see included in 2.1, please let me or Mike know (or just reply to this list). Draft release notes are available: http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ WeBWorKRelease2pt1 Thanks to everyone who contributed to this release. -sam |
From: Sam H. <sh...@ma...> - 2004-10-22 21:06:41
|
On Oct 22, 2004, at 4:30 PM, John Jones wrote: > Sam Hathaway wrote: > >> Fairly new on the wiki: >> >> http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ >> CodingStandards >> >> Please read, comment, disagree, etc. > > It looks pretty good. > I don't know if this would be a change, or just an addition, but I > would follow a different convention when commenting out a chunk of > code (as opposed to a single line). Then, I prefer commenting > everything with # in the first column (by everything, I include > previously commented lines and blank lines). It leaves the old > indentation in tact so it is easy to read what was there, and it is > easy to scan past to see where the commenting starts and ends. It is > also what emacs's comment-region does by default (which was written by > people who like to debate things like code formatting). I also preserve existing comment characters when commenting-out a block of code, but I indent the comment characters as far as the least-indented line of the block. For really long blocks, POD's "=for comment" construct can be useful. -sam |
From: John J. <jj...@as...> - 2004-10-22 21:00:37
|
Sam Hathaway wrote: > Fairly new on the wiki: > > http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ > CodingStandards > > Please read, comment, disagree, etc. It looks pretty good. I don't know if this would be a change, or just an addition, but I would follow a different convention when commenting out a chunk of code (as opposed to a single line). Then, I prefer commenting everything with # in the first column (by everything, I include previously commented lines and blank lines). It leaves the old indentation in tact so it is easy to read what was there, and it is easy to scan past to see where the commenting starts and ends. It is also what emacs's comment-region does by default (which was written by people who like to debate things like code formatting). John |
From: John J. <jj...@as...> - 2004-10-21 19:09:21
|
Sounds good. If the current indexing hasn't been stress tested, something like 200 students, 15 problem sets with 15 problems each would be a good sized test. For something like assignment, the effect of indexing seen best at the end when you assign the last set. In other words, you want to see how it works when there is lots of data in the table. John Sam Hathaway wrote: > On Oct 21, 2004, at 2:04 PM, John Jones wrote: > >> This is interesting data. I have a few thoughts/questions. >> >> Does anyone have an explanation as to why sql_single would beat sql? >> Naively I would expect it to always be the other way around (or end >> up in ties). More information in the database table should not end >> up being faster. > > > The way sql_single is implemented currently is to have separate tables > for each course in a single database. (Tables are named like > "$courseID\_$sqlTableName".) There isn't a difference in table size. > >> So, is there a difference in the indexing of information? > > > I think that the "sql" courses did not have indexing enabled. If I'm > right, the "sql versus sql_single" data would mostly reflect > "non-indexed versus indexed" differences. > >> Also, were actions performed multiple times in each case to see if >> variations in system load were having an impact? >> >> Finally, it would be good to test sql_single with a few thousand >> students in it (and a dozen problem sets for each). The class you >> are timing against can be normal sized, but imagine a large site or >> one which has not removed information from their database for a few >> semesters. With sql_single, this adds to the size of the database >> tables. If the tables are not indexed optimally, it may not show >> itself until there is a huge amount of data in the database, but can >> then really slow down. >> >> John >> >> >> Sam Hathaway wrote: >> >>> Here is some timing data from Mike: >>> >>>> All of this data was taken on the development machine: >>>> devel.webwork.rochester.edu >>>> >>>> The quick summary is: >>>> >>>> >>>> Summary: Taken from data attached. Time is in seconds and is real >>>> time, not CPU time, >>>> so it is only useful for long processes. "diff = " measures the >>>> time from when the ContentGenerator >>>> module is called to the time it returns. >>>> >>>> Adding class list of 160 students: >>>> [Sat Oct 16 10:19:56 2004] 96404 1097936396 - >>>> [/webwork2/test_gdbm/instructor/users/] [diff = 3.000000 gdbm] >>>> [Sat Oct 16 10:36:13 2004] 96406 1097937373 - >>>> [/webwork2/test_sql/instructor/users/] [diff = 6.000000 sql] >>>> [Sat Oct 16 10:20:07 2004] 96403 1097936407 - >>>> [/webwork2/test_single_sql/instructor/users/] [diff = 3.000000 >>>> sql_single] >>>> >>>> >>>> Assign set 1 (12 problems) to 160 users: >>>> [Sat Oct 16 10:50:11 2004] 96403 1097938211 - >>>> [/webwork2/test_gdbm/instructor/sets/1/users/] [diff = 154.000000 >>>> gdbm] >>>> [Sat Oct 16 10:47:11 2004] 96406 1097938031 - >>>> [/webwork2/test_sql/instructor/sets/1/users/] [diff = 70.000000 sql] >>>> [Sat Oct 16 10:51:38 2004] 96404 1097938298 - >>>> [/webwork2/test_single_sql/instructor/sets/1/users/] [diff = >>>> 61.000000 sql_single] >>>> >>>> Assign 160 users to sets 2, 3, and 4 (41 problems) (using >>>> Instructor tools page) >>>> [Sat Oct 16 10:50:11 2004] 96403 1097938211 - >>>> [/webwork2/test_gdbm/instructor/sets/1/users/] [diff = 154.000000 >>>> gdbm] >>>> [Sat Oct 16 10:47:11 2004] 96406 1097938031 - >>>> [/webwork2/test_sql/instructor/sets/1/users/] [diff = 70.000000 sql] >>>> [Sat Oct 16 10:51:38 2004] 96404 1097938298 - >>>> [/webwork2/test_single_sql/instructor/sets/1/users/] [diff = >>>> 61.000000 sql_single] >>>> >>>> Assign set 5 (7 problems) to 160 students from the instructor tools >>>> page: >>>> [Sat Oct 16 14:57:39 2004] 96406 1097953059 - >>>> [/webwork2/test_gdbm/instructor/assigner/] [diff = 89.000000 gdbm] >>>> [Sat Oct 16 14:54:57 2004] 96404 1097952897 - >>>> [/webwork2/test_sql/instructor/assigner/] [diff = 136.000000 sql] >>>> [Sat Oct 16 15:17:46 2004] 96406 1097954266 - >>>> [/webwork2/test_single_sql/instructor/assigner/] [diff = 65.000000 >>>> sql_single] >>>> >>>> >>>> score sets 0 to 5: >>>> [Sat Oct 16 15:44:20 2004] 96406 1097955860 - >>>> [/webwork2/test_gdbm/instructor/scoring/] [diff = 67.000000 gdbm] >>>> [Sat Oct 16 15:46:00 2004] 96406 1097955960 - >>>> [/webwork2/test_sql/instructor/scoring/] [diff = 76.000000 sql] >>>> [Sat Oct 16 15:41:58 2004] 96403 1097955718 - >>>> [/webwork2/test_single_sql/instructor/scoring/] [diff = 73.000000 >>>> sql_single] >>>> >>>> view library (setDerivatives1, 30 problems displayMode=images) >>>> [Sat Oct 16 15:50:43 2004] 96406 1097956243 - >>>> [/webwork2/test_gdbm/instructor/setmaker/] [diff = 13.000000 gdbm] >>>> [Sat Oct 16 15:51:45 2004] 8926 1097956305 - >>>> [/webwork2/test_sql/instructor/setmaker/] [diff = 15.000000 sql] >>>> [Sat Oct 16 15:52:19 2004] 8926 1097956339 - >>>> [/webwork2/test_single_sql/instructor/setmaker/] [diff = 17.000000 >>>> sql_single] >>>> >>>> ---- This last one is a bit puzzling. Why is single_sql slower >>>> than sql? >>>> >>>> The other readings were all pretty short. It's clear that >>>> single_sql speeds up assigning problems. >>>> It wonder why it doesn't do even better than that. Why is the >>>> library display slow in single_sql? >>>> >>>> In general single_sql is at least as good as the competition so >>>> there are no deal stoppers. >>>> >>>> Take care, >>>> Mike >>>> >>>> >> >> >> >> ------------------------------------------------------- >> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal >> Use IT products in your business? Tell us what you think of them. >> Give us >> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find >> out more >> http://productguide.itmanagersjournal.com/guidepromo.tmpl >> _______________________________________________ >> OpenWeBWorK-Devel mailing list >> Ope...@li... >> https://lists.sourceforge.net/lists/listinfo/openwebwork-devel > |
From: Sam H. <sh...@ma...> - 2004-10-21 18:22:41
|
On Oct 21, 2004, at 2:04 PM, John Jones wrote: > This is interesting data. I have a few thoughts/questions. > > Does anyone have an explanation as to why sql_single would beat sql? > Naively I would expect it to always be the other way around (or end up > in ties). More information in the database table should not end up > being faster. The way sql_single is implemented currently is to have separate tables for each course in a single database. (Tables are named like "$courseID\_$sqlTableName".) There isn't a difference in table size. > So, is there a difference in the indexing of information? I think that the "sql" courses did not have indexing enabled. If I'm right, the "sql versus sql_single" data would mostly reflect "non-indexed versus indexed" differences. > Also, were actions performed multiple times in each case to see if > variations in system load were having an impact? > > Finally, it would be good to test sql_single with a few thousand > students in it (and a dozen problem sets for each). The class you are > timing against can be normal sized, but imagine a large site or one > which has not removed information from their database for a few > semesters. With sql_single, this adds to the size of the database > tables. If the tables are not indexed optimally, it may not show > itself until there is a huge amount of data in the database, but can > then really slow down. > > John > > > Sam Hathaway wrote: > >> Here is some timing data from Mike: >> >>> All of this data was taken on the development machine: >>> devel.webwork.rochester.edu >>> >>> The quick summary is: >>> >>> >>> Summary: Taken from data attached. Time is in seconds and is real >>> time, not CPU time, >>> so it is only useful for long processes. "diff = " measures the >>> time from when the ContentGenerator >>> module is called to the time it returns. >>> >>> Adding class list of 160 students: >>> [Sat Oct 16 10:19:56 2004] 96404 1097936396 - >>> [/webwork2/test_gdbm/instructor/users/] [diff = 3.000000 gdbm] >>> [Sat Oct 16 10:36:13 2004] 96406 1097937373 - >>> [/webwork2/test_sql/instructor/users/] [diff = 6.000000 sql] >>> [Sat Oct 16 10:20:07 2004] 96403 1097936407 - >>> [/webwork2/test_single_sql/instructor/users/] [diff = 3.000000 >>> sql_single] >>> >>> >>> Assign set 1 (12 problems) to 160 users: >>> [Sat Oct 16 10:50:11 2004] 96403 1097938211 - >>> [/webwork2/test_gdbm/instructor/sets/1/users/] [diff = 154.000000 >>> gdbm] >>> [Sat Oct 16 10:47:11 2004] 96406 1097938031 - >>> [/webwork2/test_sql/instructor/sets/1/users/] [diff = 70.000000 sql] >>> [Sat Oct 16 10:51:38 2004] 96404 1097938298 - >>> [/webwork2/test_single_sql/instructor/sets/1/users/] [diff = >>> 61.000000 sql_single] >>> >>> Assign 160 users to sets 2, 3, and 4 (41 problems) (using >>> Instructor tools page) >>> [Sat Oct 16 10:50:11 2004] 96403 1097938211 - >>> [/webwork2/test_gdbm/instructor/sets/1/users/] [diff = 154.000000 >>> gdbm] >>> [Sat Oct 16 10:47:11 2004] 96406 1097938031 - >>> [/webwork2/test_sql/instructor/sets/1/users/] [diff = 70.000000 sql] >>> [Sat Oct 16 10:51:38 2004] 96404 1097938298 - >>> [/webwork2/test_single_sql/instructor/sets/1/users/] [diff = >>> 61.000000 sql_single] >>> >>> Assign set 5 (7 problems) to 160 students from the instructor tools >>> page: >>> [Sat Oct 16 14:57:39 2004] 96406 1097953059 - >>> [/webwork2/test_gdbm/instructor/assigner/] [diff = 89.000000 gdbm] >>> [Sat Oct 16 14:54:57 2004] 96404 1097952897 - >>> [/webwork2/test_sql/instructor/assigner/] [diff = 136.000000 sql] >>> [Sat Oct 16 15:17:46 2004] 96406 1097954266 - >>> [/webwork2/test_single_sql/instructor/assigner/] [diff = 65.000000 >>> sql_single] >>> >>> >>> score sets 0 to 5: >>> [Sat Oct 16 15:44:20 2004] 96406 1097955860 - >>> [/webwork2/test_gdbm/instructor/scoring/] [diff = 67.000000 gdbm] >>> [Sat Oct 16 15:46:00 2004] 96406 1097955960 - >>> [/webwork2/test_sql/instructor/scoring/] [diff = 76.000000 sql] >>> [Sat Oct 16 15:41:58 2004] 96403 1097955718 - >>> [/webwork2/test_single_sql/instructor/scoring/] [diff = 73.000000 >>> sql_single] >>> >>> view library (setDerivatives1, 30 problems displayMode=images) >>> [Sat Oct 16 15:50:43 2004] 96406 1097956243 - >>> [/webwork2/test_gdbm/instructor/setmaker/] [diff = 13.000000 gdbm] >>> [Sat Oct 16 15:51:45 2004] 8926 1097956305 - >>> [/webwork2/test_sql/instructor/setmaker/] [diff = 15.000000 sql] >>> [Sat Oct 16 15:52:19 2004] 8926 1097956339 - >>> [/webwork2/test_single_sql/instructor/setmaker/] [diff = 17.000000 >>> sql_single] >>> >>> ---- This last one is a bit puzzling. Why is single_sql slower than >>> sql? >>> >>> The other readings were all pretty short. It's clear that single_sql >>> speeds up assigning problems. >>> It wonder why it doesn't do even better than that. Why is the >>> library display slow in single_sql? >>> >>> In general single_sql is at least as good as the competition so >>> there are no deal stoppers. >>> >>> Take care, >>> Mike >>> >>> > > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on > ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give > us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out > more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > OpenWeBWorK-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openwebwork-devel |