<Sources>

The <Sources> option provides a quick and easy method to add details to an existing source, or to override those that already exist. It can also be used by bloggers to add new sources for referencing in <Blog> posts.

The various GEDCOM specifications only provide fields for adding an Author, Title, Short Title, Publisher and Repository to a source, however there are a vast amount of additional information that you may wish to include, such as a volume number or the title of a periodical. Using the <Sources> option, you can add any details you need by defining both the Name and Value of the data. All source details are displayed on the Source page (see images below), and can be used in the <SourceTemplates> option for creating source citations.

Perhaps the most important and useful detail that can be added to a source is a source category. Categories when defined are used by Gigatrees to determine the Reliability Assessments of any claims referenced by that source, providing critical information to anyone viewing your website, including yourself. Gigatrees supports source categories as defined by the Genealogy Proof Standard as well as additional categories defined by Gigatrees (see below).

Gigatrees also allows adding <SourceTypes> to your source using this option. Source types are named values that specify which source categories to associate with it. You can for instance configure a source type for "United States Federal Census" with defined source categories of "original" and "primary". In this way you can specify a source type instead of a specifying source categories directly.

If you host your website online, you will also want to set privacy flags on sources that contain copyrighted or sensitive information and then enable the <Privatize> option. When set to private, the source will be displayed, but all quoted text, notes and photos will be removed.

Example 1

At first glance, it may seem daunting to add source categories and privacy flags for all your existing sources, but using this option and the magic of copy and paste, you can do so for hundreds of sources in a matter of minutes. In the following example, you can see how easy it is to provide source categories/types and privacy flags for a list of sources, and once configured, you're done. The Source index page will list all your sources, their titles, categories and types, making it a simple task to get a complete list of sources needing configuration. To see an live example, checkout the online sample tree.

<Sources>
  <Source> <Id> S1 </Id> <Category> original, secondary          </Category> </Source>
  <Source> <Id> S2 </Id> <Category> primary                      </Category> </Source>
  <Source> <Id> S3 </Id> <Category> derivative                   </Category> </Source>
  <Source> <Id> S4 </Id> <Category> abstract                     </Category> </Source>

  <Source> <Id> S5 </Id> <Type>     United States Federal Census </Type> </Source>
                                                              
  <Source> <Id> S3 </Id> <Private>  copyright                    </Private>  </Source>
  <Source> <Id> S4 </Id> <Private>  sensitive                    </Private>  </Source>
</Sources>

Before we continue to the next example, please review the options.

Options

<MaxCitationQuoteLength>
[ 200 ]
When sources are referenced, quoted text from that source can be displayed in a tooltip, limited in length by this value.

<SpecialSourcePageHandler>
[ true ]
When enabled, Gigatrees will look for source details as Name/Value pairs in the source reference page field ( SOUR@.PAGE ) if the field contains a colon ( : ).
<SpecialSourceTextHandler>
[ false ]
When enabled, Gigatrees will look for source text as Name/Value pairs in the source reference data text field ( SOUR@.DATA.TEXT ).

<Source>
This tag indicates the start of a new or existing source.
<Id>
[ ]
The unique record id of the new or existing source
<Title>
[ ]
The source's title
<Author>
[ ]
The source's author
<Publisher>
[ ]
Publishing information
<Repository>
[ ]
Repository information
<TemplateId>
[ ]
<CitationTemplate>
[ * ]
This template is used whenever a full source citation is required, namely on the source pages. It can be entered using the source template syntax, or as free-form text. This is convenient for use with many online source providers like Ancestry.com or FamilySearch.org where they often provide free-form source citations for you.
<FootnoteTemplate>
[ * ]
This template is used for all source reference tooltips, and whenever a footnote is required in a blog post. It can be entered using the source template syntax, or as free-form text.
<RepeatFootnoteTemplate>
[ * ]
This template is used whenever a subsequent footnote is required in a blog post. It can be entered using the source template syntax, or as free-form text.
<IbidFootnoteTemplate>
[ * ]
This template it to be used whenever an ibid footnote is required in a blog post. It can be entered using the source template syntax, or as free-form text.
<URL>
[ ]
A website address
<ShortTitle>
[ ]
A shortened version of the title to be used when longer titles are not preferred.
<Type>
[ ]
<Category>
[ ]
A comma-delimited list of source categories. The available categories are: "dna", "original", "primary", "secondary", "transcript", "copy", "abstract", "research", "memoir", "derivative", "unknown" and "negative".
<Private>
[ false ]
Enable to hide the source content when the <Privatize> option is enabled.
<Field>
This tag indicates the start of a new source detail (i.e. Name/Value (NV) pair) for the source.
<Name>
[ ]
The name to be used for a new NV pair.
<Value>
[ ]
The value to be used for a new NV pair.

Example 2

A more thorough example using some of these options demonstrates adding additional source details. In this example I've also added citation templates that include the new source details. When defined here, citation templates override the default templates used by Gigatrees. Note that the defined source details must be wrapped in percent signs ( % ) to be recognized as a substitution macro. Squiggley brackets ( {} ) indicate optional components such that if the substitution macro is not found, the entire bracket component is removed. Alternately, you could move the citation template overrides to the <SourceTemplates> and include the TemplateId here instead.

<Sources>
  <Source>
    <Id>          S1                                                   </Id>
    <Title>       1850 United States Census: Ohio, Hamilton, Anderson  </Title>
    <Publisher>   Ancestry.com Operations, Inc.                        </Publisher>
    <Repository>  Ancestry.com                                         </Repository>
    <Category>    original, primary                                    </Category>
    <Field>       
      <Name>      Format                             </Name>   
      <Value>     [database on-line]                 </Value>   
    </Field>                                               
    <Field>                                                
      <Name>      PubPlace                           </Name> 
      <Value>     Provo, UT, USA                     </Value>  
    </Field>                                               
    <Field>                                                
      <Name>      PubDate                            </Name>  
      <Value>     2009                               </Value>    
    </Field>                                               
    <Field>                                                
      <Name>      Details                            </Name>  
      <Value>     Images reproduced by FamilySearch  </Value>  
     </Field>
    <Field>       
      <Name>      Original                           </Name>
      <Value>
        Seventh Census of the United States, 1850; (National Archives Microfilm Publication M432, 1009 rolls); Records of the Bureau of the Census, Record Group 29; National Archives, Washington, D.C. 
      </Value>
    </Field>
    <CitationTemplate>
      {%Author%}{, "%Title%"} ({%Publisher%}{, %PubDate%}{, %PubPlace%}){, %Repository%}{, %Format%}{, %Details%}{, original data: %Original%}{, p. %Page%}{ (%URL%)}.
    </CitationTemplate>
    <FootnoteTemplate>
      {"%Title%"}{, %Author%} ({%Publisher%}{, %PubDate%}{, %PubPlace%}){, p. %Page%}{ (%URL%)}{, <i>"%Quotation%"</i>}
    </FootnoteTemplate>
  </Source>
</Sources>

Additional Information

Some applications, namely Ancestry, export some of their source details as Name/Value (NV) pairs in the GEDCOM source reference page field ( SOUR@.PAGE ). NV pairs are text strings delimited by semicolons ( ; ); trailing semicolons are optional. When the <SpecialSourcePageHandler> option is enabled, Gigatrees will strip the NV pairs from the page field and add them to the source details. Some of these details may be specific to the source reference and not the source itself, such as the page. Similarily, they may export source text as Name/Value (NV) pairs as well in the GEDCOM source reference text field ( SOUR@.DATA.TEXT ). When the <SpecialSourceTextHandler> option is enabled, Gigatrees will strip the NV pairs from the text field and treat them as quoted text. A typical example for an event might look like:

  1 RESI
  2 DATE 1790
  2 PLAC Baltimore, Baltimore, Maryland, USA
  2 SOUR @S325698112@
  3 PAGE Year: 1790; Census Place: Baltimore Town, Baltimore, Maryland; Series: M637; Roll: 3; Page: 20; Image: 26; Family History Library Film: 0568143
  3 DATA
  4 TEXT Name: Alexander Forsyth; Home in 1790 (City, County, State): Baltimore Town, Baltimore, Maryland; Free White Persons - Males - Under 16: 4; F
  5 CONC ree White Persons - Males - 16 and over: 2; Free White Persons - Females: 4; Number of Slaves : 1; Number of HousMembers: 11

The following images were taken from an Ancestry Member Tree (mine) with the <SpecialSourcePageHandler> option enabled. In the 1st image you can see the source citation as it appears using the Gigatrees default citation template. Source details are included on their own tab. At the bottom of the 1st image and in the 2nd image, you can see the individual pages, source reference details as they were provided in the source reference page field, and quoted text as provided in the source reference text field, as explained above. The 3rd image shows various claims made by this source. The highlighted tooltip shows the source reference using the default footnote template and includes the page number and quoted text in the citation. To see a live example, checkout the online sample tree.

Source Page
Source Page
Source Page (more)
Source Page (more)
Source Reference
Source Reference

Another method for specifying source details supported by Gigatrees is to include them as NV pairs at the start of your source text GEDCOM field ( @SOUR.TEXT ) wrapped in square brackets ( [] ). When found in this way, they will be removed from the text and converted to Source/Reference details. This example was taken from the sample GEDCOM file ( /config/sample.ged ) provided in the distribution.

  0 @S20@ SOUR
  1 TITL 1880 United States Census, Illinois, Knox, Maquon
  1 _TYPE U.S. Federal Census
  1 TEXT [Dwelling: 214; Family: 217; Page: 217]Additional Text goes here

Gigatrees also supports several application specific GEDCOM extensions that provide some of the same information as well as other source details. These are tags that applications may export, but that are generally not recognized by most genealogy programs other than the one to which it belongs. For instance, the @SOUR._TYPE and @SOUR.TYPE fields are used by some applications to add a source type; the @SOUR._QUAL and @SOUR.QUAY fields are used to add source categories; the @SOUR.TEXT._PAGE field is used to add a page number [ ? ] to a specific text field (more on this below); the @SOUR._URL field is used to add web addresses to a source directly, and the @SOUR.TEXT._URL field is used to add a web address to source text. In addition to _URL, Gigatrees also supports, URL, WWW, WEB, _LINK, _WLNK, _WEBTAG, and REF, some of which go further and provide a URL title, thumbnail and/or note. In addition to these, several other extensions are supported for including source details, to wit: DATE, _DATE, _SDATE, _BIBL, _SUBQ, DETA, _OTHER, EDTN, EDTR, LOCA, MEDI, VOL, PERI, REGD, INFT, CAUS, NAME, AGNC, PLAC, CALN, REGI, FILE, FILM, FILN, INTV, CPLR, DATV, _BTJOUR, _BTMON and _BTYR. Most of these are self-explanatory. Gigatrees will assign each field a source detail name, which will be displayed on the Source page in the Source Details box (see images). You can use the name in your citation templates just like you would any other NV pair. Gigatrees also supports extensions for including NV pairs, to wit: @SOUR._TMPLT.FIELD.NAME and @SOUR._TMPLT.FIELD.VALUE. All of the above mentioned methods, together, provide multiple ways for including non-standard source details with your family tree.

Gigatrees also supports several additional extensions for source references that allow for adding additional source reference details including those for URLs; SOUR@._VERI, which is treated the same as the SOUR@.QUAY field; SOUR@._SOUR and SOUR@._INFO which are used by some applications to add source categories (usually using an enumerated value), and SOUR@._EVID which is used to add conclusion models ( Direct or D, Indirect or I, and Negative or N ); there is also SOUR@._QUAL, which can have as its subfields, _SOUR, _INFO and _EVID. Several additional source reference tags are supported, to wit: DATE, _DATE, _SDATE, _JUST, _TOPI and NAME.


A Note on Source Pages

GEDCOM provides a somewhat cumbersome method for including quoted text and page numbers from a source using the source reference date field ( SOUR@.DATE ), text field ( SOUR@.DATA.TEXT ) and page field ( SOUR@.PAGE ). The obvious disadvantage of using this method for adding source details and quoted text is that when the same source, quoting the same text, is referenced by multiple events, it causes bloat by duplicating the information, and if you are so unlucky as to be using a genealogy application that does not handle filling in these fields automatically under the hood, then you'd have the unenviable task of managing all these duplicates manually. Thankfully, GEDCOM provides another, although more limited method for quoting source text. GEDCOM provides a source text field ( @SOUR.TEXT ) so that you can add quoted text directly to the source. Ungloriously, however, it only allows a single text field per source and does not include a page or date field. But, as shown above, you can now include the date and page number in the source text as an NV pair tucked within square brackets or by using the source text page field ( @SOUR.TEXT._PAGE ) described above. When page numbers are included in this way, they will be matched to those found in the source reference page field and linked appropriately. Gigatrees gets around the page-per-source debacle by also allowing the assignment of page numbers to source note fields ( @SOUR.NOTE._PAGE ) which do not suffer the same one-to-one limitations as do the text fields. When a page number is provided for a source note, Gigatrees will treat it as an additional paged, source text field. You can see this play out in the sample GEDCOM file ( /config/sample.ged ) provided in the distribution. In this fashion you can add any number of source pages, each with their own page number and quoted text, directly to the source and thereby eliminating the need to use the source reference data text field ( SOUR@.DATA.TEXT ).

Please note that Gigatrees supports all of the abovementioned methods for including quoted source text and page numbers in your GEDCOM files.

Comments