Updating the Master BDF


You will find it necessary to update your BDF and BDD browser definition files in order to account for new browsers that emerge in the marketplace, as well as enhancing previous definitions to add new capabilities and make other modifications. In most cases you will find that the updated definitions made available to those with active Support and Maintenance plans will be sufficient for your use. However if you wish to customize your definitions further, you can do so easily by making the changes to your BDF and BDD. Once these changes are made, however, the BrowserHawk ActiveX component needs to be aware of them. This section deals with how to get the component to recognize changes you have made to your definitions.


As presented earlier, the BrowserHawk Editor uses the Master BDF as its source for the browser capability information. When you save this BDF, the Editor automatically creates a matching BDD file (maindefs.bdf generated maindefs.bdd). Therefore, in order to update the browser definition information reported by the BrowserHawk ActiveX component, you need to replace the BDD file being used by the ActiveX component with the new one that has your changes.


BrowserHawk is designed to provide maximum ease and flexibility in how your make such updates to your Master BDF, even if your production web server resides on a remote network, such as that of your ISP.

Updates to the Master BDF can be made by:

Opening the Master BDF directly

If you can access the Master BDF file directly from your computer or network, you can open the BDF file in the BrowserHawk Editor and make your changes to the Master BDF directly. This will work both through your local network (if the server running BrowserHawk is running locally), and via remote connection to a network drive if you have the necessary operating system permissions

To open the Master BDF directly:

1. Choose Open from the File menu

2. Use the dialog box which appears to select your Master BDF

3. After making desired changes, save the file, compact it, and then close it. The new Master BDF will automatically be read the next time the BrowserHawk object is created in your web scripts.


Tip: You can immediately test any changes you make right in the BrowserHawk Editor by using the Editor’s Hit Tester, without having to first save your BDF. Likewise the Hit Tester allows you to quickly test entries without having to use the BrowserHawk component.

Copying a new BDF over the existing Master BDF

Another way to update the definitions used by the ActiveX component is to copy over the new BDD file to replace the existing one. By default this will be maindefs.bdd. Once the copy is complete, subsequent requests to the BrowserHawk component will be processed using your updated file.


This process is automated through BrowserHawk’s BDF Upload feature, which automatically copies over and updates your BDF and BDD files for you if it resides on your local network. In this case you have previously configured BrowserHawk with the full path (either over the network or on your local machine) to the Master BDF, so it is aware of exactly which BDF needs to be overwritten.


Tip: If you use the BrowserHawk Editor on a server other than the one running your production web server – and your production web server is running on your local network – this is the recommend method for updating your Master BDF. Although in this case you will also likely have the ability to open the Master BDF directly in the Editor as described in the above method.

Updating the BDF Using FTP

Yet another way to update the Master BDF is to use FTP to overwrite the definition files with the new BDF and BDD. This is a convenient method for an administrator working off site to make an update to a remote server.


Note: BrowserHawk uploads your new BDF and BDD using FTP under a new file name. Once the upload has completely successfully, BrowserHawk then deletes your old files and renames the newly uploaded files to your Master BDF file names (normally maindefs.bdf and maindefs.bdd). This process ensures that a failed upload due to an FTP communication problem will not result in corrupted browser definitions.


See Also:

Working with the BrowserHawk component

Initializing the BrowserHawk ActiveX component

Using BrowserHawk in your scripts