|Summary||Presents tables of all cousins of an individual or all cousin marriages or in-law marriages in a tree.|
|Validation||The mod is XHTML compliant.|
|Mod Updated||16 Dec 2017|
|Mod Support||contact author|
|Contact Developer||contact author|
|Min TNG V||10.1.3|
|Max TNG V||12.0.1|
relateform.php, relationship.php, cust_text.php for English, French
The Cousins mod provides three modules which all include cousins and appear on the inner menu of the Relationships tab:
- Cousins lists all the cousins of an individual up to a predefined limit which is initially 4th cousin.
- All cousin marriages provides a list of of those marriages which have occurred between close relatives.
- All in-law marriages explores multiple marriages between two families, both siblings and cousins.
Apart from the first, these searches can take quite a long time depending on the size of the tree. Therefore the search itself is restricted to administrators and the basic results are cached in the database so that anyone can retrieve them on a subsequent use (including the administrator). The table can be updated when it is necessary, It is also possible that the searches can be computed on a personal computer and uploaded to the webserver. Caution: The computation uses temporary tables and these are usually not available for servers based on USB memory sticks.
Description of mod
The first display shows for any person in the tree all their cousins, by default from first to fourth, if they have any. The number to display may be set to any number but increasing it to 7, 10 or more will inevitably take more time if at many generations exist in the tree. (Click on the picture on the right to enlarge it.)
The name of the cousin is followed by brief defails of their life. Clicking on the cousin's name will show the relationship between the root person and the cousin including the ancestors through whom they are connected.
All cousin marriages
Occasional examples are found in many family trees of cousins or other close relatives marrying each other. Although marriages between first cousins are illegal in many US states, more distant cousin marriages are permitted and may be more common than people expect. This display collects all the examples in a tree together. The display puts the names of the husband and wife alongside the names of their common ancestors with dates and places of marriage. The list is sorted by the closeness of the relationship and the date of the marriage.
The number in the "Descent" column shows the number of generations from the common ancestor on the husband and wife's side resepectively. First cousins are thus represented as 2:2, second cousins 3:3 etc. The reason for this is that it is possible to go lower. The picture at the right shows examples of nephew-niece marriages (1:2). Brother-sister incest is represented as 1:1 and father daughter incest as 0:1. The example of Louis XIV and Marie-Therese of Spain shows an example of double first-cousin marriage. Where only one of the ancestors is shared, so that it is a half-cousin relationship, a footnote annotation (*) is added in the descent column and only the common ancestor is shown.
The relationship can be explored by clicking on the husband or wife's name which will always show their marriage first followed by their other relationships. Clicking on an ancestor shows instead a descendancy tree in which the cousin marriage will appear twice. This also works where there is only one common ancestor.
Most examples are not as close as these, and involve more distant cousins. So 2:3 (or 3:2) is a first cousin once removed, . They sometimes occur in clusters and to make these easier to spot, when names are repeated an occurrence number is added in square brackets after the name - ,  etc. These are actually links to a filter which will produce a separate report for the person concerned.
All in-law marriages
This records multiple marriages between two families. Sometimes two siblings in one family marry siblings or cousins in another family. This strengthens the ties between the two families more than a single marriage but does not in itself bring any genetic implications. It can include affinal marriages such as a man marrying his dead wife's sister, but most such marriages are not properly described as affinal and indeed there is no common name for this. They usually occur in pairs but sometimes happen in groups of three or more.
This display shows all such marriages in a tree in groups ordered by date of marriage. The second line of each group shows the way in which the second marriage relates to the first using the codes "s" for sibling, "c" for cousin, "h" for half-sibling and "p" for same person. Thus one can have "s-s" where two siblings in one family marry siblings in the other family, "s-c" for siblings in one and cousins in the other, "c-c" where cousins in one marry cousins in the other, "h-s" where half-siblings in one marry siblings in the other and so on. If the same person marries two members of another family one can get "p-s", "p-c" etc.
On each line, members of one family are placed first and the other second, so the second line is marked "Sibling/Cousin/Person" and "Spouse" instead of "Husband" and "Wife", because the first person on the second line may be female. Clicking on a person's name will clarify their relation to the person in the same family. The first person on a third line (if there is one) will also relate to the first person.
Examples of all of these are shown in the royal example on the right. A repeated person is also marked with a number in square brackets. Thus Henry VIII is shown three times--not only were Ann Boleyn and Catherine Howard related, but Catherine of Aragon had previously been married to Henry VIII's brother.
The mod is installed in the normal way: unzip it; copy the files to the mods directory on your system, go to the mod manager, select it and press install. However it is strongly recommended that you do this first on a private computer with TNG set up on it because it can take some time to run the initial search, particularly if you have a large tree.
Below are some search results found in several trees. The first two were historic trees dating back at least 1,000 years and including many royalty and nobility. The third is a modern tree but still having a significant number of such relationships. The times are elapsed times on a standard Mac desktop. As you can see, the search time varies significantly not only with the size of the tree but also with the number of hits.
|Families||People||Total cousin marriages found||Time taken (secs)|
|3rd cousins||6th cousins||3rd cousins||6th cousins|
When the system is installed, the cousin marriages and in-law marriages can only be activated by an administrator. Anyone else will simply get a message asking them to contact an administrator. When an administrator runs it, the basic results will be stored in a new table in the database from which they can then be retrieved by anyone at low cost. (The low cost is basically making sure that the proper visibility rules for living persons are observed.) Subsequently even an administrator will get the same results unless they want to redo the search. The inner menu will at this stage look like this:
Clicking on All Cousin Marriages will retrieve the current stored results. To redo the search, click on the "redo" circular arrow symbol.
The search times for in-law marriages were less severe ranging from 0.5 to 6.5 seconds for the above trees, but this is handled the same way thus reducing the risk from repetitive use. You will find that two tables have been added to the database: tng_cousinmarriages and tng_inlaw marriages. You can use different names if necessary using the options below.
There are a large number of options and most of these use a commons settings file (cousins_inc.php). $maxcousins and $generations will affect the maximum time for search if there is sufficient 'width' in the tree to exercise them.
|$cousins||include cousins module||1|
|$cousinmarriages||include cousin marriages module||1|
|$inlaws||include in-law marriages module||1|
|$relationships||max relationships to show in relationships display||4|
|$maxcousins||max cousins number in cousins module||4|
|$generations||max generations for cousin marriages (=cousins+1)||4|
|$updateoption||allows online updates for cousin marriages and inlaw marriages||1|
|$cousin_marriages_table||table name in database||tng_cousin_marriages|
|$inlaw_marriages_table||table name in database||tng_inlaw_marriages|
|Options for cousin_marriages only|
|$print_time||provide detailed timings for the search||0|
|$showmarriages||show marriage place and date, which takes 4 extra columns||1|
|$allcousins||include non-genetic cousins (e.g. adopted)||1|
|$birth||value of frel and mrel in children table||birth|
Alan Craxford provided much of the inspiration for these reports with constant feedback. Ken Roy provided the French translation and many useful comments.
TNG User sites using this mod
If you download and install this mod, please add your TNG sites to the table below.
|Dusty Bits of the Past||Allen Prunty||Using Amazon LightSail / Public||10.1.3.2e/11.1.2||EN|
|Moss Family Tree||Chris Moss||10.1.3.1/11.0.1||EN, Fr|
|Roots & Relatives Remembered||Ron Krzmarzick||public / private||10.1.3.2f/12.0.1||EN,DE,CS,ES|
|Craxford Family Genealogy Magazine||Alan Craxford||public and Wampserver||10.1.3.1/10.1.3||EN|
|Our Roy and Boucher Family||Ken Roy||Wampserver only currently. Provided French translations||10.1.3.2/11.1.1||English, French|
|Racine d'Alsace||J-Louis Valory||Public/Private - Template 1||10.1.3.2d/11.1.1||French|
|The Brown Family Tree||James Brown||Public/Private - Template 4||10.1.3.2d/11.1.1||EN|
|Martius Family||Hendrik Martius||Half public||10.1.3.2d/12.0.1||DE, EN, FR, NL|
|Ennever Family||Barry Ennever||Customised T4||11.1.2||EN|
|Les Sabourin d'Amérique||Michel Sabourin||public / private||11.1.2||French|
|Our Family History||Paul Barrett||Public/Private site||10.1.3.2d / 11.1.2||EN|
|Cole / Tanner Family Tree||David Cole||Public/Private||see here||English|
|10.1.3.2g||3 Sep 2018||corrected another null issue. Thanks Rick.|
|10.1.3.2f||11 May 2018||corrected issue when no in-law marriages. Thanks Ernest.|
|10.1.3.2e||16 Dec 2017||corrected problem for people not using default MySQL table names such as tng_children.|
|10.1.3.2c||22 Jun 2017||corrected a MySQL error in certain large Cousins queries. Also got the delete_tables link working. Made $text additions conditional so they only are loaded when needed.|
|10.1.3.2a||22 Jun 2017||restrict text changes to apply only to files in which they are used|
|10.1.3.2||22 Jun 2017||handle log file and bookmark and clean up urls|
|10.1.3.1c||22 Jun 2017||wouldn't install or ignore French version, didn't hide GEDCOM tab appropriately|