Building This Site (2012)

A bit of tech nerdery here to document how this site and the database came together. Mostly, I needed to write all of this down somewhere or I may forget how I did it.

This week while we are on vacation at Quintana Beach (September 2012) I had a couple of emails with Ann about genealogy stuff, and it inspired me to start work on something I had been thinking about for a while but wasn’t sure how to approach from a technology perspective.

I knew I wanted a few basic things that I could tie together: a way to capture the history and family tree connections and other information — documents, photos, notes, links to other resources, etc — and store it all in a database specifically built for maintaining these kinds of relationships. From there, I wanted to be able to move this data into a web application that can dynamically publish web pages out of a database. And finally, have all this integrated into a WordPress Content Management System so there’s a website framework for everything to live in. It went like this.

  • I researched a few options and settled on the Reunion  application as the primary database. This is a desktop program for managing genealogy data. It will export a GEDCOM-standard file for migrating data into compatible systems. I downloaded a trial version of Reunion, tested it for a couple hours, liked it and bought it. To test it out I spent a few hours populating the database with some family history that I knew and a few other things I looked up.
  • Next, the web component. Reunion has the ability to export static HTML files but this is limited and doesn’t provide much interactivity. I wanted something more robust that would run on my web server, with the ability to import the GEDCOM data from Reunion, populate a MySQL database and dynamically generate all of it into a variety of page views, with good web-based administration, photo galleries, maps, timelines, etc. I found TNG (The Next Generation of Genealogy Sitebuilding), and after exchanging a few emails with the developer and playing around in their demo system for a while, I knew it was what I needed.
  • I created the subdomain so there would be a dedicated URL for everything.
  • Installed and configured WordPress on the domain.
  • Created a MySQL host and database on the web server.
  • Installed and configured the TNG database and web scripts within the WordPress setup.
  • Exported a GEDCOM file from the data I had entered into Reunion earlier, and imported that into TNG. This was my first test to see if the export/import process would work well between the two apps, and it appears to have gone perfectly. All I needed to do then is spend some time getting acquainted with the many options in TNG so I can understand how best to update and maintain everything. (TNG is really an amazing system — very well thought-out and built with many useful features. There is a good bit of initial setup work required, but easily worth it.)

The data management strategy going forward is simple: in order to keep the data current and accurate, I will make updates and changes in only one system* — in this case I will do it in the Reunion application. Once you start making changes in separate systems your data will likely never be properly synced between the two. One source dataset and one target web platform will keep things organized.

* The one exception here is with media (photo) assets. In Reunion I associate photos with data records locally, but I prefer to upload the photos separately via FTP and link those to the data records within TNG. I have found that TNG provides more options for media management, and will also generate photo thumbnails and data relationships for me, so I exclude media from the import.