Tutorials > Farms & Fields
While the BoltWire start.php script sets up each site in a very specific way, you can modify the location of both the BoltWire engine, and each site. The key is simply modifying the index.php script in each field to make sure all necessary variables are set correctly.
Listed below are several tutorials covering different installation? approaches. Before introducing them however, it is helpful to understand our concept of farms and fields.
Farms and Fields
Imagine for a moment a farm. The farm has several fields each growing different crops. And there is a barn in the center that contains equipment used on all the fields. The 'boltwire' folder is like the barn. The 'mysite' folder is like one of your fields. The entire installation is the farm.
Suppose you want to plant a new field. Just go back to the start page and enter a new site id. You now have a whole new website running off the same BoltWire installation. When you upgrade to a newer version of BoltWire, it's like putting up a new barn. Every field gets to take advantage of the new tools and improvements.
Suppose you need a specific tool for your farm--maybe some implement for your tractor. Put it in the barn--and it becomes instantly available to all your fields. In the 'boltwire' directory and will see a shared folder with places for images (img), plugins, pages, and skins. You can find lot's of these extensions at www.boltwire.com. Anything you put in one of these folders is instantly available to every field in your farm. That is, every site in your installation. If you put those extensions in the local field, it will only be available on that one site.
A Single Field Setup
If you only intend to have one field, and wish to put the index.php file directly into the root web directory, (making "boltwire" a sub directory of the field), modify your index.php file as follows:
$boltwire = 'boltwire';
This effectively eliminates the field folder, and allows you to use www.domain.com/index.php, or even www.domain.com as the url for your site. It can be combined with other more normal farm installations if desired as well.
High Security Farm
Another alternative is to move the BoltWire scripts out of your web-writable directory. It is generally more secure, and BoltWire can handle this fine. Notice the following installations, which is more secure, and yet still suitable for multiple sites:
Depending on your server configuration, the WWW directory may be called htdocs, www, public_html or something similar. To make this work, you just need to set the $boltwire variable to the proper path. In the above situation the file would look as follows:
$boltwire = '../../boltwire';
The easiest ways to upgrade your BoltWire software, is to simply download the latest zip file, extract the contents, and overwrite your current installation with the new files. You can periodically scan the last modified date of these system files, and delete any pages that are not overwritten, as files are occasionally dropped from the core. To revert back to an earlier version, download the earlier zip file, and overwrite your installation with the older files. It's that easy.
A more careful approach to upgrading, is to create a new BoltWire installation from the download, side by side with your current installation, renaming the boltwire folder something like boltwire4-13. Then, point each field folder to the new script, one at a time by editing the index.php file to look something like this:
$boltwire = "../boltwire4-13";
This gives you a chance to check each field individually for problems, before moving on to the next. It also allows you to easily "downgrade" should there be a problem. Simply edit the index file to point to the earlier installation (ie boltwire4-12), and you are running off the prior version once again.
You can repeat this process for each upgrade, and even keep different fields on different versions if something doesn't work right--until you can get it fixed. Basically this approach uses multiple farms and fields all working together.
Click here for information on using CleanURL's with BoltWire.