################################################################################ # WeBWorK mod_perl (c) 2000-2002 WeBWorK Project # $Id: TODO,v 1.19 2002-11-08 22:14:16 sh002i Exp $ ################################################################################ Son of WeBWorK - TODO list DONE write template file from what we drew on the board DONE normalize files: - (c) header on all files - standard order of preamble lines: 1. (c) header 2. package PACKAGENAME; 3. short summary of the package (pod's NAME section) 4. use - pragmatic modules 5. use - standard perl modules 6. use - CPAN modules 7. use - webwork modules - ALWAYS use strict and use warnings - use "use base" rather than "our @ISA" - no warnings or errors! - (later on) POD documentation for all files DONE fix templating code in ContentGenerator, add new escape functions DONE implement the new template DONE finish ProblemSets and ProblemSet -------------------------------------------------------------------------------- DONE New interface to PG.pm DONE - instead of it accessing the database directly, accept $user, $set, and $problem as arguments (instead of $setName, etc.) DONE - UPDATE PG.pm'S DOCS!!!!!!!!!!!!! DONE - Fix Problem.pm and Hardcopy.pm to work with the new interface Hardcopy generation DONE - ad-hoc version of &latex2png in Hardcopy.pm (move later) DONE - fix code (heh heh) DONE - fix hardcopySetHeader Integration of dvipng method of image generation N/A - choice between writing to a temporary TeX file from within dangerousMacros, or queueing the equations up in RAM and passing them out to the caller (via PG_flags?) who will then call &latex2png DONE - write tempfile from dangerousMacros - PRO: gets it out of RAM - PRO: no dependancies between equations - CON: have to coordinate between latex2png and dangerous macros for tempfile locations FORGET - queue equations in RAM - PRO: all file access and external calls happen outside of the safe compartment. - PRO: latex2png gets to decide where to put files - CON: stuff sits in RAM - CON: uses a package array to queue equations :p -------------------------------------------------------------------------------- DONE display of screen set header in ProblemSet.pm (easy) DONE add DONE fix alignment of displaymath images DONE print $pg->{header_text} in head of Problem.pm DONE remove "set" and "prob" from URL generation, remove s/^(set|prob)//; DONE remove webwork-dvipng-xxxxx temp directories when finished with them DONE make "enter" on the problem form trigger "submit answer", not "redisplay" DONE handling of PG warnings (?!?!?!?!) DONE time logging DONE test transaction logging DONE make static images work DONE make GD-generated images work DONE make HTML links work DONE make images in PDFs work DONE remove dependancies on Global:: from send_mail_to ---> preview button in Problem handle PG errors (and warnings) in Hardcopy Feedback - need nice modular way of sending email Options - email address and password have logout button invalidate key Pretty die messages (from outside of the translator) check TTH mode character encodings on mac and windows grep for "***" in source, address all issues -------------------------------------------------------------------------------- change notes -------------------------------------------------------------------------------- IO functions (dependancies on other IO functions are not listed) all variables in the global namespace should be replaced with items in the %envir hash. all functions that access the envir hash need to be evaluated from within the safe compartment (i.e. &unrestricted_eval'd). includePGtext $envir{probFileName} send_mail_to $REMOTE_HOST $REMOTE_ADDR #$Global::smtpServer #$Global::webmaster (&Global::wwerror) read_whole_problem_file read_whole_file convertPath stub getDirDelim stub getCourseTempDirectory $envir{tempDirectory} surePathToTmpFile #$Global::tmp_directory_permission #$Global::numericalGroupID (&Global::wwerror) fileFromPath directoryFromPath createFile createDirectory getImageDimmensions -------------------------------------------------------------------------------- Calling LaTeX/dvipng and PDFLaTeX in a nice way - create LaTeX.pm (?) - &latex2pdf - create secure tempdir - write hardcopy to tex file - call pdflatex - move resulting pdf file to tmp/hardcopy/whatever.pdf - remove tempdir - &latex2png (dvipng method) - create secure tempdir - write equations to tex file - call latex - run dvipng (as per ImageGenerator) on dvi file - move resulting images to tmp/dvipng/whatever.png - remove tempdir