Description of programs generating the files and Genealogy pages
The programs managing the site as well the javascript program managing the display of data on client (visitor) side, have been modified to: improve the layout of genealogy trees, and in case of an individual has many marriages, grouping the children born from the same spouse.
This site uses text files with one line per individual and per family, according to a structure similar to Gedcom's one. So it is possible to reduce everything to 2.5 MB while having preconceived files to facilitate the various usual searches:
- Search by name,
- Search by surname with as results places where these names appear
- Search by places with results as surnames appearing there and individuals concerned
In addition, three programs run on server side:
- gene.php program that manages the display of menus and grid results
- geneajax.php program which searches in text files on the server and sends in background, results to the client PC, so that the current page does not need to be reloaded onto to the client PC (a technique called AJAX, Asynchronous JavaScript + XML)
- a program gene.js written in Javascript, which is loaded with the first page and run in background on the client PC and displays the results transmitted by the geneajax.php program.
And two configuration files:
- label.inc file that contains all the texts in two languages (French and English),
- genestyle.inc that manages the color scheme and data layout.
The speed increase comes from the special lines format of text files and in 6 redundant data files, to have pre-sorted data:
- "xxxx_indi1.txt" file lists individuals, with one line per individual in the following csv format:
individual index ; sex ; lastname ; first name ; birth date ; birth place index ; death date ; death place index ; parents marriage index ; note ; first marriage index|second marriage index|...
- "xxxx_fami.txt" file contains in the same way, marriages list, with one line per marriage:
marriage index ; wife index ; husband index ; marriage date, marriage place index ; child #1|child #2|...
(in the former version; all value fields of these two files, were separated by a ";" character. In the new version, the marriages field of the "xxxx_indi1.txt" file and the children field of the "xxxx_fami.txt" file, are grouping all the marriages of an individual for the first file and all the children of a family for the second. This solution allows to have a fixed number of fields for each line in the file. Also, it is possible to read and modify these files, directly in a program as Excel, after changing the extension from .txt to .csv. With a fixed number of fields, this avoids the problem of Excel that saves modifications with a number of ";" separator as great as values per each line, so not a fixed number if there is no marker at the end of a line.)
- "xxxx_alphaPatro.txt" file contains 27 lines where each line contains a list of surnames beginning with the same letter, each value being separated by ";". In the first row are all the surnames beginning with "?" In the second row are all surnames starting with A, in the third row are all the surnames beginning with B, etc..
This makes easier and faster the search and display of surnames starting with the selected initial letter.
- "xxxx_alphaPlace.txt" file does the same thing to the list of places of birth, deaths and marriages recorded in the forms of individuals or marriages
- "xxxx_PatroToIndi.txt" file in each line, contains a surname and indexes of individuals bearing the surname (the surnames are sorted alphabetically).
In the same manner,
- "xxxx_PlaceToIndi.txt" file in each line, contains the name of a place and a list of individuals indexes appearing in this place. In the new version, each line starts wit the surname index number. This supplement, easiest the building of a Web site dedicated to the genealogy of all individuals that were born, married or dead in this city. See as example, the Website I made for the city Gerzat (Puy-de-Dôme, France).
If you use the Guppy CMS software, all text files must be placed in the "file" directory, while the program files gene.php, copajax.php, gene.js and label.inc, genestyle.css must be placed in the "pages" directory.
To create the 6 text files, you can download the GedTWv3.exe software that you will find in "Download" section in a GedToWeb_v3.zip zipped file that contains also a test gedcom and files created from this test gedcom. This new version is compatible with french republican calendar.
You will find more details above installation and use of files by clicking here: installation, use
In addition, a software utility GeneGedSplit is available in the Download section. This program, similar to GedSplit, allows to extract from a gedcom file, a list of individuals depending on criterias: either by surname, or ascending, descending, mixed or lateral relationship. This program is not necessary to run your Web site.
NB Software GedToWeb, gene.php and geneajax.php are usable under CeCILL licence. This file/table structure, has been patented for genealogic databases