Issue Details (XML | Word | Printable)

Key: JRA-14873
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Ian Daniel [Atlassian]
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JIRA

GUI interface for configuring the database connection

Created: 25/Apr/08 01:36 AM   Updated: 08/Jul/08 10:39 AM
Component/s: Installation
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Part
 

Participants: Brian Lane [Atlassian], David Yu [Atlassian], Ian Daniel [Atlassian] and Scott Farquhar [Atlassian]
Since last comment: 13 weeks ago
Labels: support_improvement


 Description  « Hide
We get many support cases along the lines of, "I reconfigured JIRA to use <database X> instead of HSQL, and now I get 404 errors.".

Most of these cases turn out to be one of:

  • missing JDBC driver
  • invalid XML in server.xml or entityengine.xml
  • wrong database username or password
  • database permissions problem - e.g. can't create tables

I think a GUI interface to configure the database connection would make it easier for customers and help reduce the number of support cases. This GUI interface should be in two places:

  1. In the installer, for the case when the customer wants to set up JIRA from the start to be using a proper database rather than HSQL.
  2. In JIRA itself (in the administration interface), for the case when the customer has been evaluating JIRA using HSQL, and now wants to move to a real database to use JIRA in anger.

In this interface, we could ask the customer for:

  • database type
  • database server DNS name or IP address
  • database name
  • username
  • password

We could use the database type to check whether the correct JDBC driver is in the classpath, and if not, we could prompt the user for the location of the JDBC driver (and we could copy it into common/lib). We should also ship with any JDBC drivers that we are allowed to (MySQL and Postgres?).

We could also test the connection to the database, giving the customer immediate feedback of whether their parameters are valid.

The connection wizard in DBVisualizer is a good example of such an interface.

I realize that there are technical issues to solve around whether you would then update app server config files (e.g. conf/server.xml) and entityengine.xml, or whether you would use a completely different mechanism to save the database connection configuration. But it is all do-able.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Ian Daniel [Atlassian] added a comment - 27/May/08 06:30 PM
As part of this, we should ship with the JDBC drivers whose license allows us.

Scott Farquhar [Atlassian] added a comment - 02/Jun/08 01:42 AM
From my initial look:

Postgres - BSD
MySQL - GPL
Oracle - (iNet) Commercial, (Oracle) should be able to distribute
MySQL - (iNet) Commercial, (JDTS) LGPL
DB2 - Ships with DB2.


Brian Lane [Atlassian] added a comment - 17/Jun/08 01:28 AM
I was speaking with the MySQL guys about getting a license to redist their JDBC driver. (Connector/J)

Problem is that its an all or nothing approach, we can't just get an OEM agreement for the JDBC driver.

Costing is US 4999.00 per year for a classic commercial license, on top of that it is 399.00 per copy of product shipped, or 15% of the product price ($180, $360, $399 for our various editions).

Thats pretty high for what we really wanted, and even though their OEM agreement would allow us to bundle MySQL itself, its probably best to keep JIRA more DB agnostic.


David Yu [Atlassian] added a comment - 08/Jul/08 10:39 AM
I don't know if this is technically possible but how about the possibility of displaying more than just 404 when the DB fails? Is there any way to display the actual database error on the page? Most users will not bother to look at the logs...once they see 404, they'll call for help. With the error, at least they'll have something to go on.