A user sets up a plot with a set of traces and colors and styles that they like. The user saves this setup as a configuration to be recalled later. The user gives the configuration a name and a description, and possibly overrides the default icon image generated from the display. Then the configuration must be added to some location in the configuration library, of the user's choosing, so configurations can be organized however the user wants.
This use case is like saving a single plot configuration, except a plot window may comprise multiple plot pages each with multiple plots. When the configuration is added to the library, there must be some indication in the library of the particular kind of each configuration. For example, the configuration named 'temperatures' may be a single plot of several temperature traces, or it may be a plot window with a separate plot for each temperature variable.
It would be useful to be able to drill down (using the configuration browser) into configurations to extract particular pieces as their own configuration. For example, the user assembles a large set of plot windows, each with several kinds of plots, then saves the entire aeros session with one configuration name like 'turbulence-research'. Later it should be possible to browse into that configuration and open up a single plot from it.
Even the DataDomain can be a configuration unit. The user browses a set of plot configurations, finds one that covers a time period of interest, then applies that time period to an existing but completely unrelated plot.
The user needs to be able to configure a plot with a set of variables, save that configuration, and then restore that set of variables in a new plot with a different data source. For example, a standard plot might be a time series showing all of the temperature variables for intercomparison during and after a flight. That plot configuration gets saved under the title 'temperature comparison'. Later, the user starts a new display session and wants to see a plot of those same variables but for a different flight. Thus a new time series window is invoked on the 'temperature comparison' configuration, but the variable list in that configuration must be resolved against a new data source. Note the new data source does not necessarily have variables to match all of the ones in the configuration. See the section called “DataSet Templates”.
It would be very useful to distinguish between the variable list and the plot in a configuration. For example, given a set of variables being viewed in a time series plot, it should be easy to invoke a statistics or ascii plot on that same set of variables. Or imagine viewing a skew-t plot and then wanting to view the time series for those variables.
Scientist X is using a laptop on the plane and creates a configuration to show some feature in a data stream at a certain time. X first adds that configuration to their own library, then copies it into the database source. Scientist Y browses the configuration library to find the central configuration source, locates the configuration saved by X, then invokes a new plot window with that configuration.
Note the central configuration source does not need to be the database. It could be a web server which serves out xml files. That actually should make things like authentication easier if it should ever be necessary. The web server need only allow configuration files to be put to the server to support this use case. The other advantage to a web server is that the notion of a directory hierarchy is built-in, and the access is the same whether on the local net or outside the NCAR firewall.
The user has several plot windows open. They browse the current, running configuration as the 'Current' source in the configuration library and find the window they want to copy. Then they apply that configuration to a new window same as if the configuration came from some outside source.
A user brings their laptop onto the plane with an existing aeros installation and their customized, working library of configurations. Using the central configuration source, the user can immediately pull a set of configurations especially prepared for this particular project or flight.