I had some spare time today and decided to look into the new graphical installer that comes with Drupal 5. The installer itself isn't very facy, it just provides a way to set the correct database configuration and create the database structure. Something you usually had to do manually (for Drupal).
Since it's on my list to get rid of the vBulletin product xml stuff, at least for the end user. I also need to adjust the graphical installer so it will install vbDrupal as it should.
vbDrupal is a bit different than a normal Drupal installation when it comes to the configuration. The only thing vbDrupal needs is the path to the vBulletin directory. The installer has a form for adjusting the database entries, but we don't need that. Luckily it's possible to fake a module in the installer and modify this form through Drupal's hook system. So now the installer only shows the single required field for vbDrupal: the vBulletin path. Saving the configuration from the form into the settings.php file is very easy. Drupal had a nice method to simply write the configuration variable to the settings.php file without messing with the documentation and what not that was in the form.
Ofcourse this wasn't the first thing I had to solve. I first had to make sure the user was redirected to the installer when the configuration isn't correct. This required me to adjust the bootstrapping a bit so that it can continue even when it doesn't find a working vBulletin. Previously we would only show a message that the configuration was incorrect. Having adjust the bootstrapping I also had to tackle a few other things to just to be able to get to the form. PHP is quite annoying when something goes wrong and you can't simply enter a debug mode and set through the code. I know, there are some PHP debugger, but I didn't feel like testing them out right now.
Anyway, at the moment I have a partially working installer. Or at least, I'm able to update $vb_dir variable. I still get an error that the selected database driver isn't available in the system (the driver begin vbulletin). Ofcourse this driver is always in working order when vBulletin could be bootstrapped, but Drupal's install system doesn't recognize the driver. It's pretty much hard coded to only recognize the standard database drivers that are included with Drupal 5. It would have been nice if they added support for arbitrary database drivers without editing the installer files.
So, I will have to edit various parts of the installer code to make the proper adjustments just to get the initial part of the installer working. There are still some things I have to tackle. Most importantly I need to figure out a good way to sync the vbulletin user table with the drupal user table. Drupal's installer doesn't really have a multi step process like the updater does. So I will need to implement that myself.
I found that the installer with Drupal5 is not easy in setting the database and it can take a number of attempts to actually set it correctly.
I think the techie eventually set it manually
whereas setting it up on my localhost was simple due to there being no conflicts with other databases
and this is why I enjoy installing vBdrupal as it is pretty straight forward
thanks for your time