There have been a number of comments from viewers of the video, “A Better Way to Cite Online Sources”, asking about how things work behind the scenes. Being a geek by nature, I tend to be technical in my writing and so I tried to stay away from too many details in the video. The main point was to show what a solution to the online citation problem might look like.
For those who want to know more, here are the details.
We will first start with the QuickCheck models found in Evidence Explained. These models can be used by software developers as a feature specification:
This example from page 646 specifies that a basic book citation consists of 7 parts:
- Main Title
- Sub Title
- Place of publication
It also indicates the format of the citation specifying where to put commas, colons, periods, and parenthesis as well as when text is italicized.
These QuickCheck models as well as other citation formats specified in EE (Evidence Explained) have been coded into Legacy 7, Family Tree Maker 2009, and RootsMagic 4.
Now even though each of these 3 desktop genealogy applications used EE for their spec and received clarification from their outside business analyst, Elizabeth Shown Mills, there are slight variations in the implementation by each. To prove this, here are comparisons of each application and how it deals with a book citation:
Legacy Family Tree 7
Family Tree Maker 2009
Here is a comparison of these three applications showing different interpretations of the EE citation model:
So currently we have 3 applications that support EE and each are slightly different. What is needed is a standard that each can measure up against so as more applications support these citation formats, tests can be created to verify compatibility. Some sort of consortium needs to be created to discuss the current differences and come to a consensus of opinion.
Let’s say that process has already occurred and agreement has been reached. Now a standardized file format can be designed to handle the additional level of detail required for the citation models. In some ways this file format would serve a similar purpose as GEDCOM, but would be updated with the capability of handling more-detailed source citation and referencing media such as images and files.
When visiting a website that supports this new file format, the researcher will encounter a download button or link that references that file:
In the above example, the link references a file called book.cite. The .cite extension represents a file of a specific content type (called a MIME type) identified as: application/cite+xml. The important thing to know about this is that a .cite file can now be uniquely identified from other content types.
We will not discuss the actual structure of the file at this point. Details will be provided in a later post.
When the researcher clicks the link, the web browser (in this case Firefox) prompts us if we would like to save or open the file:
As can be seen from the screen, the file is correctly identified as a CITE file and picks the default application used to open the file, ClickCite Launcher.
Part of the prototype code that I wrote was an application called ClickCite Launcher. Its purpose is to intercept CITE files and pass the file along to an importer application. The ClickCite Launcher application would need to be installed on the researcher’s computer and part of the installation would make a file association between .cite files and ClickCite Launcher. This is how Firefox knows which application to use.
The launcher application and the file association are for a computer running Windows. I am not familiar with Mac computers in this regard, but it would surprise me if a similar capability was not available.
This launcher application is aware of all installed applications that support importing of CITE files and presents the user with a list of desktop genealogy applications:
After an application is picked from the list and Import is clicked, the launcher application would start the importer application and pass it the book.cite file. The launcher application would likely be open source software whereas each desktop application that supported CITE files would provide their own importer. In the video demonstration, the importer for RootsMagic 4 presented no user interface and just updated the database file for the most-recently opened database, test.rmgc. The developers of the importer could choose to show a user interface that might include a list of all previously created databases and allow the user to choose which database would be the target of the import.
The process is depicted in the following diagram:
- Genealogist clicks download link which causes the browser to download the file onto his/her computer.
- When the file is manually opened or opened by the browser when the Open option is selected, Windows runs the application associated with the extension. In this case, .cite is associated to the launcher application. The launcher receives the location of the downloaded CITE file.
- When Import is clicked on the launcher, the importer for the selected genealogy software is started and passed the location of the downloaded CITE file.
- The importer loads the CITE file and adds information to the application’s database file.
I hope this addresses some of the technical questions that I have been receiving.