cslmath / Champlain-Saint-Lambert-webwork-repo

A library of WeBWorK problems contributed by the Champlain Saint-Lambert math department
3 stars 4 forks source link

Template assignment subdirectory structure discussion #41

Open maharper opened 2 years ago

maharper commented 2 years ago

Template assignment subdirectory structure discussion

Following the discussion about directory structure in PR #39, I have implemented the following structure in my work on 201-901 template assignments:

model201-901/ or Template_201-901/
│   set01.def
│   set02.def
│   setLab01.def
│   setLab02.def
│ ...
├───library-bugs
│   └───Library
│       ├───school3
│       │       fixed1.pg
│       │       ...
│       └───school4
│               fixed1.pg
                ...
├───library-edits
│   └───Library
│       ├───school1
│       │       changed1.pg
│       │       changed2.pg
│       │       ...
│       └───school2
│               changed1.pg
│               changed2.pg
│               ...
└───MHAuthor
    ├───Labs
    │       MHLab01q01.pg
    │       MHLab01q02.pg
    │       setHeaderPaperLab.pg
    │       setHeaderScreenLab.pg
    │       ...
    └───Statistics
        └───Chapter1
            ├───Section1
            │       MH21problem.pg
            │       MH21problem2.pg
            │       ...
            └───Section2
                    MH21problem3.pg
                    MH21problem4.pg
                    ...

The set defs, go at the root level as they do now. The issue is where the pg files (and supporting files) go.

library-bugs/ is for problem code from the OPL (Open Problem Library) with bugs. A buggy problem from the OPL,Library/school3/someproblem.pg, would have the corrected version in library-bugs/Library/school3/someproblem.pg. Hopefully the corrected version would have comments identifying the source (OPL path), the correction, the date the bug report was filed, and where in the set defs the problem is used. Once the bug is corrected in the OPL and the changes pulled to our server, the version of the problem in library-bugs/ can be deleted, and the set defs updated to point to the corrected version in the OPL. Note that I don't really think that keeping a list of where in the set defs the problem is used is needed; it is easy enough to just search the set defs when needed.

library-edits/ is for OPL problems where we want local versions not because of bugs, but for other reasons, perhaps terminology or notation. We don't expect our local changes to ever be accepted into the OPL. We can still keep the OPL path and comment the code to explain why a local version.

The third subdirectory, here MHAuthor/, is for code that is authored locally, but that is not (yet) in the CPL (Champlain Problem Library). To make these problems easier to transfer to the CPL eventually, I am trying to file the problems in the same structure as is in the CPL.

This "issue" is essentially a request for comment on this structure, particularly from @mtitcombe and @qubd.

qubd commented 2 years ago

This structure sounds great to me. As we discussed before, I think it's important that the full paths to the edited library problems are part of the directory structure we use, and they are here.

Even when an assignment is thrown together last-minute and the author just uses the webwork defaults for where the edited problems go, as long as they put their own original problems somewhere else, it should be easy to restructure things to fit with this format (give up on the bug reports, rename the "local" directory "library-edits", and rename whatever directory the originals went into "__Author").