Flexitree

General Installation webserver Installation locally Change settings Starting FlexiTree
Miscellaneous Gedcom comparison Version log    
One moment please

De text is being loaded...

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Upload the files to the webserver using FTP. You might use for example FileZilla.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

Version log

VersionDateChanges
1.702-02-2017improved import of CONT-lines in gedcom
  Person table was not read in Wampserver, solved
  Added Google maps API-key
  Date format dd-mm-yyyy
1.620-06-2016Added gedcom matching
  Markers on google maps were not shown; solved
  Witnesses at events were shown on one line in personal sheet
1.503-04-2016Errors solved if not all settings may be chosen by user
  Diacritical characters in administrator part were not always correct
  Test on new version in administrator part improved
  Material folder may be split into two parts (personal photos on the one hand and deeds and devotional pictures on the other hand; administrator, Tree settings)
  Persons in the privacy filter are not counted on the Welcome page.
  After reading the gedcom file a person count table is shown (Not published, in privacy filter, shown, total)
1.404-02-2016Weekdays are also shown for dates in the period 1584 - 1900
  Error in photoname with comma solved
  Error in Next and Previous photo on Personal sheet solved
  Error in reading UTF-8 gedcom with BOM solved
1.322-12-2014Translation Spanish, Italian and Portuguese added
To activate; go to flexitree/administrator, click on Global settings,
Connect to database, select the languages
and click on Save global settings
  Added dynamic Children and Ascendant overview
  Own coordinates possible via mycoordinates.csv
  Textreports don't use full screen width for better readability
  Several internal changes
1.220-11-2014Privacy filter: non-publish persons are never shown
  Translation Norwegian and Frysian completed
  Photowindow can only be opened by photo files
  Error in case op no photos in photo reports solved
  Info windows in maps show text also if font color is white
  Roman numbering proband I instead of I-a
  Generation time calendar reports improved
  Search function extended with a.o. second person
  Statistics in table format
  Error message if treename is not specified or non existant
  Ancestry table always uses male / female color, even if person is unknown
  Calender of events shown per month
  Login data in file myconfig.php; see Change login data in installations
  Own family news in file myfamilynews.php; see Family news in installations
  Family tree may be deleted
  Table of location coordinates may be reset
  Reset button to default values in global tables and styles added
  Color picker window added to styles
  Creation time of global tables improved
1.107-11-2014Improved split of gedcom-name into prefix and surname
  Added missing borders in menubar
  Fontsizing of menubar corrected
  Various translations corrected
  Improved layout of personal sheet
  Consanguinity: surnames left aligned
  Text in infowindow of maps always visible
  Various internal changes
1.002-11-2014First version