--- loncom/TODO	2001/03/24 21:51:58	1.67
+++ loncom/TODO	2002/01/15 18:01:13	1.172
@@ -5,26 +5,25 @@ TODO list
 * bug
 ! Priority
 ? Questionable/unverified
-c Continual
+c Continual and currently in an okay status
+C Continual and in need of a lot of work right now
 
 G=Gerd
 A=Alex
 S=Scott
-B=Ben
 Y=Guy
 N=Hon-Kie
-I=Issac
+I=Isaac
+M=Matthew
+?=not yet assigned
 
 XMLPARSE
     + support text_TAG functionality (Y/A)
    !* needs to fixup missing end tags in source (Y/A)
-    + style file recursion (Y/A)
     + add <options> tag (A)
     + counters and output formats for counters (A/Y)   
-    + deregister()
-    + register need to take care of overloading, and deregister needs to unload
     + answer target - for simple display of correct answer for a problem
-    + can find textual anchors and mark them up
+      (<or> <nr> <sr> <fr> done <rbr> <ir> <nh> <sh> <fh> TODO)
 
 CAPARESPONSE.C
    !+ pass back the reason (Y)
@@ -33,81 +32,214 @@ RUN.pm
     & ->share() a var rather than pass a parameter? Maybe set 
       a global in the safe enviroment using ->root()?
 
-HOMEWORK
-    + need to support /OR (Y)
-   !+ create <stringresponse> <formularesponse>(Y)
-   !+ <hintpart> ?done? (Y)
-   !+ <optionresponse> (Y)
-   !+ <rbresponse> <oresponse> need to restore last submitted response (Y)
+EDIT INTERFACE (Y)
+    + have inserts at bottom of page (Y)
+    c add more tags (Y)
+    + have textfield style entries protect against bad data (</parserlib> in 
+	the parserlib textfiled (Y)
+    + make default setup prettier
+    + <imageresponse>
+    * hints need to be coupled to tag 2 levels up
+
+HOMEWORK (Y)
+    + need to support /OR (do _OR_ in answer="" fields) (Y)
     + <rbresponse> <oresponse> hints need to work (Y)
-    & <rbresponse> <oresponse> are ugly (Y)
-    & all response types need to be verified about what they do after the 
-      answer date (Y)
-    + view problem as specific student (Y)
+    * <rbresponse> breaks when no true foils are possible
+    + <imageresponse> needs to be able to support multiple images and multiple
+        clicks on an image, need a Java applet most likely
+    * <essayresponse> needs to protect input / output
+    * if there are <*response> in a <problem> and there are also 
+	<part>s defined the handling of the <*response> outside of the 
+	<part> will be done poorly.
+    * input areas need to hide after correct
+    & run student parser over instructor specified physical units
+    + <formula/string/option/image/radiobutton hint> (Y)
+    + survey mode for <formula/string/numerical/option/image response> (Y)
+    + student should be able to see previous submissions
+    + <verbatim>
+    + support giving hints even when there are 0 tries (only <*hint> hint show)
+    + <optionresponse> reports # options correct through a <responseparam>
+         (Make editing of this pretty)
+    & allow functions in response to be case insensitive
+    +  added ability to ignore ws in string answers
 
 /ADM/GRADES
-    + modify status of a problem (Y)
-    + search for students (Y)
-    & find domain of student (Y)
-    + handle ambiguous case (Y)
+    + handle extra fields (Y)
+    + interface needs to be driven more by the type field (Y)
+    + show only a subset of students (Y)
+    + set all to something (Y)
+    + set grades aren't correctly rendered in student view (Y)
+    + have $r->flush so that user sees it is working
+    + CSV upload, XML upload
 
-NUMERICALRESPONSE
+NUMERICALRESPONSE(HINT)
    !* doesn't throw error when #response > #answer (Y)
    !* bad message when #response < #answer (Y)
+    + show tol range and sigfig in answer mode
+
+RANDOMLABEL
+    + template
+    + <label> needs to use descriiption args
+    * web render of image labels is broken
 
 GOODIES
-    * bookmarks don't work correctly (B)
-    * indexer does not always work (N)
-    + messaging (G)
+    & indexer needs to show location - bring back flip-open/close (N)
     + chatroom, etc
     + annotations can be localized and published
+    + PURLs
+    + chart allows sorting/filtering by section
+    & chart handles multipart problems
+    & statistics handles multipart problems
+    + statistics link to problem
+    + "You've got mail!"
+    + LectureOnline converter handles optionresponse correctly
 
 TEX/TTH/TTM
-    * Address bugs in tth/ttm (second half January, A,Y,G)
+   !* Address bugs in tth/ttm (A,Y,G) - get new versions
+
+SYSTEM MONITORING
+    c update rpm lists and rpm monitoring (S)
 
 BUILD
-    * make sure that ssh is always allowed, even for run-time servers
+    c test code... up to date with latest CPAN modules (S)
+    + allow for debian and redhat 7.1 installation... redhat 7.1
+      installation well pioneered (S)
+    c add in new perl modules and update old ones (S)
+    c build and distribute CD-ROMs, upgrades, and installation/upgrade docs (S)
+    c document and reasonably automate aspects of source-to-build procedure (S)
+
+CODE QUALITY
+    C code lines less than 80 characters (somewhat done, but now put
+      on back-burner till 2002) (S)
+    C xhtml-ize output from perl modules (S)
+    C work on javascript library and modularizing code (S)
+   !& fix handling of web browser windows (S)
+    c add in CPAN and POD conventions into modules and scripts (S)
+    c get rid of void context map blocks and replace with foreach blocks
 
 SQL DATABASE
-    *!need to improve sql database security (S)
-    * need to allow for parsing logic statements for metadata database (S)
-    * need to call all library servers (S)
-    * need to show status of library server retrieval (S)
-    * need to perform customized metadata search (S)
+    + have result capping (S)
+    + scroll results page (S)
+    + enable abort button (S)
+    & restrict search fields to viewable fields (based on ENV{user.adv}) (S)
+    & update user-viewable metadata database documentation (S)
+    & restrict searching to browseable domain (S)
+    C monitor speed and performance of metadata database (S)
+    + prepare for and upgrade to the much superior MySQL version 4 (S)
+
+PLOTTING 
+    + polar plots (M)
+    + interface functions for <script> (M)
+    * unable to plot multiple data sets with differing linestyles.
 
 GERD STUFF
-    + lecture online converter does all types (G/Y)
-    + lond can add UNIX user and change UNIX password (G/S)
-    & lond produces no history files for nohist_ namespaces
-    & more intelligent standard spreadsheets
-    + pageflip up and down work
-    + feedback, mailing and announcement mechanism finished
     + londropadd does XML
-    + loncreateuser can do system roles
     +?TAs can open and close assignments
-    *?menu.html does weird stuff on some browsers sometimes (maybe fixed)
-   !& tests interaction between parmset, problem handler and spreadsheet (G)
-    + get timestamp into spreadsheet
-    + parmset can sort 
+    +?Students can force-open assignments with instructor notification
+   !c tests interaction between parmset, problem handler and spreadsheet (G)
+    + replication hinting/prediction 
+    + replication, search local access servers if library is uncontactable
+    + intelligent update of hosts.tab (don't forget firewalls)
+   !* Looks like no window status in IE 5.5 on Mac, Remote logs out
+    + change passwords (domain coordinator/users)
+    * straighten out co-author, author, coordinator junk 
+    + implement initial questionaire
+    + summary on top of spreadsheet
+    + adjusts output in spreadsheet to type
+    + sort courses with same role in lonroles, color scheme
+    + fix Applet codebase on .page
+    & pages should not register with remote if not on map
+    * navmaps displays answerdates correctly (not due date instead)
+    + points for feedback, counts on feedback/discussion
+    + "do you want to be a tutor"?
+    +!interface for checking logs
+    + button to show deleted email and to "compact"
+   !* navmaps duedate on multipart with no part 0
+   !* discussion for users in sections
+    & more informative message for "maybe part of a course"
+    * hung lond child - produce status info
+    & share spreadsheets among courses
 
 RAT
-    + RAT can set resource parameters (G)
     *?RAT error line 1413 "insert resource into link" for recon link (G) 
       (could not reproduce)
     + need to be able to evaluate conditions in lonuserstate
     + need to be able to set conditions in RAT client (G)
+    + simple RAT server-side interface
+    * undefined "guff" - maps full of objects value="undefined"
+    * bombs if inf-window closed by hand (needs browser restart) 
+    * errors, lines 1118, 1119, 2153, 2310 after cutting link in table mode
+    + "insert resource in link" shows that it is busy working on it
+    & use 'unknown.gif' for icon of unknown file types instead of broken img.
 
 PUBLISHER
-    + publishes material other than HTML, XML and problems (G)
-    * handles "publish directory" more gracefully (G)
-    + retrieve old versions button (G)
     * needs to devalidate spreadsheets in problem publishing (G)
-    +?does HTML to XHTML cleanup job
+    * need to clear metacache of old versions of metadata when publishing
+    + deals with Micros*** files
+    *?entering construction space or a directory throws up a 
+      spurious error message (G)
+    c TEST: deal with absolute links
+    c TEST: deal with <allow>
+    + incorporate thesaurus/vocabulary
+    + handle big text documents (?)
+    & do not change everything to absolute URLs, but clean up URL garbage
+
+
+Large Chunks of funtionality that need work:
+============================================
+
+- Statistics
+	- Simple
+		- resource analysis class/system wide
+		- resource correlation course wide
+		- other stats from CAPA
+	- Complex
+		- foil level analysis/correlation measures
+		- derandomized foils analysis
+		- have/view reason student selected a foil
+	- resource quality, how good is a resource
+
+- Messaging
+	- email gateways into/out of the system
+	- handle more types of communication
+	       - messages seeded with data from spreadsheet
+	       - chat / whiteboard
+	       - "round robin" feedback handling
+               - "mailing lists"
+
+- Grading
+	- simple grading needs cleaning up (see Guy's TODO list)
+	- survey data extraction ( stat complex could handle most of
+	  this)
+	- essay / shortanswer
+		- instructor / autoget all/none
+		- team based submission
+		- peer graded
+		- peer suggest grade
+
+- homework engine
+	- math stuff
+	- CAPA problems 
+	- <imageresponse> need Java applet
+
+- Exams
+
+- RAT
+	- choose parts
+	- set conditions
+	- language for conditions
+	- some kind of non-anti-save
+
+- Publish
+	- review step
+	- co-author locking
+	- auto thumbnail / convert images
+        - stricter control mechainsms
+             - copyrighted stuff
+             - Private stuff
+           - ACL? (by author or resource?)
+        - update metadata without full publish
 
-VERIFICATION OF CONTENT
-    c have TA's do homework (G)
-    c verify internal page links  (G)
-    c verify applets (G)
-    c do homeworks from home/computer labs (G)
-    c be always at least two weeks ahead in homework
+- printing
+	- tex target (CGI / daemon?)