In order to facilitate the creation of problems in WebWork, it seems necessary to streamline and simplify the problem generation process while at the same time providing a method for basic problem generation that newcomers can use that avoids much of the difficulty associated with mastery of the PG language.
We propose two new approaches here to the problem authoring facility built in to WebWork that focus on either:
- building problems in a more controlled fashion that hides the details of the PG language or that
- allows authoring of PG problems via a TeX-like interface
This would potentially make problem input for beginners more tractable in the PG language and encourage more widespread problem development.
A Segmented Edit Page
One approach is to create a redesigned version of the existing edit page could be created that provides a more graphical user interface the PG problem edit mechanism. An example of this is provided in the link above. In this page, the essential parts of a PG problem are split into areas that are more controlled and that hide portions of the PG backend. This also presents a cleaner version of a problem and would help to prevent confusion surrounding how problems work.
A Hybrid PG/Tex Authoring Mode
In general, it also seems appealing to be able to author problems in a PG/LaTeX hybrid mode where the formulas and problem formatting are determined by LaTeX commands and the WebWork problem aspects ( answer rules, random parameters, etc.) are handled by keyword tags. This PGTex could then be processed by a perl script into true PG for inclusion into problem sets. This approach offers several advantages.
- First of all, the existing problem editing facility can be modified to support this PGTex entry mode in a Basic Editor version that would be accessible from a different URL within WebWork. It would limit the available problem types, but would allow for quick, easy problem generation for people familiar with TeX.
- Secondly, external applications could be adapted to use this problem generation mode. For example, LyX, a LaTeX typesetting application, could be adapted to use this problem processing externally and the resulting PGTex could be uploaded and processed by WebWork in the same way as with the built in Basic Editor.
- It also would permit the basic aspects of a PG problem, e.g. macro loading, etc., to be suppressed for users who have no interest in understand the more complicated aspects of PG problem authoring
- It would abstract out the encoding of things like functions and answer comparisons so that changes to the macro library could be made transparent in some sense (maybe)
The Basic Editor could also be adapted to utilize a GUI like TeX editor such as the HTML editor in Moodle (that is used to create Wiki entries) further simplifying the creation of problems.
- create the Tex2PG processor within WebWork
- create a modified version of PGProblemEditor.pm that supports PGTex editing
- develop a secure way for external applications to upload files for processing (perhaps using the xmlrpc connection for preview as well)