Source: global.tlidToDo [edit]
TO-DO LIST FOR TLID (Task Learning through Interactive Discussion)

   Please report bugs and wish-list features below.  At the end of each entry, mark 
   your user name so we can follow up with questions if necessary.  

   Highest priority should be at the top, lowest at the bottom.


   - When links are returned across the wire, the order is not being preserved.  
     This is important, for instance, for selecting the most important (first) 
     link in a Google search. [Adam]
   - Allow renaming a task name in GUI [Adam]
   - Make OAA calls non-blocking.  Sometimes the UI hangs when waiting for a message
     to come back. [Adam]
   - When ending loop, need way to say whether to return LastSet or LastValue [Adam]
   - Bug in WebL export serialization of piecesets when pieces are not valid (closed tag) HTML 
     (implemented workaround in tLID code). [Adam]
   - Parameter not automatically filled in  [Leslie]
   - Currently hardwire facilitator to "localhost", 3378, need to read
   - When you quit tLID, it seems to sometimes hang around as a process [Adam]
   - If try to set an unknown field, emit warning (currently indicates success)
   - Problems passing arguments to subprocedures [Adam]
   - ' in input (e.g. describe task: ... doesn't ...) causes OAA error [Adam]
   - Difficult to reproduce: tasks not being added to current task, even though in
     Teach mode.  Executing seemed OK. [Thierry, Adam]

   - None outstanding


   - Add "AutoComplete" to input box [Adam]
   - Make chat window Browser-based instead of text-box based.  Will simplify
     rendering and make things more pretty.  [Adam]
   - Expose "alt", "id" and "title" tags for links [Leslie]
   - Finish editing capabilties [Adam]
   - Conditionals [Adam]
   - "Back in Time": record state at every step, and if click on step, 
        show previous state.  [Adam]
     Implement "Context" tab showing current variables. Recalculate if edit. [Adam]
   - Nested loops (currently support one level) [Adam]
   - Integrate iAnywhere NL for more robust parsing [Adam]
   - Some pages load slowly.  Add "Loading" feedback while this happens. [Adam]
   - Allow OptionValue (for checkboxes, radio buttons, ...) to use substring match
     if exact match doesn't find something [Adam]
   - Search for option values: "find all options that contain German", "choose it"
   - Multi-select options: "Unchoose it", "Choose all", "unchoose all". [Mabry]
   - Add optional "Cache" option to functions to speed them up [Adam]
   - Add an "Undo" button on GUI somewhere [Adam]

   - need better directions on how to run the procedure again when working on it (ie rerun it while working onit) [knitz]
   - need better directions on how to put in multiple parameters (in quotes? separated by comas? spaces?) and where (example: "translate <webpage> from <language> to English"   how do we know the 'from' goes in there?  and what if I have 4 parameters?  )[knitz]

   - need better directions as to when to put in the param values (ie "CA" is an example state)  and why not "example OF state"?  I keep putting that in and it seems confused. [knitz]
   - putting in param values doesn't show up in the task plane so confusing when to do it.
   - Calling tasks from tLID doesn't support more than 2 arguments currently [Adam]
   - select elements by class attribute (e.g. Google scholar) [Adam]
   - need way to select elements beyond "tenth" [Adam]
   - need better naming scheme so that everything doesn't end up being "find" [Adam]
   - "Select the first three": allow "three" to be a variable
   - ResolveReference for calling a subprocedure: "lucky search for the airport + 
     " parking" [Adam]
   - Allow substrings in options [Adam]
   - search for numbered items (e.g. LI inside OL) [Adam]
   - In loop, return all vars used, not just last result.  Also for procedure 
     result. [Adam]
   - Find all words in a cell -> 0 found (cee email in table) [Adam]
   - domain names as an element ( -> [Adam]
   - field q is the cell + "text" (cell should take Text()) [Adam]
     find all options that contain SFO.  Field action is the option.
   - Sum function [Adam]
   - Sort by type (e.g. date, string, number, price, ...)


  IN VERSION 0.1.7
   - Crash on forms without action field (onsubmit) such as [Thierry]
     -- Can now explicitly set action if does not exist, using field action is <url>
   - Fix tab ordering on all dialog boxes [JPacheco]
   - Sort (and reverse sort) function [Adam]
   - Fixed small bugs and typos
   - If user variables are created during loop, object containing all variables returned by default as loopResult
   - Return can now take full references (e.g. "the links", "the link", "them"), including "the variables" which returns an object containing all variables.

  IN VERSION 0.1.6
   - Roll back fix for " - If try to set an unknown field, emit warning 
     (currently indicates success) [Mabry]" as this fix created a worse problem...

  IN VERSION 0.1.5
   - On very complex or long pages (e.g. amazon), caused OAA Error in facilitator [Nitz] 
     -- fixed by displaying "PAGE" in text result rather than huge page markup.
   - When looking for known tasks, only show your private and shared tasks, not from other users (for surprise task)
   - Add "What Tasks Do you know" button on UI [KenNitz].  Still need to add a UI for explaining how the tasks are done.
   - Must now login with a valid WubHub account.
   - View an existing task: copy all steps and paste them in as a batch [Mabry]
     Didn't implement batch copy/paste, but hopefully addressed intent, which was to
     quickly reuse commands from other tasks without typing (accelerates transfer
   - Added more regular expression terms: dates, emails, phonenums, zipcodes, urls
   - Tried "test" is an example object and it called dynExec calo.test [Adam]
   - In quoted strings, had problems with getting the right number of spaces.   
   - In Try Mode, gets slower and slower as reexecutes everything [Adam]
   - If try to set an unknown field, emit warning (currently indicates success)

  IN VERSION 0.1.4
  - After "let me teach", have calo remind user to enter example arguments. [JimC]
  - If save task and still in loop, automatically add end loop [Adam]
  - add "someplace" as a synonym to "somewhere"
  - add "items" as a synonym to "li"
  - add "what do you know" as synonym for "what tasks do ..." [Nitz]
  - Save example inputs used to train calo as comments in generated procedure. [Mabry]
  - Broken P in subroutine calling [Adam]
  - Add "Return the page" function, and render properly [KenNitz, Leslie]
  - Describe rendering for piecesets create a crash (e.g. "find weather for 94025"
     works in the browser but crashes in text rendering because returns piecesets). 

  IN VERSION 0.1.3
   - Undo: to be superceded by "back in time", but maybe 
     good to implement in the short term. [Adam]
   - Manipulations on a variable, including concatenation 
     (e.g. "movies in" + term) [Adam] (only concatenation was done).
   - Support for HTML fields of type "radio", as reported by 
      Thierry's URL "" [Adam]
   - "YOU>  field tranword is the word
      CALO> Couldn't set field." [Thierry]
     The problem was that "word" is a reserved word (along with "link", "table",
     etc.)  It now warns you to use a different term for an input variable so as 
     not to be ambiguous
   - Phrasing "fill in <fieldname> with <fieldvalue" [Leslie]
   - report a problem button says you must be logged in. [Thierry]

   IN VERSION 0.1.2
   - Add ability to deal with drop-down menus [Thierry].  To do this, 
     use "field <fieldname> is <fieldvalue>", just as with other fields.


   -  find all columns that contain "Phone" gives:
CALO> I found [. "msg" = "error in eval script", "type" = "EvalError", "module" 
= "nlinteract", "line" = 574, "subexception" = [. "msg" = "incompatible operands 
for operator", "type" = "OperandMismatch", "line" = 13 .] .] of them on the page.
[Thierry]  -- HTML doesn't have a "column" mechanism, just "cells" (td), so this 
isn't easy to implement at this time.  I'm removing support for querying on columns 
directly for now, and will update documentation accordingly.