Giter Site home page Giter Site logo

openwebwork / webwork2 Goto Github PK

View Code? Open in Web Editor NEW
142.0 29.0 165.0 86.24 MB

Course management front end for WeBWorK

Home Page: http://webwork.maa.org/wiki/Main_Page

License: Other

Perl 88.86% TeX 0.24% Shell 0.53% HTML 0.11% JavaScript 8.58% CSS 0.07% Dockerfile 0.29% SCSS 1.12% Mathematica 0.21%

webwork2's Introduction

                                   WeBWorK
                     Online Homework Delivery System
                               Version 2.*
                    Branch:  github.com/openwebwork

         https://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.19
                Copyright 2000-2024, The WeBWorK Project
                         https://openwebwork.org/
                          All rights reserved.

Welcome to WeBWorK

WeBWorK is an open-source online homework system for math and sciences courses. WeBWorK is supported by the MAA and the NSF and comes with an Open Problem Library (OPL) of over 30,000 homework problems. Problems in the OPL target most lower division undergraduate math courses, some advanced courses and some other STEM subjects. Supported courses include college algebra, discrete mathematics, probability and statistics, single and multivariable calculus, differential equations, linear algebra and complex analysis. Find out more at the main WeBWorK webpage.

Information for Users

New users interested in getting started with their own WeBWorK server, or instructors looking to learn more about how to use WeBWorK in their classes, should take a look at one of the following resources:

Information for Downloading

Information For Developers

webwork2's People

Contributors

abasyrov avatar alex-jordan avatar andrew-gardener avatar aorinevo avatar apizer avatar aubreyja avatar cmhughes avatar dependabot[bot] avatar dlglin avatar dpvc avatar drdrew42 avatar drgrice1 avatar enriqueacosta avatar fabiangabel avatar ghe3 avatar goehle avatar heiderich avatar ionparticle avatar joaquimwiris avatar jwj61 avatar mgage avatar paulvojta avatar pschan-gh avatar pstaabp avatar robert-marik avatar somiaj avatar taniwallach avatar transifex-integration[bot] avatar whytheplatypus avatar xcompass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webwork2's Issues

Homework Manager/Manager Problem Sets

An error appears when adding a problem set:

{
   "exception" : "Can't use string (\"Orientation\") as an ARRAY ref while \"strict refs\" in use at /opt/webwork/webwork2/webwork3/lib/Utils/ProblemSets.pm line 89.\n",
   "error" : "Can't use string (\"Orientation\") as an ARRAY ref while \"strict refs\" in use at /opt/webwork/webwork2/webwork3/lib/Utils/ProblemSets.pm line 89.\n"
}

Remove jsMath

jsMath isn't offered as an option any more. Maybe we should remove it from webwork altogether.

chinese translation

Hi Jason,

could you make a commit adding the chinese localization files and issue the pull request to release/2.7? Make sure we have the latest version of the files on transfix in the release/2.7 branch.

Take care,

Mike

open_date, due_date, answer_date

Checks need to be made that answer_date is after due_date which is after open_date.

Not sure whether this is reflected in the database -- but the updates on the screen allow you to set the due_date to be before the open_date.

"Undo Delete" button active when nothing deleted

On the Problem tab of the Problem Set page, the "Undo Delete" button is active even when nothing has been deleted. I would expect it to be disabled until something has been deleted.

Similarly, I would expect the "Load More Problems" button to be disabled if all the problems are showing (here and in the Library Browser pane as well).

I'm also confused about the main action menu that shows "View Calendar", "View Problem Set", etc., as it seems to be a button, but pressing it doesn't do anything. It seems that this should be just some sort of label or title rather than a button (or perhaps a disabled button). It is bad to have obviously clickable items that don't actually do anything.

Dragging problems to the set name buttons doesn't seem to fully add the problem to the set

In the Homework Manager, I created a new set (via Manage Problem Sets), then went to the Library Browser pane, looked up some problems, then dragged one to the new set name button at the left to add it to the set. This seemed to work, and selecting the set name button to view the problem set, and then selecting the Problems tab shows the new problem added to the set.

But if I select the Homework Sets item in the Menu menu, and then select the new problem set, no problems appear. If I go to the old Hmwk Sets Editors to view this set, I get the error

Error messages
Can't call method "flags" on an undefined value at /WeBWorK/pstaab/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm line 2157.

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

* in WeBWorK::ContentGenerator::Instructor::ProblemSetDetail::body called at line 155 of /WeBWorK/pstaab/webwork2/lib/WeBWorK/Template.pm
* in WeBWorK::Template::template called at line 510 of /WeBWorK/pstaab/webwork2/lib/WeBWorK/ContentGenerator.pm
* in WeBWorK::ContentGenerator::content called at line 201 of /WeBWorK/pstaab/webwork2/lib/WeBWorK/ContentGenerator.pm
* in WeBWorK::ContentGenerator::go called at line 370 of /WeBWorK/pstaab/webwork2/lib/WeBWorK.pm

The 'TikZ PDF file' Hardcopy format does not work?

There is an option to generate 'TikZ PDF file' in the lib/WeBWorK/ContentGenerator/Hardcopy.pm, but when the option is selected, the following error is thrown:
Can't locate object method "generate_hardcopy_tigz" via package "WeBWorK::ContentGenerator::Hardcopy" at /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Hardcopy.pm line 643.
It does not look like there is such method anywhere in the code.

Set names draggable in Homework Manager

In the Homework Manager, the homework set name buttons are draggable even when there is no place for them to be dropped (i.e., even when the calendar pane is not showing).

Inconsistent treatment of multi-page displays

Some pages (like the Manage Problem Sets pane) have next/previous/first/last buttons at the bottom as a means of viewing additional information, while others (like the Library Browser) have "More Problems" buttons. This is not consistent. There also doesn't seem to be a way to get back to the previous page in the Library Browser. That would make this pretty hard to use if you wanted to view all the problems before selecting the ones to use in your problem set.

Viewing problems in Problem Set pane doesn't show images

Clicking on a problem set in the list on the left, and switching to the Problems tab, if the problems include images, they are not show (broken image icons appear). The URL seems to be to to an undefined user (e.g., http://localhost/webwork2_files/tmp/dpvc-test//gif/Undefined_User-1-settest1prob1image1.png), though no such files have been generated (the only ones in the course tmp directory are to my user ID).

problemset1

WebworkWebservice.pm authen

my $authen = $user_authen_module->new($self); should not be called, a new authen module should be created using WebworkXMLRPC::get_credentials. This would mean no local overrides are necessary and web service authentication should work even if a customised user authen module is defined.

  • Also users should be able to define their own webservice authentication if they wished as well

Classlist manager -- changing permission level

If I change the status of a professor to student, then leave the page and come back the permission has reverted to professor again. It doesn't look like the javaScript is succeeding in saving the update. It is trying -- I can see activity in the perl dancer window. There is no message in this case.

I've changed the practice user from guest to student. there was a message acknowledging the change but again if I move away from the page and move back
the permissions have reverted back to guest.

Clock input popup has no way to close without saving

On the Problem Set page, the date popup (calendar) can be canceled by clicking outside the calendar, but the time popup (clock icon) won't cancel by clicking outside the popup. Moreover, there is not cancel button, so you can only dismiss the dialog by saving changes (even if you have messed up the date).

Meaning of buttons in Library browser

I'm not sure what the "Click here" button does in the Library Browser.

librarybrowser

Also, the "Target" menu is too small, and the problem buttons below don't have any tool tips (it may not be obvious what they are for to the uninitiated).

Finally, the alignment of the buttons at the top is a bit out of alignment.

The New button on the Problems tab of the Problems Sets page causes in error

Using the "New" button on the Problems tab of the Problem Sets page opens a new browser tab with a page containing the following error:

Warning messages

Error messages

Cannot find a problem record for set test1 / problem 4 at /WeBWorK/pstaab/webwork2/lib/WeBWorK/ContentGenerator/Instructor/SimplePGEditor.pm line 981.

Call stack

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

* in WeBWorK::ContentGenerator::Instructor::SimplePGEditor::getFilePaths called at line 275 of /WeBWorK/pstaab/webwork2/lib/WeBWorK/ContentGenerator/Instructor/SimplePGEditor.pm
* in WeBWorK::ContentGenerator::Instructor::SimplePGEditor::pre_header_initialize called at line 182 of /WeBWorK/pstaab/webwork2/lib/WeBWorK/ContentGenerator.pm
* in WeBWorK::ContentGenerator::go called at line 370 of /WeBWorK/pstaab/webwork2/lib/WeBWorK.pm

Note that the problem set had only 3 problems, so it looks like the fourth one didn't get added before the edit was requested. There were no messages from Dancer (looks like it didn't get called at all).

attn Peter and David --- webwork2/htdocs/html-templates

Is this the right location for this directory? It contains classlist3.html.
Can I assume that it is being used by classlist3? Classlist3 was in release 2.6
as an option, but probably not used much since it still has quirks. I plan to
just leave it as is for release 2.7.

Any comments on this? If html-templates is not being used at all anymore then I'll remove.

-- Mike

should we comment out an extraneous call to mathview_scripts() in FileManager.pm ???

at line 556 of FileManager.pm

print $self->mathview_scripts();

should be commented out. Mathview is not needed in FileManager.pm
and never was. it's a little confusing why this was here when mathview was first added.

It causes an error in the develop branch (no problem yet seen in the master branch).

mathview_scripts used to be defined in ContentGenerator.pm and inherited.
It's not clear to me if this subroutine is defined at all anymore.

Geoff -- any comments on this? You reworked mathview a month or so ago.

Cascading menus can be annoying

When browsing OPL by subject, you get cascading menus with 3 levels, some of which are long. It is pretty easy to slide off of something. Separate dropdowns are easier for the user (IMHO).

Mathview and math4 theme conflict

In development when using the math4 theme the MathView icon does not appear. There are no error messages that I see.

Geoff -- could you take a look at this? Thanks.

Problem path shown multiple times in Library Browser

The path to the pg problem is shown in the Library Browser under the add/edit/reseed/etc buttons, and it is also rendered in the problem as part of the TEXT(beginproblem) call.

librarybrowser3

You might want to change the "print paths for" variable when you render the PG problem to prevent it from showing within the problem itself. (You might look at how that is done in the old library browser -- I think it uses utility routines that might handle this for you already.)

lib/WeBWorK/Constants.pm has debugging enabled

Constants.pm seems to have debugging enabled and the debug log uses WeBWorK::Constants::WBWORK_DIRECTORY, which doesn't seem to be defined. I got errors about this when I tried to install this version, and commenting these two out fixed the problem.

Config file cleanup

  • $problemLibrary{version} should be removed from site.conf
  • $courseFiles{problibs}{Library} should have value OPL Directory

Can't open most pages in a new window or tab

I often command-click on a link to open it in another browser tab (so I don't lose the place where I was). Many of the things that look or work like links in the Homework Manager don't allow this (they open within the same page), and the contextual menu doesn't provide "open in a new tab". I guess this means they aren't actually links, but are processed by click handlers. It would be nice if these could be made to open in new windows (if command or alt or whatever) is pressed.

Add links from Manage Problem Sets page

The old Homework Sets Editor had links from the assigned users and number of problems columns to the pages that let you assign users or view the problems. It would be nice to have those links back. The problem set name could link to the problem set detail page (in case you have the side-bar buttons closed).

Also, the title says "Manager" when it should probably be "Manage" without the "r".

The "eye" button always uses image mode

The "eye" button for viewing problems in the Library Browser always uses image display mode, regardless of the setting of the default mode in the course configuration file.

Errors in Problem.pm and ProblemSet.pm

Warning messages that appear when viewing problems. in develop version.

Possibly means that some variables aren't being properly initialized from the database?

I'm seeing this on nearly every problem. Also seeing similar errors when viewing a homework set (as a student).

Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 143.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 143.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 165.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 165.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 143.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 143.
Argument "" isn't numeric in numeric gt (>) at (eval 2290) line 1732.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 1212.
Argument "" isn't numeric in addition (+) at /Volumes/WW_test/opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm line 1212.

No index on past_answer table

When the past_answer table grows, the grading essay question page become very slow.

We have 2,000,000 rows in past_answer tables on and found grading essay question on the statistic page is really slow (10+ seconds to load the page). Did some digging and found the following query didn't use any index, and it is issued for each students in the class (I believe)

SELECT `answer_id` FROM `past_answer` WHERE ( ( `course_id` = 'MATH_101_101_2012W2' AND `problem_id` = '1' AND `set_id` = 'Assignment 1' AND `user_id` = '1234567' ) ) ORDER BY `answer_id`;

So by adding the following index on the table, problem fixed.

CREATE INDEX essay ON past_answer (course_id(30), problem_id(10), set_id(20), user_id(10), answer_id);

Maybe there are some tweaks on the length of index fields.

I also would like to do a pull request, but not sure where to add this :Q

Edit Homework screen date/time picker

It would be nice if the Edit Homework screen had, next to each date/time slot for due dates, a small javascript date/time widget, with a "Now" button.

Browse Local Library leads to spinning timer forever

When I select the "Browse Local Library", I get the spinning timer forever.

librarybrowser5

Again, I'm not sure about what this menu entry means (I assume it means viewing files from the templates directory).

Dancer gives me the following error (note the 404 error at the end):

...
[65444]  core @0.009705> [hit #66]Trying to match 'GET /Library/localLibrary' against /^\/courses\/([^\/]+)\/settings$/ (generated from '/courses/:course_id/settings') in /Library/Perl/5.12/Dancer/Route.pm l. 84
[65444]  core @0.009908> [hit #66]Trying to match 'GET /Library/localLibrary' against /^\/courses\/([^\/]+)\/settings\/([^\/]+)$/ (generated from '/courses/:course_id/settings/:setting_id') in /Library/Perl/5.12/Dancer/Route.pm l. 84
[65444]  core @0.010110> [hit #66]Trying to match 'GET /Library/localLibrary' against /^\/courses\/([^\/]+)\/pastanswers\/database$/ (generated from '/courses/:course_id/pastanswers/database') in /Library/Perl/5.12/Dancer/Route.pm l. 84
[65444]  core @0.010312> [hit #66]Trying to match 'GET /Library/localLibrary' against /^\/courses\/([^\/]+)\/users\/([^\/]+)\/sets\/([^\/]+)\/problems\/([^\/]+)\/pastanswers$/ (generated from '/courses/:course_id/users/:user_id/sets/:set_id/problems/:problem_id/pastanswers') in /Library/Perl/5.12/Dancer/Route.pm l. 84
[65444]  core @0.010519> [hit #66]Trying to match 'GET /Library/localLibrary' against /^\/login$/ (generated from '/login') in /Library/Perl/5.12/Dancer/Route.pm l. 84
[65444]  core @0.010716> [hit #66]Trying to match 'GET /Library/localLibrary' against /^\/app-info$/ (generated from '/app-info') in /Library/Perl/5.12/Dancer/Route.pm l. 84
[65444]  core @0.010986> [hit #66]entering before hook in /Library/Perl/5.12/Dancer/Hook.pm l. 58
[65444]  core @0.011217> [hit #66]entering before hook in /Library/Perl/5.12/Dancer/Hook.pm l. 58
[65444]  core @0.436838> [hit #66]response: 404 in /Library/Perl/5.12/Dancer/Handler.pm l. 179

There is no way to change display mode from Library Browser

The Library Browser pane doesn't seem to have any way to change the display mode. It seems always to use MathJax mode for the Library Browser regardless of the displayMode from the course configuration, with no way to change that.

I frequently use display mode of none in the library browser 1, just to get to the files by file name (I don't need all the others rendered), and it is easier to find them without the clutter. So it would be great to have a rendering mode switch here, as in the older browsers.

No way to go "back" in new UI

There does not seem to be a means of going back to the previously opened pane (the back button on the browser leaves the Homework Manager page). This is unfortunate if, for example, you have been browsing the Library Browser and then need to create a set (for example), so must switch to another pane momentarily. You can't get back to where you were in the Library Browser pane, so must browse to the right problems again.

Readme in develop branch needs updating

The README.md in the develop branch gives instructions for using webwork2-dev, not the develop branch of webwork2. I would update it, but I don't know the best git commands to give there.

Browse By Filename produces undefined menu items

When I "Browse by Filename" in the Library Browser, I get several menu items with name "undefined" (and nothing else).

librarybrowser4

I'm not sure what browsing by file name means, but this doesn't seem right.

Editor Accessibility

The classlist editor page had "Edit: " labels for all of the input fields when it is in edit mode. The homework sets editor (and achievement editor) don't do this, however.

The edit fields have been removed in a recent pull (they make the table skinnier and more manageable). However, the editor pages should all be checked to make sure they meet accessibility standards.

Library Browser title has a needless linebreak

The Library Browser title on the Library Browser page has an unnecessary line break. This seems to be due to the fact that it is in an element with class="span3" and that has CSS that gives an explicit width that is shorter than the title. Other pages (like Problem Sets) don't break, so I would not expect this one to.

librarybrowser6

path to knowl.js

change the path of knowl.js to js/vendor/other/knowl.js instead of js/vendor/knowl.js

Library browser drag-and-drop position problem

In the Library Manager pane of the Homework Manager, if the main window is scrolled, then dragging a problem causes the problem "shadow" to be too far down the page (by the amount the main window is scrolled).

This was observed in Safari.

how to deliver mathjax

making webwork2/htdocs/mathjax a link to /opt/webwork/MathJax causes a few unexpected problems.

  1. A relative url would be safer since not all sites use /opt as the root.
  2. If you switch to this branch (e.g. develop) and then switch back your mathjax installation in the original branch will have disappeared. This is a one time irritant in changing from the two different methods of hooking in MathJax.

At the very least large warning messages about these two problems should be included in the installation for the release containing this change.

Is this the right way to handle mathjax? or is it better to handle this as a submodule as we were doing before?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.