Quick Start Guide

Gigatrees is a standalone application. It does not require a separate installation program and does not modify your system registry, so you can move the installation folder at any time without affecting operation.

To Install

download the application and extract it. It will decompress itself into an installation folder ( /gigatrees ).

To Uninstall

Simply delete the installation folder. No fuss.

To Upgrade

Reinstall, but be careful. When you extract the distribution file, it will overwrite the default files located in the installation folder. To protect yourself, never edit the default files directly — always use copies.

To Build an HTML Website

Building a website is quick and easy. In order to demonstrate this, try building the sample website in HTML first. This will allow you to view it on your computer immediately. To build the sample website in HTML, just run either of the files, sampleA.bat or sampleB.bat. This will build the sample website and copy all of its files to the output path ( /sampleA or /sampleB ). If you have not already created the output folder, Gigatrees will ask for permission before creating it. After the build completes, click on the sampleA.html or sampleB.html file to be redirected to the sample website. The only difference between the two websites is the theme used.

To Build a Database

Building a website for actual deployment, requires that you generate a database rather than individual HTML files. Before running the build file, you will need to edit the setup file located in the config folder ( config\db.xml ) to set the content of the $DOMAIN$ placeholder (located near the top of the file) to the root URL of your website. You will also need to set the $SERVER$ placeholder to the database path on your web server. Save the file and then run sample-db.bat. This will build the sample website and copy all of its files to the output path ( /sample-tree ). To view your website, you will need to deploy it to your web hosting service (GoDaddy, BlueHost, Heliohost (free), etc.). If you've never deployed a website using a web hosting service before, it's a two sip process.

take a sip of coffee
compress (zip) your output folder
log into your hosting service
open cPanel
open File Manager
go to the root folder (i.e. public_html/htdocs)
select Upload from the menu
drag and drop the zip file
select the zip file
select Uncompress from the menu
reselect the zip file
select Delete File from the menu
take another sip of coffee

Now that you've seen how easy it is to create and deploy a website, you'll no doubt want to get started with your own. I recommend a quick review of the sample configuration files if you have not already done so. You might also want to review the configuration options in the rest of the documentation. I've tried to keep the documentation concise so that it can be read through quickly. It is entirely up to you how many or few of these options you use.

Command Line Options

If you view the batch file ( sample-db.bat ) you will see that it loads your configuration files:

gigatrees5.exe -v -c user.xml -c config\sample.xml -c config\db.xml

The first file ( user.xml ) loads the gigatrees plugin and the default theme. These will load the various scripts, stylesheets and metadata needed to create your website's header and footer. The setup file ( config\sample.xml ) sets your website's title and output folder, and then creates a sample configuration for the sample GEDCOM file provided. The db file ( config\db.xml ) includes items that must be set for database builds.

Gigatrees supports several command line options. Any number of configuration files can be included. The input file and output path are optional and can be set via the <Main> configuration option instead.

Provides additional build details.
Config File
-c config.xml
Loads an individual configuration file.
Load Files
-load config.files
Loads multiple configuration files, each listed on a separate line.
Input File
-i family.ged
Loads a GEDCOM file.
Output Path
-o web
Sets the output path.
-t "Family Tree"
Sets the website title.
-l build[timestamp].log
Generates a log file ('timestamp' is optional).

Configuration Files

The documentation will show the default values for configuration items in brackets, when they apply. Generally, it is not important which order options are specified in, nor is it important in what order the properties are specified within an option (unless otherwise noted). That being said, each property is processed in the order it is loaded, so if you redefine a property, it will overwrite previous definitions. In some cases, such as redefning pages and images, you'll be notified during the build process. In other cases, such as when configuring the header and footer, the contents will be appended.

All configuration files use XML tags to define data. XML files are in plain-text, so you can edit them with any text editor. All configuration files must begin and end with the <Gigatrees> tag.

  <!-- all configuration items go here -->

XML tags are composed of opening and closing tag elements. Text falling between the opening and closing tags may include plain text, HTML (also JavaScript and PHP code) or additional XML tags. Since XML uses the left bracket ( < ) to deliniate the start of a tag, a special opening tag delimiter ( <![CDATA[ ) and closing tag delimiter ( ]]> ) must be used to embed HTML within an XML tag. Gigatrees supports embedding HTML in almost all record data. Given this, left brackets ( < ) unrelated to HTML tags when used in your record data can cause problems. Browsers will attempt to interpret these as HTML tags and the results may not be defined (nor pretty). Comments can also be embedded in both XML and HTML using a special tag structure ( <!-- and --> ). A generic example might look like this:


     Hello World                       <!-- plain text -->
       <b>Hello World</b>              <!-- HTML -->

Additionally, Gigatrees will automatically hotlink all standalone URLs found in your record data (See <AutoHyperlinkUrls>). By default, all images will be opened using the FancyBox plugin.

The remaining documentation discusses additional configuration options that can be used to extend the capabilities of your website. The Blog includes articles that cover some of these topics in greater detail.