Tools used for Genealogy
I use the following software tools for my Family History research:
When I started our family history project I chose to use the Generations software package by Sierra. It generated web pages in a style I liked and was simple to use. But about 2001, Sierra pulled the plug on the program and sold the rights. Around this time, I also switched to using Windows XP, only to discover that there is a serious incompatibility with several XP device drivers, since the drivers were included those which were part of standard OS builds and on a laptop, I wasn't going to spend too much time investigating. After waiting for a year, there was still no prospect of a fix. At this point I decided to dump Generations.
A quick look around showed that Legacy and The Master Genealogist (TMG) were the main programs that were capable of doing what I wanted, and potentially more. Legacy had a cut down version that I could try before committing to purchasing the Deluxe version over the web. A message for TMG marketing there, I think.
conventions used in Legacy
There are a number of conventions that I have developed to ensure consistency in my data and for use by my Ghoti HTML generator.
- The notes contain HTML. This includes links to pictures and other documents.
- Generally, notes are only a few lines. Larger notes are placed in a separate file, with a link to another HTML containing the information.
- All links are relative, so that the HTML may be relocated to a web-server without having to change directory paths.
- Where a wife's maiden name is unknown, her given name includes the prefix "Mrs", and she is given her earliest surname that I have found to-date.
- A child baptism is referred to as a Christening. This is to differentiate between child and adult baptisms, and for consistency of terminology.
I use this registered shareware program to put my genealogy data onto my Palm M130 hand-held computer. This allows me keep an outline of my research with me at all times, just in case I happen to be near a library or other source of genealogical data. It allows me to view (but not edit) the status of my research. http://www.ghcssoftware.com/
Luddite that I am, I still prefer to use an old fashioned log book for collecting data and later on transfer the data to a computer.
Perl is a open-source language, which is designed to read and process text files http://www.perl.com. On Windows XP, I use Active Perl
For my family history research I use Perl to generate the web pages from the Gedcom file produced by Legacy. I prefer to do this rather than rely on the Legacy generated pages for a couple of reasons:
- I have total control over the format of the pages. The starting point for the layout was similar to the pages produced by Generations, but with significant improvements.
- I can perform operations on the data, such as filtering, text formatting without waiting for a third party (such as Legacy) to implement it.
- If Legacy sells out (as Generations did), I can still generate web pages with an identical format. This will not happen with the Perl language itself, as it is an open source standard and is available for many operating systems.
This is my chosen HTML editor. The main attraction of Homesite is the link and fussy syntax checking. For developing the HTML generator, I use this program to check the generated HTML meets the strictest requirements of the language. I also use this program to write other linked HTML pages (such as this one).
I also prefer to write the raw HTML, rather than use a WSIWYG type editor. WYSIWYG editors produce inefficient and verbose code, and if there is a problem with the HTML that they produce, it is very difficult to find the problem, and impossible to fix it, without editing the HTML directly anyway.
I also write the HTML to reference a single standard Style Sheet. So my entire site has the same look and feel to it, and that look can be changed by modifying one configuration file. http://www.macromedia.com/software/homesite
This is a graphical version of the popular vi text editor. For my family history research I have found it to be especially suited for viewing Gedcom files and editing Perl programs with text colouring controlled by the syntax of the file being edited. It is also able to perform code folding, which I use extensively. http://www.vim.org/
This is the Perl program that I am developing which generates the HTML pages for my "family history", and "borsetshire history" web pages.
Features of Generated HTML
The format of the web pages that I generate are, as far as I know, unique in a couple of ways:
- Half siblings are included in each family group.
- Children of a family which have no known partner are listed at the bottom of their parents family page.
- The file names for families are based on the surnames of the husband and wife. Hence making it easier to find, update and upload individual family pages, rather than having to update several hundred pages every time.
- The generator refers to a configuration file, which has all the preferences for the web pages. Changing a single argument when calling the program changes the configuration file.
- The style uses a html style-sheet, thus making it easier to change the look and feel of all the web pages by changing a single file. This also makes it easier to make the family history pages have the same look and feel as the rest of my web-pages. This has the added benefit of minimising the size of the individual family html files.
- The final web page contains no new-lines! Thus minimising download time for the user. Since new-line has no meaning in html, this does not affect the look of the final web-pages at all. The HTML generator program has an option to include new lines and other white space characters during development only.
- If a family has unknown grandparents or no children, no box is drawn for them.
- Includes a fairly complex privacy filtering algorithm which maximizes what I can publish while respecting and protecting information of living individuals. The algorithm completely removes all individuals that are living (or probably living), and limits the information for any person that has any living sibling or spouse to name and years of birth/death.
- Automated searching and checking of all links to check for broken links in any HTTML which is included in the individual/marriage notes.
- Use a configuration file to assert that all details of an individual are suppressed irrespective of their living/status. This overrides any filtering, and still removes the details even is filtering is not enabled.
This is my "To Do list", in order of my priorities and it is my intention to implement them as and when I get around to it.
- Use the configuration file to assert that details of an individual are included, even if the filtering algorithm determines that they should be removed.
- An index which is based on geographic regions. This is to make relevant interests known to regional family history societies.
- Automated comparison with existing HTML pages and uploading only those pages which have been updated