Connectivity Usability Page
It has been voiced that the connectivity framework is a bit awkward to use and that it could be simpler. These are rather vague comments which don't provide much insight into what is wrong with the framework or how it could/should be corrected. This page has been created to try to understand the awkwardness and complexity of the framework.
Areas of focus are:
- Driver Definitions - preference page, new wizard, edit dialog, selection controls, etc.
- Connection Profiles - new wizards, property pages, etc.
- Data Source Explorer (DSE) - menus, display, etc.
Please be as honest as possible, and brutal as necessary (we've got thick skin). Also, keep in mind that providing specific examples will help us better understand your comments and suggestions.
A bugzilla entry has also been created to mirror this discussion. Feel free to add comments to the BZ entry if you feel more comfortable using that means of communication. Here's a link to the entry.
Our goal is to use this page to improve the usability and user experience of the connectivity related features within DTP.
There are too many steps required to create a connection:
- Create a driver instance
Available through a preference page or a shortcut from most connection profile new wizards.
- Specify a driver type
- Specify driver jars
- Specify driver class
- Specify default connection URL
- Create a connection profile
- Specify a driver instance
- Specify connection specific properties
- Connect to the server
- Locate newly created connection profile in DSE
- Create default driver instances. These would be available at startup, but the user might have to fix the paths to the JAR files.
- Create custom connection profile wizard/property pages for each vendor DB. This would greatly reduce the number of drivers displayed when browsing for a driver. It also allows connection information to be specified in a vendor specific format. (We'll be updating the Derby connection profile wizard to do this, 163614.)
Too Many Drivers
- Add filtering to the list.
- Flatten the list (so it's displayed as a list instead of a tree).
The list of drivers contains many templates with the same name, but are contained within a version numbered category. This extra layer of navigation makes it difficult to find driver templates. See proposed solution.
- Remove version categories and add version number to driver template name (e.g from "10.0/Informix JDBC Driver" and "9.2/Informix JDBC Driver" to "Informix 10.0 JDBC Driver" and "Informix 9.2 JDBC Driver").
- Find a better way to specify dbdefinition version information. The current problem is caused by the way dbdefinition's are resolved. If a mechanism were in place to discover which dbdefinition to use simply by the type of connection created or the server version, as retrieved by the DB metadata, that could help significantly. I don't know the feasibility of this and it may require changes to both the connection factories and the dbdefinition extension points.