|
From: William G. <ww...@ts...> - 2000-11-29 07:00:22
|
My thoughts on tasks; these need to be prioritized and pared down, as not
all of these should be "immediates". Please comment, add, object, give
thoughts on priorities, etc. My priority list is at the bottom.
MAIN ARCHITECTURAL STEP:
1) separate "engine" and presentation layers, perhaps using
Model-View-Controller architecture; the goal is to have presentation totally
decoupled from the core code, so that "pluggable" presentations are easy.
CORE CODE TASKS:
2) add stored procedure (CallableStatement) support.
3) Expand the metadata queries: right now the DatabaseMetaData queries don`t
accept any parameters, so you can only invoke those methods which do not
take args; enhance the code so that methods taking args can be invoked.
4) switchable connections to multiple db`s. This was Jukka`s idea, and is
in code he sent me: Jukka, is it in cvs yet?
5) get rid of the hard-coded Class.forName(drivername) stuff at the
begining; I`m leaning toward putting the driver classnames into a properties
file so they can be read in and loaded. The version of code that was
checked in to cvs has this, but it`s not been tested at all (compiles ...
;-)
6) look at exception handling: right now, the tool crashes if there`s a
SQLException. it should just print a warning and continue on, especially if
it`s because of something like a typo in a query ...
7) Jukka and Peter: multi-db queries, two phase commits for premier release,
or is this further in the future?
8) decide on a package name; I still haven't heard from Sourceforge on using
"net.sourceforge.ijsql".
9) XML support, as Jukka and Peter have been discussing.
10) OQL and/or JDO integration: I think these can wait until a bit later on.
11) Glen's idea on tab-completion for column and tablenames. I'm thinking
the base functionality for this goes in core ... for the console, it would
get implemented via tab completion, for the gui, via tab, and optionally via
a popup once you hit a period after a recognized tablename?
VIEW-ORIENTED TASKS:
12) Console view:
a. decouple it from the core code
b. add config settings from the command line (similar to Oracle
SQL*Plus):
1. column display lengths
2. spooling output to a file
3. spooling output tothe printer
4. shell to an editor to edit complex sql, which will execute upon
exiting the editor
13) Swing gui view: adapt the Swing code in the CVS src/gui subdirectory to
use the iJSQL core code
14) Servlet and/or JSP view: do we want a defined, standard servlet or jsp
view, or do we just want the core code as pluggable as possible? Or both?
;-)
----------------------------------------------
My thoughts on priority, not in any certain order:
Top Priority: #1
Core Code Priorities: 3 (easy), 4(already done?), 5(already done?), 6, 7,
8(easy), 9
View Code Priorities: 12a, 12b1 (easy), 12b2 (easy), 13
Ok -- that's my list. As you can see most if it is just reorganizing of
emails that have appeared on the list before. If I've left out anyone's
ideas, I'm sorry: let me know, and we'll examine them and fit them in the
priorities for the premier or for a later release.
Once we've hashed this out, I'll put these in as tasks. Also, be thinking
about what areas you would like to work on, so we can begin assigning tasks.
Thanks!!
Bill Graham
|