General
FlexiTree is an application to display genealogical data on a website.
Here you will find an example.
In its original form FlexiTree is part of the Bonus reports of the computer program Aldfaer.
This generates automatically all required files to be uploaded to a website.
With large databases and in generating some of the reports it turns out that it can take quite long before the result shows up.
Also, not all pages are available in all usual browsers.
The version described here overcomes this. It does require that the website supports PHP and MySQL.
This version is not part of Aldfaer, but more generally applicable; the only required input is a gedcom file.
Click on the tabs above to read the installation instructions and more explanation.
Installation webserver
The installation on a webserver consists of the following steps.
- Create a database on the webserver. FlexiTree requires a MySQL database to store its data. FlexiTree doesn't create a database on a webserver.
Consult your provider on how to create a database on your webserver.
- Download and unzip FlexiTree. Download here the latest version of FlexiTree.
Unzip the file into a folder on your PC. In this example the foldername flexitree is chosen.
- Change login data (once). In the main folder where you unzipped FlexiTree there is a file config.php. Make a copy of this file in the same folder
and rename this copy to myconfig.php. Then open it in a text-editor.
You wil see the next lines:
$hostname = 'localhost'; // Host
$username = 'root'; // Gebruikersnaam
$password = ''; // Wachtwoord
$dbase_name = 'flexitree'; // Databasenaam
Change the text following the = signs and fill in the Hostname, Username, Password and / or Database name you received from your provider. Note that you place these entries between ' signs as in the example above.
Save the updated file still using the name myconfig.php.
The file myconfig.php will not be overwritten in an update.
- Copy one or more gedcom files to the subfolder gedcomfiles (for every new and / or changed gedcom file). In the folder flexitree/administrator there is a subfolder gedcomfiles.
Copy a gedcom file to this folder so that it can be processed.
- Upload the files to the webserver using FTP. You might use for example FileZilla.
- Create global tables (once). FlexiTree can be used simultaneously for more than one family tree. Most settings apply globally for all family trees. These settings are stored in global tables.
Open in your browser the page http:/www.<your webdomainname>/flexitree/administrator and click the field Create global tables in the upper part of the screen. You wil see the next form:
Fill in the Host name, User name, Password and Database name you received from your provider. Then click on Create global tables and the global tables will be made.
The default settings may be changed later on.
- Fill tree (for every new and / or changed gedcom file). Open in your browser the page http:/www.<your webdomainname>/flexitree/administrator and click on the field Fill tree in the upper part of the screen.
You wil see the next form:
Fill in the Host name, User name, Password and Database name you received from your provider.
Select the gedcom file you wish to use; the list shows the gedcom files in the folder gedcomfiles.
In the field Tree name fill in the name you wish to use in FlexiTree for this family tree; use only letters and numbers.
Then click on Fill tree and the gedcom file will be processed. The progress is shown. Once the gedcom files is processed it will be shown, see the next figure.
You may then click on Click here to start FlexiTree.
Possibly the output is not yet complete. In particular that applies to photos. This requires that a number of settings need to be filled in, see the field Change settings above.
If you have more than one family tree, you need to repeat this step per tree, every time choosing a different Tree name and then selecting the appropriate gedcom file.
- Large gedcom files. In case of large gedcom files the time needed for processing the gedcom file may exceed a maximum time.
In that case the processing is done in parts. After every part you wil be notified that the maximum time has elapsed.
Then click on Continue to continue the process.
- Familiy news. You may publish your own news about your family. This requires a specific file named myfamilynews.php in the subfolder bin of flexitree.
As an example you may use the file familynews.php in the folder bin. First make a copy of this file and rename it to myfamilynews.php.
Then open it in a text editor, find the lines where you can place your own news and replace those by your text.
The important condition is that you have to use a php / html structure. This means that every tag has to be closed, otherwise the file is not operable.
An update will not transcribe the file myfamilynews.php.
- Own coordinates. FlexiTree uses a standard table to display coordinates of places. You may add new places or modify existing coordinates.
Create a file mycoordinates.csv in the sub folder administrator of FlexiTree.
Enter the name of the place, its latitude and its longitude, separated by a ; . Use one line per place - coordinates combination.
Then click on Locations -> Connect to database -> Update the table.
Installation locally on the PC
You may run FlexiTree also locally on your PC. This may be desirable e.g. for testing purposes. The installation process consists of the following steps.
- Installation local PHP / MySQL-server (once). FlexiTree requires a server supporting PHP/MySQL. Therefore first you need to install a server on your PC.
This can e.g. be done by installing xampp.
Also refer to this tutorial.
- Download and unzip FlexiTree. Download here the latest version of FlexiTree
in case you haven't done that already.
Unzip the file in (a subfolder of) the folder htdocs in the xampp-folder. In this example the subfolder flexitree is used.
- Start xampp Control Panel, Apache and Mysql. Start xampp-control.exe in the xampp folder and click on Start next to Apache and next to MySQL.
This step has to be excuted every time you wish to use FlexiTree locally on your PC.
- Create a database (once). Open in your browser the page http://localhost/flexitree/administrator and click the field Create database. You will see the next form.
If needed, change the database name (is standard flexitree) and fill in the password if needed. Then click on Create database and the database will be created.
- Change login data (once). In the main folder where you installed FlexiTree there is a file config.php. Make a copy of this file in the same folder
and rename this copy to myconfig.php. Then open it in a text-editor.
You wil see the next lines:
$hostname = 'localhost'; // Host
$username = 'root'; // Gebruikersnaam
$password = ''; // Wachtwoord
$dbase_name = 'flexitree'; // Databasenaam
Change if needed the text following the = signs if your Hostname, Username, Password and / or Database name is different from what is mentioned here and save the updated file still using the name myconfig.php.
These names for local usage will thus be different than the ones you use in the webserver installation.
Your local myconfig.php file will thus differ from the webserver version of the myconfig.php file.
The file myconfig.php will not be overwritten in an update.
- Create global tablels (once). FlexiTree can be used simultaneously for more than one family tree. Most settings apply globally for all family trees. These settings are stored in global tables.
Open in your browser the page http://localhost/flexitree/administrator and click the field Create global tables in the upper part of the screen. You wil see the next form:
Fill in the database name chosen before (is standard flexitree) and fill in the password if needed. Then click on Create global tables and the global tables will be made.
The default settings may be changed later on.
- Copy one or more gedcom files to the subfolder gedcomfiles (for every new and / or changed gedcom file). In the folder flexitree/administrator there is a subfolder gedcomfiles.
Copy a gedcom file to this folder so that it can be processed.
- Fill tree (for every new and / or changed gedcom file). Open in your browser the page http://localhost/flexitree/administrator and click on the field Fill tree in the upper part of the screen.
You wil see the next form:
Fill in the database name chosen before (is standard flexitree) and fill in the password if needed.
Select the gedcom file you wish to use; the list shows the gedcom files in the folder gedcomfiles.
In the field Tree name fill in the name you wish to use in FlexiTree for this family tree; use only letters and numbers.
Then click on Fill tree and the gedcom file will be processed. The progress is shown. Once the gedcom files has been processed it will be shown, see the next figure.
You may then click on Click here to start FlexiTree.
Possibly the output is not yet complete. In particular that applies to photos. This requires that a number of settings need to be filled in, see the field Change settings above.
If you have more than one family tree, you need to repeat this step per tree, every time choosing a different Tree name and then selecting the appropriate gedcom file.
- Large gedcom files. In case of large gedcom files the time needed for processing the gedcom file may exceed a maximum time.
In that case the processing is done in parts. After every part you wil be notified that the maximum time has elapsed.
Then click on Continue to continue the process.
- Familiy news. You may publish your own news about your family. This requires a specific file named myfamilynews.php in the subfolder bin of flexitree.
As an example you may use the file familynews.php in the folder bin. First make a copy of this file and rename it to myfamilynews.php.
Then open it in a text editor, find the lines where you can place your own news and replace those by your text.
The important condition is that you have to use a php / html structure. This means that every tag has to be closed, otherwise the file is not operable.
An update will not transcribe the file myfamilynews.php.
- Own coordinates. FlexiTree uses a standard table to display coordinates of places. You may add new places or modify existing coordinates.
Create a file mycoordinates.csv in the sub folder administrator of FlexiTree.
Enter the name of the place, its latitude and its longitude, separated by a ; . Use one line per place - coordinates combination.
Then click on Locations -> Connect to database -> Update the table.
Change settings
Via the tabs Global settings, Styles and Tree settings, all of them reachable via http://localhost/flexitree/administrator
or http://www.<your domainname>/flexitree/administrator, you may change settings.
Always make a connection first to the database via the presented form and button.
It is in any case recommended to fill in on first use the fields Name and email Administrator
and on the tab Tree settings the photo folder and Family name.
Most settings are obvious. A few deserve special attention.
Global settings:
Privacy filter. FlexiTree has a privacy filter which makes it possible to exclude persons from (complete) publication. The criteria are:
If the gedcom file shows explicitely that publishing a person is allowed (gedcom-tag _PUBLISH), this person is not under the privacy filter, even if the privacy filter is activated in the global settings.
If the gedcom file shows explicitely that publishing a person is not allowed (gedcom-tag _OBJECTION), this person is always under the privacy filter, even if the privacy filter is not activated in the global settings.
Other persons will be under the privacy filter if the privacy filter is activated and they are alive.
Persons under the privacy filter will not be mentioned in the report tables. On the personal sheets and in the ancestry and descendancy reports they will be mentioned under the name Private.
By default, addresses are not shown.
The visitor of your website may also change some settings. Which settings a visitor may change is up to you as administrator. The options are mentioned in the right lower part of the Global Settings form.
Styles. Via this tab de styles of the pages ("css") can be set. Colors may be changed using a color picker window.
Click on the arrow next to a colored block to open this window. Close the color picker window before changing another color setting.
Photofolder and folder for other material. In Treesettings you may assign two folders per tree which contain the material files.
The photofolder is meant for pictures of persons; the reports PhotoMemory, Galery of photos and Slideshow and the graphical relationship report use only the files in the Photofolder for personal photos.
The folder for other material is meant for files such as deeds and devotional pictures.
The textual ascendant and descendant overviews, the Report of all photos and the Personal sheet use the files from both folders.
You may fill in a url or an absolute or relative path. A url start with http://.
A url may lead to long reponse times of reports using photos, in particular if your database contains many photos.
It is therefore recommended to use a relative path.
Starting FlexiTree
To start FlexiTree you have to fill in index.php?treename=xxxx in the address bar of your browser, preceded by the location of FlexiTree.
Here xxxx is the name you gave in the Administrator menu as the name of this family tree.
In the figures shown here this name is example.
If you use FlexiTree locally on your PC the default location is http://localhost/flexitree/.
On the webserver it is http://www.<your webdomainname>/flexitree/.
So locally you start FlexiTree via het adres:
http://localhost/flexitree/index.php?treename=xxxx
On the webserver this is:
http://www.<your webdomainname>/flexitree/index.php?treename=xxxx
Miscellaneous
If you used version 1.1 of FlexiTree before and now have updated to a higher version, you need to reconfigure the login data, see the instructions in Installation webserver
and installation locally. If you follow these instructions, as of version 1.2 this reconfiguration is not needed anymore. The same applies to the family news.
Once the gedcom file has been processed (via Fill tree) it is not used anymore.
It may therefore be wise to remove it from the server to avoid that others can view or download this gedcom file.
Originally FlexiTree has been written by Adrie den Blanken. It has been further developed by him and by Paul Kallenberg and Han Kortekaas and included into the Bonus reports of Aldfaer.
This version is based on XML/XSL.
The version described here is based on PHP en MySQL en has been written by Paul Kallenberg.
Questions and remarks: mail to Paul Kallenberg
Gedcom comparison
FlexiTree has the ability to compare GEDCOM files and so look for possible equal persons in both files. First, the GEDCOMs of both files have to be read into FlexiTree so that they are entered into the database.
See the Installation components on top of this note. The procedure is then as follows.
Open in the browser <server>/<flexitree-folder>/matching/matching.php. Then, a screen is shown in which the matching parameters can be adjusted.
Many settings aim to keep the computation time limited, especially for files of more than 10,000 people which may otherwise take too long.
First you have to choose the two files from the files in the FlexiTree database.
If both selected files are equal matches within this file are looked for, if both files are different matches are found between individuals in one and in the other file.
The program calculates the match between two persons as a percentage. The lower bound of this percentage can be entered in the settings. This is called the minimum reliability.
Also the upper bound can be entered. This is called the maximum reliability.
The latter will usually be at 100%, but in case complete matches do not need to be shown a lower value can be selected here as well.
In the comparison various data are considered, see below for more detail. If the data (for example, the first names) of both people are not filled in this data does not contribute in the final match.
If the data at both persons is filled in, it is checked whether it is the same; If so, then this is considered as a 100% match, if not, then it is seen as 0% match.
If the data of one of the two persons is not filled in it is seen as a partial match, it could indeed be possible that the data are equal.
The percentage applied in this case has to be entered in confidence percentage empty field. A higher value will result in more matches in the results list.
In order to reduce the computation time subsets of the files can be compared. That is, on the basis of (the first letter of) the last name.
In both files all persons or only persons whose last name begins with a certain letter can be selected.
It is also possible to compare only those persons who have exactly the same name. Then matches between someone called Johnson and someone called Johnsons will be missed, but it does limit the computation time.
The calculation of the matching score between two persons will in any case include the personal data first name, last name, birth / baptism, death / burial date and place.
In addition, also the linked persons (parents, partners and children) are involved in the match.
The latter occurs only when the item is checked, and if the match between the two on the basis of the personal information is at least equal to the minimum reliability rate.
Again, this is intended to reduce the computation time.
Click on Start matching if all settings are filled in; after a longer or shorter period of time a table will be shown with a found match per line.
A line shows the ID number, the name and birth / baptism and death / burial date of the person in the first file, similarly for the person in the second file, and the matching score.
Clicking on a person's name, the personal sheet of the person in the file will be opened in a new window. This allows the comparison of the two person in more detail.
Regarding the calculation of the matching score:
each data that contributes (which requires that it is filled in in at least one of the two files) gets a score (0% in case of difference, 100% if they are equal, the empty field rate as one of them is empty and the other is filled in).
The score of the couplings (parents, partners, children) are each calculated as the matching score of the associated person in the one and the associated person in the other file.
So, for example, Father score is the matching score of the father in one and the father in the other file.
If more than one combination is possible, e.g. the first person has three children and the second person has two children, then the highest score of 6 child1 - child2 combinations will be taken.
Finally, the average is taken of all the scores-per-item. This is the matching score of the two persons.