--- loncom/TODO	2001/01/19 17:27:28	1.36
+++ loncom/TODO	2001/09/08 19:02:21	1.122
@@ -1,14 +1,15 @@
+TODO list
+
 + add functionality
 & change functionality
 * bug
-! January
+! Priority
+? Questionable/unverified
 c Continual
 
 G=Gerd
 A=Alex
 S=Scott
-B=Ben
-H=Harsha
 Y=Guy
 N=Hon-Kie
 I=Issac
@@ -16,13 +17,13 @@ I=Issac
 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)
-    * outputstack is not a stack, it should be (A)
-    & redirection can be cleaned and simplified (A)
-    + &recurse() needs to look for redirection (A)
     + counters and output formats for counters (A/Y)   
-    + support <tag /> or see if new HTLM::TokeParser does <tag/>
+    + deregister()
+    + register need to take care of overloading, and deregister needs to unload
+    + answer target - for simple display of correct answer for a problem
+    * <m> tag needs to do variable evaluation before tth-ing the string, also 
+ 	add eval="nothing" to turn this off.
 
 CAPARESPONSE.C
    !+ pass back the reason (Y)
@@ -31,54 +32,206 @@ RUN.pm
     & ->share() a var rather than pass a parameter? Maybe set 
       a global in the safe enviroment using ->root()?
 
+EDIT INTERFACE
+    * insert (getting there) (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
+    + more templates for different homework types
+    + <rbresponse> editing works
+    + testing problems in construction space
+
 HOMEWORK
     + need to support /OR (Y)
-   !+ create <stringresponse> <formularesponse>(Y)
-   !+ <hintpart> ?done? (Y)
-   !+ <optionresponse> (Y)
+   !+ create <formularesponse>(Y)
    !+ <rbresponse> <oresponse> need to restore last submitted response (Y)
+    + <rbresponse> <oresponse> hints need to work (Y)
+    * <rbresponse> breaks when no true foils are possible
+    + view problem as specific student (Y)
+    + <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
+    + show rendering of problem for another user in "view submissions" (please)
+    * 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.
+    * sigfigs are poorly supported (metadata needs to be better)
+    * multiple response in a multipart question are screwing up
+    * input areas need to hide after correct
+    * <randomlist> needs to be stable
+    * previous answers need to be ignored
+    * id in parameter_... (see tol on mmp resources, s10)
+    + be able to view homework as another user, see variables
+      (possibly coupled with /adm/grades, prev. submission)
+    &?intelligently react if answerdate incorrectly set before duedate
+    + <rbresponse> and <optionresponse> flip back on display to the last 
+      student entry when re-visiting a problem
+    & free up use of "special" variable names $unit, etc
+    & run student parser over instructor specified physical units
+
+/ADM/GRADES
+    * show list of multiple students if multiple match (Y)
+    + handle ambiguous case (Y)
+    + back to homework link (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
+    & recognize "timestamp" field and print time in plaintext localtime
 
 NUMERICALRESPONSE
    !* doesn't throw error when #response > #answer (Y)
+   !* bad message when #response < #answer (Y)
+
+RANDOMLABEL
+    * Applet runs cross-platform, goes into library location /res/adm/pages
+    + template
+    + TEST: randomlabel
 
 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!"
+    + navmaps shows new discussion postings
 
 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
 
 BUILD
-    * need to roll together anaconda reconfiguration interface (S)
-    * need to write a "run-time" teflon script to tighten down (S)
-      file ownerships on non-development LON-CAPA machines (S)
-    * need to debug anaconda installation interface (S)
-    * need to debug anaconda upgrade interface (S)
+    * make sure that ssh is always allowed, even for run-time servers (S)
+    + intelligently handle updating of configuration files (S)
+    c test code (S)
+    + allow for debian and redhat 7.1 installation (S)
+    + match lpml_parse.pl output to be similar to parse.pl (S)
+
+SCOTT STUFF
+    c code lines less than 80 characters (somewhat done, but now put
+      on back-burner till 2002) (S)
+    c xhtmlize output from perl modules (S)
+    c work on javascript library and modularizing code (S)
+    + cause groupsort handler to work with group search import (S)
+
+SQL DATABASE
+    * need to show status of library server retrieval (S)
+    & some metadata fields hidden from non-advanced users 
+      (use $ENV{'user.adv'}, see lonmeta for example) (S)
 
 GERD STUFF
-    + lecture online converter does all types (G/Y)
-    & improve student view of maps (G)
     + lond can add UNIX user and change UNIX password (G/S)
-    & lond produces no history files for nohist_ namespaces
-   !* make spreadsheet calculation less resource intensive (G)
-    * tmpget seems to only work up to a few hundred kilobytes (G)
-    * unclear: linebreaks at the end of uploaded files (G)
-    + pageflip up and down work
+    + londropadd does XML
+    +?TAs can open and close assignments
+    +?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)
+    & stabilize lond (maybe not prefork)
+    * straighten out co-author, author, coordinator junk 
+    + lonstatistics stores info with metadata of problem
+    + implement initial questionaire
+    + do "evaluate this"
+    + 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
+    + hide empty optional assignments
+   !* imports default parameter settings for locally non-existing parameters
+    & pages do not register with remote if not on map
 
 RAT
-    + RAT can set resource parameters (G)
-    * RAT error line 1413 "insert resource into link" for recon link (G)
-    * focus on RAT when in /priv space (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
+    + mass import of files, sorting (S)
+    + "Browse" works (S/N)
+    * 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
 
 PUBLISHER
-    + publishes material other than HTML, XML and problems (G)
-    * handles "publish directory" more gracefully (G)
+    * needs to devalidate spreadsheets in problem publishing (G)
+    * need to clear metacache of old versions of metadata when publishing
+    + deals with Micros*** files
+    + public resources - /pub/domain space
+    *?entering construction space or a directory throws up a 
+      spurious error message (G)
+    c TEST: deal with absolute links
+    c TEST: deal with <allow>
+
+
+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
+	- new parm - mode -> homework/exam/survey controls response
+	  renderings / awards and solved status
+	- edit interface / clone other problem
+	- math stuff
+	- validating <part> and multiple <*response> works as
+	  advertised
+	- CAPA problems 
+	- <imageresponse> need Java applet
+	- <randomlabel> 
+
+- Exams
+
+- RAT
+	- choose parts
+	- set conditions
+	- language for conditions
+	- browse link
+	- some kind of non-anti-save
+
+- Publish
+	- review step
+	- co-author locking
+	- auto thumbnail / convert images
+
+- printing
+	- tex target (CGI / daemon?)
 
-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