Downloads > TNG 10.1 (16)


My genealogy websites use TNG – The Next Generation – and over the years I have come up with a few additions and modifications to enhance my sites. Some of these are available here.

The TNG-WordPress plugin, developed initially by Mark Barnes and for the last several years maintained by Roger Moffat and Darrin Lythgoe can be found here at the WordPress plugins repository.

If you like any of the files available here and they have helped you enhance your TNG site, please feel free to make a small donation.


 Posted by at 6:25 am

  120 Responses to “Downloads > TNG 10.1 (16)”


    Hi Roger, I’m a TNG user and I like your “Bold Ancestor Chile Links” mod very much! Very helpful. However, is there a way I can add color to it? I would like add color to the bold name, I think it would stand out much more.
    Please advice.


      Uninstall the Mod using Mod Manager, and then

      Open up the bold_ancestor_child_links.cfg file and find line 35 which says

      						$childname = "<strong>" . $childname . "</strong>";

      and change it to

      						$childname = "<strong style=\"color: red;\">" . $childname . "</strong>";

      where “red” is the colour you want the link to display in – you can change it to anything that works – see this page for a list of colour names. You can also use the hex value.

      Note the \ before the ” marks.

      Then reinstall the Mod using Mod Manager.



    Hi Roger
    I’ve been trying to install Relationship to Site Owner Mod unfortunately it fails every time.

    TNG v13.0.3

    What is confusing me is that on 3 other TNG sites that I look after, it installs OK

    There error log is as below.
    Whilst there are also some other mods installed, I tried to install this mod on its own.

    Many thanks

    Relationship to Site owner
    Displays as ‘Cannot Install’
    TNG v13.0.3

    Cannot install Applies to TNG 12+ Saves Relationship Settings file across future upgrades.

    Author: Roger Moffat
    Adds the “x is the relationship to “Site Owner”” line to getperson.php

    After Installing this Mod, you will need to click the Edit button to the right
    to edit the two parameters for $savedpersonID and $savedpersontree.
    Set the $savedpersonID to the ID of the person you want the relationships calculated from (usually yourself as Site Owner) and $savedpersontree to the treeID that person is in.

    This Mod contains a function that prevents the relationship loading if the page is being viewed by a Web Crawler to prevent heavy server load by fast moving crawlers. You can edit the list of blocked crawlers by clicking the Edit button to the right and adding the simple crawler name as it appears in your server logs to the list, separated by “, ” (comma space).

    There is a 4th setting available to set the maximum number of relationships calculated between the Site Owner and any other person. This is similar to, but not the same as the setting for “Initial Relationships” that is made in TNG Admin -> Setup -> Chart Settings ->
    Relationship -> Initial Relationships. The setting here controls ONLY the number of relationships shown on the Person Page, and does not affect what shows on the Relationship Page.

    This mod was developed by Roger Moffat. It is based on relationship.php by Darrin Lythgoe.
    @ optional
    ^ (provisional) must be available
    ~ protected

    line 29: %target:@extensions/ file missing (optional) will ignore
    line 40: %target:getperson.php% verified
    line 42: %location:% #1 not installed
    line 51: %target:genlib.php% verified
    line 53: %location:% #1 not installed
    line 63: %target:languages/English/cust_text.php% verified
    line 65: %location:% #1 Bad target
    line 78: %target:languages/English-UTF8/cust_text.php% verified
    line 80: %location:% #1 Bad target
    line 94: %target:languages/Czech-UTF8/cust_text.php% verified
    line 96: %location:% #1 Bad target
    line 108: %target:languages/Dutch/cust_text.php% verified
    line 110: %location:% #1 Bad target
    line 124: %target:languages/Dutch-UTF8/cust_text.php% verified
    line 126: %location:% #1 Bad target
    line 140: %target:languages/German/cust_text.php% verified
    line 142: %location:% #1 Bad target
    line 155: %target:languages/German-UTF8/cust_text.php% verified
    line 157: %location:% #1 Bad target
    line 171: %newfile: relatedToSiteOwner.php not created
    line 860: %newfile: ~extensions/ not created

     code modifications specified: 9; modified: 0
     file copies specified: 0; copied: 0
     new files specified: 2; created: 0
     new folders specified: 0; created: 0
     errors: 7

    Other installed mods
    Broad Search
    Family Indicators Mod
    Family Preview
    Maternal and Paternal Lines


    Hi, Roger. I’m very much interested in the forenames mod; however, I am running v13 and an attempted installation yields the following. Any advice or suggestions would be welcome.

    Cannot install
    Adds Forename & Forenames pages, similar to the Surnames pages, but detailing First Name(s).

    The Mod adds 3 new items to the TNG Find menu. “First Names”, “First and Middle Names” and “Middle Names” are added under the “Surnames” item.

    The Mod installs text for English and English-UTF-8. If you wish to support other languages:

    1 – you can install the Forenames Mod – Extra Languages mod to install support for French, German, Dutch and Spanish languages – or
    2 – open this .cfg file in a text editor and follow the instructions starting “For each extra language…”

    @ optional
    ^ (provisional) must be available
    ~ protected

    line 11: %target:genlib​.php% verified
    line 12: %location:% #1 Bad target
    line 24: %target:search​.php% verified
    line 25: %location:% #1 Bad target
    line 40: %target:searchlib​.php% verified
    line 41: %location:% #1 not installed
    line 65: %target:languages​/English​/text​.php% verified
    line 66: %location:% #1 not installed
    line 75: %target:languages​/English​/cust​_text​.php% verified
    line 76: %location:% #1 not installed
    line 110: %target:languages​/English-UTF8​/text​.php% verified
    line 111: %location:% #1 not installed
    line 120: %target:languages​/English-UTF8​/cust​_text​.php% verified
    line 121: %location:% #1 not installed
    line 154: %target:css​/genstyle​.css% verified
    line 155: %location:% #1 not installed
    line 165: %copyfile: forename​.php not copied
    Source: mods​/forenames101​/forename​.php
    line 166: %copyfile: forename100​.php not copied
    Source: mods​/forenames101​/forename100​.php
    line 167: %copyfile: forename-oneletter​.php not copied
    Source: mods​/forenames101​/forename-oneletter​.php
    line 168: %copyfile: forenames​.php not copied
    Source: mods​/forenames101​/forenames​.php
    line 169: %copyfile: forenames100​.php not copied
    Source: mods​/forenames101​/forenames100​.php
    line 170: %copyfile: forenames-oneletter​.php not copied
    Source: mods​/forenames101​/forenames-oneletter​.php
    line 171: %copyfile: forename-all​.php not copied
    Source: mods​/forenames101​/forename-all​.php
    line 172: %copyfile: forenames-all​.php not copied
    Source: mods​/forenames101​/forenames-all​.php
    line 173: %copyfile: forenamestable​.php not copied
    Source: mods​/forenames101​/forenamestable​.php
    line 174: %copyfile: forenametable​.php not copied
    Source: mods​/forenames101​/forenametable​.php
    line 175: %copyfile: firstnames-extra​.php not copied
    Source: mods​/forenames101​/firstnames-extra​.php
    line 178: %target:@firstnames-extra​.php% file missing (optional) will ignore

    code modifications specified: 8; modified: 0
    file copies specified: 11; copied: 0
    new files specified: 0; created: 0
    new folders specified: 0; created: 0
    errors: 2


    For the surname cloud, is it possible to edit so there is no URL from the names. My site is private and only want the listing of surnames displayed on front page but without the link when hovering on a surname. Is this possible?


    Roger, I am using TNG by itself, not with WordPress. I can’t get the Site Map Mod you are directing to show up in my MOD folder so that I can install it. I sure could use your help. Linda


      Did the file you downloaded unzip itself to become a file named


      ? You could try downloading the file again just in case you got a bad download.



    Bold Ancestor Links and cfg files compare identical with BeyondCompare software. …no changes but the version. The [/strong] change doesn’t show up.



      Hmmm – I must have fixed the problem earlier with without changing the version number. There was a closing tag written as in the .cfg file that was in use on my site, so I copied the Mod code, made the correction and made a new version without checking that the download of said what the file in use on my site said. I’ll remove the Thanks!


    Hi Roger,

    I’d like to suggest that you update the code of the wp plugins to support UTF-8, by adding utf8_encode() around variable like names etc, so instead of “$dbrowh[‘lastname’]” you’d write “utf8_encode($dbrowh[‘lastname’])”

    That way output like “Kirsten S�rensdatter” can be displayed like “Kirsten Sørensdatter” etc.

    Best regard


    Hi Roger,

    Thank you. I’ve found your scripts and they’re great. I have to ask – is there any chance you’d be willing to share your index.php file?

    Best regards


    Hi Roger,

    I’d like to accomplish a look similar to I’ve chosen the suffusion theme but things look nowhere similar, see

    As far as I understand your reply I’ll have to edit the png/index.php file. Is that correct?

    Best regards


      Yes – the file tng/index.php is what controls that page. So you can remove things from it – eg the list of menu items on the side, and replace it with other content. Most of what appears on my index.php page is controlled by various scripts that are available to download from my Downloads page – eg the lists of birthdays, anniversaries, etc etc


    Hi Roger,

    I’ve tried to find the answer but failed. I’ve made an wp + tng + tng plugin installation. It’s working but my genealogy page is looking far from yours. Mine is very basic. I’d love to have a design similar to yours but I have no idea how to get there. Could you please point me in the right direction?

    Thank you for your time.


      Hi Søren

      Do you mean the index.php page, or the overall look of the site in general? If you want the main index.php page to be different, then you need to edit the file index.php that is in the TNG root folder.

      If you’re talking about the look of all the pages, then you can alter that – colours, text etc by editing the file mytngstyle.css that is in the css folder in the TNG root folder.



    I can’t seem to get any of the birthday, anniversary or death lists working 100% on user pages in TNG version12.
    Nothing displays when logged out in fact nothing past the code displays.
    They display okay when logged in though.
    The trouble is that these user pages are introductory pages to certain branches of my website so the lists will have to go if this can’t be sorted
    (They were working okay in TNG10.)
    Any idea why?


      Have you downloaded the newest versions of these files recently?

      TNG 10.1 introduced new query syntax that uses mysqli not mysql, but I have updated the scripts to use that long ago.

      Has anything else changed – like the path to the scripts relative to TNG?

      Is there anything in your site’s error logs when you try to load a page that contains the scripts?




    hope all is good. Looking for info on possible updates/ upgrades to 2 different scripts.

    first the old “list_birthdays.php”

    Is it possible to add a function to show
    1) Only persons in the current users “assignedbranch” ?
    2) Only ‘milestone’ years (5,10,15,20…etc)
    3) both birthdays AND Anniversaries?

    Most of my users say the list is too big (because in many cases they have over 12,000 persons related to them in the database)
    So they would only like to see those milestone years.

    I will start a diff message for the other…
    Thanks for your time on these great add on scripts for tNG!


    I’ve downloaded and installed the mod. (And made a donation.)

    I installed it and hit the “Create Sitemap” button. From the instructions, I expected it to take a while.

    But the page has bee at this point for 40 minutes:

    “TNG Sitemap Creator
    Please wait… sitemap being generated from TNG database. This may take some time depending on the size of your database.
    Records Processed:”

    Nothing further. Anything wrong on my end? Running 11.1.2

    Downloaded from this page:


    is something broken here?

    I come from TNG wiki to download a mod. But where is this mod (Create sitemap mod) ??

    What am I doing wrong?



      Jürgen – sorry about the problems – an update to the Download-Monitor plugin rendered it all not working. I’ve got all that sorted out, and just now have to update the TNG Wiki with the new links.



    Hi there, I recently updated tng from 11.0 to 11.0.1 and the relationship to site owner is showing more than the usual relations..

    i know i relate twice to this individual but now it shows 4 times.. It flips the parents and relists them again.. if you get a chance to look.


      Thanks for letting me know – I hadn’t noticed that for example on my site it gave a single line between me and my great great grandfather, but when you clicked that line it gave two charts that were the same, but name the relationship in two different ways – that William was my great great grandfather, and that I was William’s great great grandson. I’ve made a change that mirrors a change Darrin recently made so now it’s back to a single chart in this circumstance. It’s available to download here – give it a try and see if it works for your page – i.e. for that page with 2 relationships you get two charts.


    I have double checked and everything seems to be correct…


    I was wondering if your TNG mod Relationship to Site Owner works with the latest version of TNG? I have been trying to get it to work (mod version 10.1) and I haven’t had any luck. Any suggestions?


      Yes it works just fine.

      Are you SURE you have set the correct parameters in the Options in Mod Manager for TreeID and starting person ID?


    Don’t know if my last submission got to you. The Bold Ancestor Children Links will not install, due to likely conflict with Family Preview Mod.
    line 11: %target:getperson.php%
    line 13: %location:% not installed
    line 21: %location:% not installed
    line 29: %location:% Bad target
    Can this be fixed by sequencing the Mods and changing a line?


      I’ve revised the Mod so that hopefully it can now install before or after the Family Preview Mod. Uninstall and then Delete what you’ve got and then try the new version.



    Just a word of caution… the anniversary lists (birthdays, weddings and deaths) currently display details of people marked “private” in your database.
    I understand Roger is working on a solution.


    Re : Pulling dates from a specific branch…

    Kia ora Roger,
    With a few tweeks of your code, I think I have managed to get this going. It’s not the tidiest of solutions but it seems to work ok. I could send these files through to you if you would like to inspect?… working examples are on my site.


    I was wrong about the display. The best way for me to explain the issue is for you to go to my page. The link is located at and you will see at the right hand column that today (10/31/2015) there is a death showing but no birthdays being displayed. There are two living people that have a birthday today but they don’t show unless you log in. You can use guest/guest to log in to see what I mean.


    Thanks for your response…don’t know what happened but when I went to the site today, the person was listed with a link that was accessible when logged in. As you say, it is doing what I want it to do.

    One other question about your Top 10 Surnames script, what part of the code would need to be changed to reflect two columns of 5 names each instead of one column listing all ten names?


    It is working as the current design intends.

    I am not sure that it has ever done as you expect it to do – show the names regardless of whether someone is allowed to see Living or not and then show the link depending on this.

    Yes it could be altered to do what you are expecting it to do, but not today, and probably not tomorrow.



    Perhaps I wasn’t clear on my initial post. What is happening is that if someone living has a birthday, that person’s name does not appear at all unless you are logged into the site. Once you are logged in, the person’s name appears and it has a link to its information. If I read your response correctly, the script is supposed to do what I am asking it to do, however it is not happening. As for changing the query, I don’t have enough knowledge about queries to attempt it.


    I very recently downloaded your birthday, anniversary and death scripts and got them to work on my site. I seem to recall however, that if anyone had one of those events, their name would appear even if you were not logged in when viewing the page. The difference is that when logged in, you could click on the name and be taken to their information. That does not seem to be the case now. How would I change it to reflect that?



      I’m not sure if it’s ever done what you’re asking for exactly – the scripts do check to see if the user is logged in, and so allowed to information about Living people or not. That is used to determine whether to show the people’s names or not and the $outputoption setting used to determine if there are links or not.

      To do what you’re wanting, the initial query would have to be changed to remove the check if the user is logged in or not, do the query for all events on that date and then alter the output depending on whether or not the user was logged in or not.


    Birthday, Death Dates and Anniversary Lists

    Is it possible to pull dates from a specific tree?
    Is it possible that users only see dates from their specific branch they are allocated to?


      Merv – yes I guess this is possible – the queries would need to be altered to include a query for the “gedcom” (how TNG identifies “trees”). Are you wanting it to be a specific tree, or a tree determined dynamically somehow?

      Same would apply to Branches – it would need to be altered to include the branch in the query depending on what user is logged in, and then use that as part of the query too. I don’t use Branches myself, so aren’t familiar with how that works exactly, so while I imagine it ought to be possible to do this, it might take me a while to figure this out so it works properly.


    Roger, Just following up on the sitemap issue I mentioned before about having a place to store the custom pages urls that should be included in a sitemap index.

    If my understanding is correct, there should only be one sitemap index

    Robots.txt shoudl include either
    Complete listing of URLs to be index or one listing for location of sitemap index.

    So if I need a sitemap creator to review the database for all the correct URLs to include,
    then I think we need a way to add these custom url additions to the sitemap during the create process.

    My thought is to make it a variable switchable on/off
    If on, then it simply will include the custom sitemap “tngsitemap0” to the final tngsitemapindex.xml file

    It’s then up to the site admin to add their urls as needed to the tngsitemap0.xml file.

    Im am not a coder, but I believe some code snippets would be like;

    %desc:Set this to 1 to include a custom url list in the sitemap.The default is (0)%

    $indexcustom = “0”;

    if ($indexcustom) {
    // add custom urls to index

    // Add file location of custom urls xml file


    Is this something you could add to the current sitemap create mod?

    Thanks for taking the time to review.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>



This site uses Akismet to reduce spam. Learn how your comment data is processed.