Proposed rdbGUI Improvements
- GMT support
- Insert and update don't make it easy to get timestamps correctly
entered in GMT. Both enter_time
and update_time
should be handled
entirely by rdbGUI. vstart,
vend, input_start
and input_end have to be entered by the user.
prod_start and prod_end
are currently input, if at all, by the user, but should someday be handled
by rdbGUI. For user-entered times, would be nice to add a widget to the
data/time
dialogue to recast local times or times in other specific time zones to GMT.
- File browser
- It's awkward having to type in file paths.
The data_ident column is already identified in
the xml description as having a value which is supposed to be a file.
In this case, rdbGUI could let the user browse the file system, as is
already done for the Open DB Schema dialog.
However it would have to be smarter for this application since,
to be useful, it has to be able
to translate environment variables for some purposes
but keep them around untranslated when the value actually gets written in
an insert or update
command.
- insert enhancements
- insert should be upgraded to behave like
the comparable function
Metadata::registerCalib in calibUtil in the following
way. When a new calibration is entered with
proc_level equal to any legal value other than
'SUPSED', the database is searched for similar calibrations (same
type, instrument,
flavor, proc_level) with
a vend later than the new row's
vstart. The old row's vend
is properly adjusted.
Perhaps human user should be
asked if he/she wants to proceed before each old row is updated. Any such
update will be logged.
Also, if proc_level
is 'PROD', set prod_start to current (GMT) time.
- update enhancements
- If update is used to change
proc_level to or from 'PROD', update
prod_start or prod_end
as appropriate.
- supersede
- Add a new supersede function, really a special
kind of insert. The caller right-clicks on the row to be superseded; it
must be one which has proc_level equal to 'PROD'.
Its proc_level is set to 'SUPSED' and something like
the insert dialogue comes up so the user can set column values for the
new row. However, some of them
(including at least calib_type,
instrument and flavor)
are not settable by the user because they
are taken from the old row; others must be set by the user
and may not be inherited from the old row: could be that the
only one in this class is data_ident. This
information (which columns are inherited, which must be newly-specified)
should not be hard-coded in rdbGUI; it should be added to the xml
description and rdbModel should be enhanced
to make the information available to the gui.
- multi-insert
- Add new multi-insert command. It frequently
happens that someone wants to register several new calibrations with many
shared characteristics. It would be nice if they didn't have to
retype identical values for, e.g., locale,
instrument, vstart,
vend and so forth. As for the
supersede function, which columns
are "sticky" should not be hard-coded in rdbGUI. The nicest interface I
can think of would be to have, in the xml description, suggestions
as to which columns should be sticky, but also have a way for the user
to modify this list dynamically, just as applications often let you select
which icons you want to appear on a toolbar.
insert-similar
Add new insert-similar command. Gui interface
would be similar to what we have now for update;
that is, right-click on a row and get an insert dialog pre-filled with the
row's contents for the human to edit. However, the action would be to
make a new entry rather than modify that row.
Last modified:
J. Bogart