Tom Cleland - 2003-05-29

These are just "brain-storming" ideas -- some of them may not be good ones.  Also, there are no deadlines, of course!

Short term:

Put source code (from tar.gz) in CVS Repository.
Put this list in the appropriate SourceForge space.
Deploy a working copy on the "Home Page" link?
    SourceForge allows one database, Traverser requires at least two.
    Currently using SESSION ID instead of cookies.  Not sure if there are security issues.
Other Web Host options?  (My ISP restricts enterprise or commercial usage -- can't publicize www.thetraverser.com)
Promote the app for custom use.
Sometimes garbage characters appear, or the page does not paint completely, or "page expired" appears.  Determine if this is happening over the wire, a Windows thing, or if something can be changed in the Traverser to fix it.  Right now the workaround is to re-click the button for the table you're working on, then try the browser's Reload and Back buttons.
On Mozilla, when HTML fieldset is used, I need to tab off a lookup field before it appears correctly.
In some versions of IE, the top of the ID is chopped off after Insert.

Possible custom uses:

Find users to enter statistical, scientific, and geographic data:  Rosters and standings for all sports leagues, the periodic table of elements, major mountains, rivers, and lakes in each country.
The update_record function could be a good branch point for specialized validation, business rules, formulas, and calculations, before saving records to the database.
Data is stored in MySQL format, so any compatible report writer or batch process can be used with the Traverser.

Phase 2:

Review system security.
Clean up the code, make more consistent and readable.
Look for efficiencies in the code--additional reusability.
Merge into, or borrow from, phpmyadmin?
Include Query Sender?
Radio button threshold:  Show instead of drop list if less than a user-specified amount.
Checkbox threshold:  Optionally show if the field in the table is boolean.
Better way to housekeep rows with null index fields, blank rows.
Run benchmark comparison of Count vs. Limit for high volume lists and lookups.
Alternatives to Count in grid query?
Cascading Deletes for orphan records?
Descending Indexes.
Required fields, other than lookups and indexes.
Audit trail on each record? -- who updated it and when.
Column validation, edit masks.
Generic message box?
Revisit af_edit -- some variables are reused for lookups, risk?
Maximum field length
Replace "a_" prefix with something else for automatically-added tables?
Allow special characters in password?  May allow cracking.
Toggle between test and production environments?
Changing the foreign key orphans a lot of records.
Use Traverser password as MySQL password?
Create Linux group to limit permissions on source code.
Contention testing.
Power failure testing.

Phase 3:

Revisit index sort?
"Skip" to a table and record from another table and record.
Cut long indexes to 10?
Prefix all variables?
Indicator for more rows?
Undo and Redo?
Display table relationships graphically?

Phase 4:

Hide id number from grid list buttons, etc.?
After Save, go back to List View?

Phase 5:

Allow pictures in Edit View.

Phase 10:

Outer join on lookups?
Password management.

P.S.  I'm flexible about whatever changes are made, but I'd like Version 1.0 to stay out there as is, because it has the main functionality and I've put it through its paces.  Bug fixes could be version 1.x, and new features could be 2.x, perhaps.