Paths

From TNG_Wiki
Jump to navigation Jump to search
Restricted Downloads of Paths are restricted to logged in users. If you do not have a user account on the TNG Wiki use the Request Account link to request a user account Restricted
Caution If you have trouble downloading with Google Chrome, Vivaldi, Brave or other Chromium based browser, try using a right-click and select Open in new Window, then F5, or use another browser such as Firefox Caution
Paths
Summary Display multiple connection paths between any people in the database.
Validation -
Mod Updated 24 Apr 2025
Download link Paths v15.0.0.2d.zip
TNG 15.0
Download stats Click to see
Author(s) Michał Jarociński
Homepage Paths (this page)
Mod Support Topic on the TNG Community Forum
Contact Developer As above, or my TNG User Page
Latest Mod v15.0.0.2d
Min TNG V 15.0
Max TNG V 15.0.1
Files modified
genlib.php
Polish-UTF8/cust_text.php
English/cust_text.php
Norwegian-UTF8/cust_text.php
German-UTF8/cust_text.php
French-UTF8/cust_text.php
Dutch-UTF8/cust_text.php
Czech-UTF8/cust_text.php
Hungarian-UTF8/cust_text.php
Danish-UTF8/cust_text.php
PotugueseBR-UTF8/cust_text.php
Swedish-UTF8/cust_text.php
Related Mods
Notes

Purpose of the mod

This mod is the successor to the Connections mod (v13) whose functionality was mostly included in TNGv14. Compared to that functionality, the main changes concern user interaction:

  1. The application got its own Paths tab on the Person page.
  2. Each call (button press) displays one only next-shortest connection path.
  3. Instead of limiting the number of "Runs" (whatever that value means...), the search time in a single call is limited.
  4. After exhausting the next-shortest paths, you can browse the longer paths found in the meantime.
  5. The diagram style is not compatible to the native TNG style. It is more compact making it easier to display long connections paths that contain multiple marriages. It is also more willing to adjust to the width of the window.
  6. Apart from the normal and compact view of the diagrams, you can generate a pdf of the diagram(s) in a form convenient for printing.

In addition, properties introduced in later versions of the Connections_v13 mod were used:

  • Textual description of the path based on the Relate_mod by Chris Moss, under control of Verbose level menu - only for Czech, Danish, Dutch, English, French, German, PortugalBR, Swedish
  • Possibility of setting "anchor" person, i.e., default Person2 for path searches (see options below)
  • Non-birth parent-to-child relationships can be accepted (see options below) and possibly marked in the diagram according to the option menu

The path search algorithm has been slightly improved.
(See also the Connections mod page, as well as the notes in the .cfg file)

Options

There are no mod option set via ModManager. Only a few options can be changed by the user via drop-down menus:

  • Time limit - from 1 to 99 seconds; concerns a single call (default is 2).
  • Verbose level - either none (which is default) or simple or verbose; the latter uses Chris Moss' Relate_mod method of the description of multi-step relationship.
  • Non-birth parent-child relation treatment - either exclude path or mark such relations (default) or don't mark.

Initial values of the three above options as well as all the remaining options of the Paths app are set via pathsconfig.php file (admin can edit it by hand). These options and their defaults are:

  • relstoMark="AFSPOL" - the parent-child relationship other than "birth" that should be taken into account (and possibly marked) when constructing the connection path (use the capital letter of: Adopted Foster Step Putative Other seaLing =>AFSPOL) Note: I'm considering making this option similar to the one used in the Custom_relation_types mod by MichelK.
  • relclMax="2" - verbose clauses when constructing verbose description of the path (works only for supported languages)
  • showGend ="true" - show small gender icons inside boxes near the name
  • loggedOnly="false" - if “true” only logged in users are allowed to run Paths (the option is to reduce the site load caused by bots etc.)
  • anchorID="empty" - initially empty, the ID of the end person for paths
  • maxR="999" - max number of the search cycles (prevents long run time and possible RAM exhaust)
  • maxL="35" - maximum length of paths to be taken into account (see maxR)
  • offerCands="true" - when all paths found under maxTime condition (and possibly maxR or maxL) are displayed, you can see other longer paths encountered in the meantime

There are also parameters related to the creation of pdf:

  • pdfcustpage="100,400" - custom size of the pdf page (if "custom" selected from the menu)
  • pdfinfill="0.35" - screen-to-pdf rescaling
  • pdfverbfill="0.2" - how much the textual desription (if any) sticks out of the diagram

Some technical tidbits

Relationships of coition and filiation between people contained in the database are recorded in the Paths in the form of a list of so-called adjacency lists of each person, representing the graph of these relationships. The search for connection paths between a pair of persons in the graph is performed by the search engine based on the Yen's Kth Shortest Path algorithm. It begins by finding the shortest path. The subsequent algorithm is “forceful” in nature, attempting to systematically search the graph for all paths between the indicated persons (it is not uncommon for there to be thousands of such paths!) starting with the shortest one of length L, and then all others of length L, L+1, etc. until the allotted run time is exhausted. The algorithm does this by handicapping the graph after finding another path so that it cannot be found again. BTW, inspired by Chris Moss, inside Yen's I use bi-BFS which I found much faster than the routinely used here Dijkstra method.

Every search run returns (among others) representation of the path as a sequence of c/p/s (child/parent/spouse) characters corresponding to relationships between successive persons - e.g., "pppsppcscccsc". Subsequent processes “wander” along this string detecting possible fragments that make it genealogically worthless against paths already found earlier. (this is the filtering phase), as well as determining where in the window blocks representing people are to be displayed. To wit - these processes are a bit like reading the genetic code and synthesizing proteins in a cell by moving RNA polymerase along a chromosome ;)

Visualization

Clip01.jpg

Developer

This mod was developed by Michał Jarociński, Warsaw, Poland

Credits

I reiterate the acknowledgements expressed in the description of the v13 mod, and also warmly thank the users who expressed interest and were willing to try the mod in non-public versions 14.x and 15.0.0.1.

Mod Conflicts

  • Not reported yet

Note: The mod is not interfering with the Connections feature included in TNG.

Requirements

  • A working TNG v15 installation.
  • A backup of all affected files (see the list below) - just to be safe.

Installation

  1. Click on the download link, shown in the summary in the upper right corner of the page.

Note: if the download link doesn't work for your browser, you can copy the link and paste it to a new window.

  1. Un-zip the file.
  2. Move/copy/FTP the .cfg file and the Paths_2 folder to the mods folder of your TNG system.
  3. Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files to install the mod.

In the event of a problem

Upgrading the mod to a new sub-version

  • Uninstall and then Delete the old mod version using ModManager.
  • Unzip the new mod file, then Move/copy/FTP the .cfg file and the Paths_2 folder to the mods folder.

Important: when asked, request to replace existing files.

  • Follow the normal automated installation for Mod Manager

Uninstalling the mod

Click the Uninstall button.
If you want to completely Remove this mod and all its files, you should also

  • click the Delete button to delete the config file from the mods folder
  • Remove "by hand" the mod folder ('Paths_2' folder under the TNG mods folder) and all files inside it

Revision History

Version Date Description
15.0.0.2d 24 Apr 2025 just clearing the mess of installing previous sub-versions
15.0.0.2c 17 Apr 2025 heading info of paths can be hidden; corrected verbose text
15.0.0.2b 10 Apr 2025 custom pdf size; pdf beautify params; Swedish translation (Leif)
15.0.0.2a 6 Apr 2025 pdf generation improved/corrected (thx tngrlkrz for tests and suggestions!);

translation to Dutch (Cees) and Norwegian (Kare)

15.0.0.2 31 Mar 2025 First public version

Sites using this mod

If you download and install this mod, please add your TNG site to the table below:

URL User Note Mod-Version TNG-Version User-language
Jarocinski Family Database Michał Jarociński
Mod author
Private/public site 15.0.0.2d 15.0.1 PL,EN
Our Roots&Relatives Kåre Kjøllesdal Private site 15.0.0.2d 15.0.1 NO,EN
Roots & Relatives Remembered Ron Krzmarzick Public & Private See here See here EN,DE,CS
Familjen Johnson Leif Johnson Public See here See here SE, EN
Our Roy and Boucher Family Ken Roy Used on private test site only 15.0.0.2d
TNG 15.0.1
EN,FR
Racine d'Alsace J-Louis Valory Public (registration) 15.0.0.2d 15.0.1 FR