Typeless Data Entry in Gramps


The internet lowered the threshold for genealogical research tremendously. At an amazing speed, data, such as birth and marriage records, is put online, an thus made available from all over the world. Research that would have taken years of travel all over the country visiting archives, can now be conducted from the comfort of ones home within days. Actually, at present (2010), the pace of research seems to be limited by a strange phenomenon.

Archives that offer data on the internet, store that data in computers. What the individual genealogist wants is to get a subset of that data and store that on his/her own computer in genealogy programs such as Gramps. What surprises me is that anno 2010, the transfer of data from one computer to the other is typically done by human beings typing this information over in their genealogy programs. Surely, there should be more efficient ways of data transfer! Why don't archives offer this data in such a way that it is both understandable to humans and computers?

Born out of this frustration, are a couple of scripts that enable users of Gramps to import data from some of the major Dutch genealogy databases. The ingredients needed to get this to work are: genealogy program Gramps (version trunk), web browser Firefox (version 3.6), Firefox addon Greasemonkey which allows scripts to be run against websites, and the "user scripts" available from this very page.


See the Greasemonkey Manual.

User scripts

WebsiteUser Script
Genlias Genlias To GrampsXML
AlleGroningers AlleGroningers to GrampsXML
Genealogiezuidoostutrecht.org GenealogieZuidoostUtrecht To GrampsXML

How to use it?

As an example of how the scripts can be used, I am going to enter the birth record of M.C. Escher to some data I already have on the Escher family. Start three programs, Firefox, Gramps and a simple editor (kedit/gedit will do fine). In the images accompanying this section, Firefox is on the left, Gramps is on the right top, and the editor is on the right bottom. Initially both Gramps and the editor are only partly visible because they are overlapped by Firefox.

With Firefox go to the desired database, in this case I use Genlias, and formulate the query (last name Escher, period 1895-1900).

As usual it returns a list with results. Thus far nothing special has happened.

Now select the result you want to see. This window looks different from what it used to look like. The top half looks fairly familiar, but the bottom half is occupied by something which is called a Gramps Exhibit. Closer inspection shows that certain elements in the top half have a different background color and tooltips indicate how these parts are interpreted in the Gramps Exhibit. The Gramps Exhibit is a web page that is similar to Gramps the program. There are tables for all the primary objects: people, families, events, places, sources, repositories, objects and notes, plus some tabs with non-tabular representations of the data. Tables can be sorted on any column and filtered with the facets on the right. Detailed information is available by clicking on IDs. This will open a bubble, somewhat similar to what the edit button does in Gramps. Gramps Exhibits also allow data to be exported to GrampsXML, the language Gramps understands. What Gramps Exhibits export, depends on the primary object type. Gramps Exhibits typically export the content of all tabs in the bubble except the references tab. As a result, one usually wants to export all entries from the family tab because that gives the most complete export. (As an alternative one can try "View Source" on the lower frame.)

So go to the family tab,

click on the orange scissors and select "Grampsxml".

A blueish window opens with the data in GrampsXML format. Copy this with familiar keyboard shortcuts, or by right clicking on the selected text.

Past this (mouse middle-click) in your editor and save under a simple filename.

Go to the Gramps window and choose import (Ctrl-i), first a warning appears that can be ignored.

Select and import the file you just saved, and Gramps will report what was imported. In this case three persons, a family, one event, place, source and repository. Click OK.

We have now imported one family and the birth of a son in this family. The family was already present in the database, so the families should be merged. Go to the family tab and select the families with the same father and mother.

The merge button will now open a window where the preferred family can be selected. Merge will join the information of both families.

There are no duplicate people, because the family merge already merged the parents and the son is new in the data set. The import also added an event to the database, but it is also new, so no merge of events is needed. However places is another story. The birthplace of M.C. Escher, Leeuwarden, is already in the database, so it occurs twice and these need to be merge.

The same holds for sources and repositories. Merge the duplicated entries in both tables. And that is it.

We have entered a birth record complete with source information in just a couple of mouse clicks and/or keyboard shortcuts.


All this is purely experimental at this phase. The reason to make this public now, is not that the user scripts are ready, but to enable the developers of Gramps easy access to test data.

Please be so kind to switch Greasemonkey off (click the monkeyface in the lower right corner), when not using these scripts.