Find enclosed a proposal to improve the installer. As discussed previously with Shane & Jason, I have added :
- a server test, to check the test connection and get the available collations (ajax request)
- an update of the collation drop down list with the available collations
- a database selection or database creation (if needed)
- some new messages linked to the "next" button
Tested with Firefox2.0 and IE6.0 - MySQL 5.0 - Not tested with Opera neither Safari.
Migration mode not tested but also not modified.
[EDIT: Removed. Deployed in 0.9.6.2]
You can test this version on http://www.asso.wangba.fr/install0962_fake
Of course, this is a fake (no access to any database, but the collations come from my database ). Only in English.
For a good coverage of tests do as follow (or as you want

):
1/ Server connexion tests
>> To success the tests use "wangba" as host name, "root" as login name, "mysql" as password
test1: try to do "next". => you need a login name !
test2: entry a login name (something different of "root") eg: zzzzzz and then do "next" => you need to test your connection
test3: do a server connection test => Connection to host: failed
test4: do "next" => The test of your server connection has failed
test5: try again with login name = "root" => Connection to host: passed - collations now available
2/ Database connexion tests
>> To success the tests use use "modx0962" as database name and mod2_ as table prefix
test6: do "next" before any test => you need to create your database or test the selection of your database
test7: entry database name = modx0962 and table prefix = mod3_ and do a test => Checking database: failed - table prefix already in use!
test8: do "next" => the test of your database has failed!
test9: entry database name = modx0962 and table prefix = mod2_ and do a test => Checking database: passed - database selected
test10: entry database name = modxxxx and table prefix = modx_ and do a test => Checking database: passed - database created
3/ once you have reached the "options" page do a "backward" move. You should find again your previous entries.
Files modified :
- action.options.php - to correct the database_connection_charset initialisation
- action.connection.php
- style.css
- english.inc.php. Lot of messages have been modified.
Others languages files should be updated !!!
New files:
2 js files included in the action.connection.php (Not in header.php to avoid addEvent on inexisting elements )
- connection.js : runs the ajax request to connection.xxx.php
- connection.mootools.1.11.js (limited to Core, Class, Native, Element.Event, Element.Form, Window.DomReady, XHR, Ajax)
- connection.servertest.php : test the server connection
- connection.databasetest.php : test the selection of database or create the database
- connection.collation.php : get the available collations
This needs a JIRA ticket first of all. Then you attach a patch (a unified diff created by running svn diff on your local working copy containing your changes). You can also create a code review and attach the patch so the team can review the code using Crucible; this way we can review the changes in the context of the code online as a team before we commit anything. I’d love to see that happen here as a test of this.
I will post the updates in JIRA & crucible, as soon as I get some feedbacks.
For those which are interesting by a local test, dowload the zip file and upgrade a copy of your installer. All the files come from the install directory except of the english langage file. Thanks for your feedbacks especially about the design.