openlab-at-city-tech / webworkqa

WeBWorK integration for WordPress and BuddyPress
GNU General Public License v2.0
4 stars 2 forks source link

Remove Section/Course distinction and filters #195

Closed boonebgorges closed 3 years ago

boonebgorges commented 3 years ago

WW has the native concept of "courses", which are an assembly of problem sets, a specific set of students, and an instructor. The City Tech installation of WW was configured so that each WW course corresponded to a course section. This is probably a pretty standard convention for WeBWorK installations, though of course other conventions are possible - for example, an instructor might group together all their sections of a certain course into a single WW course.

At City Tech we introduced an additional innovation, which is that WW course URLs were formatted in such a way that it was possible to read the course code out of the URL. So you might have a single course in the catalog 'MAT 1275' with ten sections, each section gets its own WW course with a structured URL like MAT_1275-Section1, MAT_1275-Section2, etc. In webworkqa, then, we use the entire URL fragment MAT_1275-Section1 to identify what we call section, and we parse out MAT_1275 as an abstraction that we call course. This abstraction powers the hierarchical sidebar filters; in "Select Course" you might choose MAT 1275, which will narrow the available options in the "Select Section" filter as appropriate.

This is a nifty innovation, but it is not part of vanilla WW, and is not enforceable across WW installations. So it must be removed from webworkqa. Essentially, we'll be getting rid of the abstraction we currently call course, so that we'll be left with section - ie, those entities that are in predictable, one-to-one correspondence with WW courses. To make the vocabulary more consistent across platforms, we will likely then rename section to course in webworkqa.

If possible, when removing the abstraction, I'll introduce some WP hooks that might make it possible for specific installations to reintroduce this kind of abstraction on their own.

cc @drdrew42 @bree-z as an FYI

boonebgorges commented 3 years ago

I believe this work is complete.