- Dependencies between parameters and refresh_on_change are now more general.
Any parameter can assert a dependency on any other parameter by name, and
if a parameter has dependencies it will cause a refresh.
- Use "other_values" to get at the value of the associated dataset rather
than trying to look at the tool. This means that column lists now work
inside grouping constructs.
- Eliminated tool.updated_params and use of self.legal_values. These
variables are GLOBAL. Everybody using a tool has a reference to the same
instance of tool. Thus, if two people are using the same tool at once this
can cause serious problems.
#) An "xy_plot" tool and a new "build_ucsc_custom_track" tool that
demonstrate the various features added here.
#) Grouping constructs for tool parameters:
- "repeat" element allows for a set of parameters to be repeated an
arbitrary number of times
- "conditional" element allows choosing a set of parameters to display
based on the value of another parameter
These constructs can be arbitrarily nested. Their values are structured
and can be used in hooks, validation, et cetera
#) Support for generating arbitrary config files to pass to a tool
#) Command lines are now full Cheetah templates
#) Better job error reporting, includes tracebacks for internal errors
preparing the job (database change required, see below!)
#) Preparation of command line, config files, exec_before_job hook moved
into job execution stage
#) Parameter values now jsonified before storing in database (this is much
more rigorous that before, and restoring from the database now works
properly)
DATABASE CHANGE:
alter table job add column traceback text;