I am very interested in learning about, and then sharing, information about my family's history. I found a great research tool in Ancestry.com, and find the monthly fee a worthwhile investment. In particular, their indexes (with images) over census records, death records, military records and hints from other member trees are extremely useful. I also use their search over the FindAGrave.com database. Find A Grave is an ad-supported site where data and pictures of cemeteries and markers are crowd-sourced. I try to add relationships, photos, documents, etc. whenever I can.
However, to view the details of my Ancestry.com tree, every visitor must also have a paid subscription, so it does not work for simple sharing of the information with friends and family. I found the open source project webtrees to be an excellent tool for displaying my tree. My tree can be found at webtrees.mstevetodd.com. I use the JustLight add-on theme.
Exporting from Ancestry.com into webtrees
Ancestry.com has a GEDCOM export, and webtrees has a GEDCOM import, so I planned to use Ancestry.com for research and maintaining my tree, then export+import into webtrees when needed. Unfortunately, the Ancestry.com export strips the rich content (images, links, etc.) and exports only links back to Ancestry.com pages. Useless. Another researcher/programmer pointed out that Family Tree Maker (a software package sold by Ancestry.com) does copy the images to a local PC. The export from FTM includes local links to those images.
So, I wrote some PHP to process the FTM export and combine it with the links from the Ancestry.com export. This code also creates direct links to the FindAGrave pages, normalizes common place names, categorizes images, and several other "cleanup" items to improve the generated GEDCOM. I then import the generated GEDCOM into my webtrees site and copy any new images from my PC to my site.
webtrees is a great package, but not perfect for my specific needs. Since it is open source, I can modify and extend it to work better with my tree. Here are the enhancements I've made (so far):
- thumbnail generator - webtrees attempts to create thumbnails when needed, but it doesn't handle large images well, returning a very unfriendly blank page on failure. After importing an updated GEDCOM, I run a PHP script to generate any new thumbnails needed, using a more memory-friendly method.
- relationship to me - One of my favorite features of my Ancestry.com site is the ability to see how each person is related to the signed-in user. webtrees has the basic functionality to calculate/view a relationship, but I have now added the relationship name to individual's pages and to search lists. For example, I can enter a cemetery name and see how I'm related to everyone there. My tool uses ajax and database caching to offload the time-consuming calculation. I also added a "batch" update (again using ajax) to pre-calculate the relationship for each user/individual combination.
- links column - I added a column to the individual search lists with any external links for that individual. In my tree, that means findagrave and ancestry links are a single click from the list. This is very useful when adding to or cleaning up the data.
- image links to picasaweb - I'm a fan of Google's Picasa image editing software and their associated Picasa Web Albums. Their face-recognition software works well, allowing me to attach names to pictures quickly and easily. I use these albums to collect and share photos of my family. See example [here]. My plan is to programmatically link each of my Picasaweb pictures with the corresponding individual(s) in my tree.
- external image thumbnails - For #1 to work well, I need to enhance webtrees to support local thumbnails for externally-linked images, and then pre-fetch thumbnails as needed.