Admin Branches

From TNG_Wiki
Jump to: navigation, search
Admin Branches
Summary Modifies the Admin>>Branches search page to display counts of People and Families in the branch index, as well as count of People and Families records that have the branch.
Mod Updated 28 Dec 2017
Download link
TNG 11.0
Download stats
Author(s) Robin Richmond
Homepage Robin Richmond's Genealogy Database
Mod Support My Mod Support form or TNG Community Forums
Contact Developer My Mod Support form
Latest Mod v11.0.0.2a
Min TNG V 11.0
Max TNG V at least 11.1.2
Files modified
admin_branches.php, admin_editbranch.php, ajx_labels.php, cust_text.php English;
Installed files: ajx_branchcounts.php, branchcountslib.php
Related Mods
Branch Timestamps depends on Admin Branches. Show Mod Names is optional.

Purpose of the Mod

To add information to the Admin >> Branches >> Search results table, and simplify (from the author's perspective) the Add/Remove/Delete functionality in the Edit screen.

  • The Admin >> Branches >> Search page now:
    1. Has two new columns for the four branch rule parameters (with 2 values in each column):
    2. Flags the People and Families columns when the count of Branch Labels in People and Families records does not match the count of records in the BranchLinks table. Note that the counts are expected not to match for what I call "dummy branches" whose BranchID's are incorporated into other branches, but they are still flagged. (See the visualizations)
    3. Uses a Mod Parameter to determine whether to show counts in the People and Families columns, or just to indicate whether there are any People or Families in the branch. This feature was added because branches in very large TNG databases can take too long to count the branch labels.
    4. Has a "Results Per Page" field that uses the TNG system parameter "maxsearchresults" as its default.
    5. Has a "Add New" button instead of an "Add New" tab.
    6. Adds "Field Buttons" to the search string field and the Results Per Page field. (Field buttons are small buttons with one-letter lables that are attached to form fields, and that perform four common editing tasks: Clear a field, Restore the field's initial value, set a Default, or set an "All items" value. See the Field Buttons mod, which must installed for the field buttons to be visible.
  • In the Branch Edit screen:
    1. All action buttons are now directly on the screen, in fieldsets, rather than in pop-ups. (I found the cascading pop-up forms confusing.)
    2. There is now a "Show names" checkbox so that when branch labels are added or cleared, the names associated with each Person and Family record in the branch are not always displayed.

The "Add New" button

A new "Add New" button, next to the "Search" and "Reset" buttons, replaces the functionality of the "Add New" tab. The "Add New" button takes the selected Tree and a search string value, and creates a new branch with the search string value as the branch name (i.e. branchID). It is disabled until a tree is selected and a value is entered into the search field.

This new workflow makes it very easy to search for a branch name and make sure it exists before adding it. If you try to add a branch name that already exists, you will just wind up on the editor page for the existing branch.

The new workflow omits the Add New Branch program and form (admin_newbranch.php). When this mod is installed, admin_newbranch.php is not used at all.

Mod Parameters

$countBranchLabels in admin_branches.php
This parameter determines whether the Admin>>Branches>>Search results will display branch label counts for each branch, or just indicate whether each branch has labels. On sites with so many records that the branch counts take too long, the administrator will want to turn off the automatic branch counts.

Files Installed

  1. ajx_branchcounts.php. This AJAX program is called by the Branch Editor (admin_editbranch.php) after an operation that changes the branch contents (i.e. the records the in the branch) so that the Branch Editor can display the branch counts without having to reload the page. It is also used by the Branch Timestamps mod, which is a companion mod to Admin Branches, and depends on Admin Branches.
  2. branchcountslib.php. The functions in this PHP function library count records (People and Families) in a branch. It is used by
    • The Admin >> Branches >> Search program (admin_branches.php) to display the search results table,
    • The Branch edit program (admin_editbranch.php) to display counts for the current branch, and
    • ajx_branchcounts.php to retrieve updated counts after admin_editbranch.php has modified a branch.

Compatibility with Other Mods

This mod is compatible with Add Name to PersonID, Tree ID Mod, TreeID-One Column, and Branch Timestamps. The current version of this mod is not' compatible with Branches Sort mod. But the goal of Branches Sort Mod, to sort related branches together in the Admin Branches Search results table, is only achieved if the related branches use the common BranchID at the very beginning of their BranchIDs. A Branch Testing Application that can focus on all groups of related branches is installed by the Branch Timestamps mod.

Related Mods

  1. Branch Timestamps is a companion mod to Admin Branches and depends on Admin Branches. Branch Timestamps
    • Adds fields to the Branches table that record
      • The last action (Add Labels, Clear Labels, Delete, or Edit) that was taken on the branch
      • When that action occurred (hence the name "Branch Timestamps", and
      • The number of People records and Families records affected by that operation.
    • Adds columns to the Admin >> Branches >> Search results page,
    • Creates a queueing mechanism that allows a TNG site administrator to "queue up" a set of Add Labels operations so that the administrator doesn't have to wait for each branch to finish before starting the next one, and
    • Installs a "Timestamp Test App" that lets a TNG site administrator review the results of recent actions, run actions, and queue actions.
  2. The optional mod Add Name To PersonID modifies several programs, including the Branch Search program and the Branch Editor to display the name of a branch "Starting Individual" as well as the personID.
  3. The optional Field Buttons mod implements the functionality of the field buttons that are attached to the search string field and the Result Per Page field in the Branches Search page. If it is not installed, no errors occur; the field buttons will simply not appear on the screen.
  4. The optional Show Mod Names mod can use data saved by Admin Branches to display information about mods that affect admin_branches.php and admin_branchedit.php. As with Field Buttons, if Show Mod Names is not installed, nothing bad happens; the "Show Mod Names" button will simply not be displayed at the bottom of either program.


  • A working TNG installation.
  • An installed current version of the Mod Manager.
  • You should backup files listed in the panel on the right.


  1. Remove and delete previous version of this mod.
  2. Backup the files updated by this mod. They are listed in the panel at the upper right.
  3. Download the .zip file, and extract its .cfg file to the mods folder.
  4. Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files.

In the event of a problem

  1. Try using the Mod Manager Remove capability
  2. Contact me through My Mod Support form.


Admin>>Branches>>Search BEFORE

Admin branches-before1.png

Admin>>Branches>>Search AFTER

New features installed by this mod:

  1. The "Add New" tab has been removed, because the "Add New" function has been integrated into the page.
  2. The new "Add New" button takes the Tree value and the search string (as the Branch ID), creates a new branch, and redirects to the Branch Edit page. The title text associated with the "Add New" button notes that the button is disabled until the user selects a tree and enters a search string.
  3. Two new columns for the four fields in the branch rule.
  4. If the count of People and/or Families records with the branch does not match the number of entries in the Branch Index table, the counts are flagged, and the count of index entries is displayed. Note that:
    • The counts are expected not to match if the branch name includes other branch names, and
    • A mod option can disable the counting of People and Families records, in which case the People and Families columns will just contain flag that indicates whether any People or Families records are in the branch.

Admin branches-after1.jpg
Features in the visualization above that are installed or enabled by other mods:

  1. Field buttons, which are enabled by the Field Buttons mod. In this visualization,
    1. The search string has 'X' and 'R' buttons.
      • The 'X' button is visible because there is a value that can be cleared.
      • An 'R' button (which sets the field's initial value) is shaded out because the current value is the initial value of the field.
    2. The Result Per Page field has 'R', 'D', and 'A' buttons
      • The 'R' button is shaded out because the current value is the intial value
      • The 'D' button (which sets a default value) is shaded out because, as it turns out, the current value is the same as the default value, which is the TNG system parameter, $maxsearchresults.
      • The "A' button sets the Results Per Page field to 'all', which causes the results table to show all of the matching branches on one web page.
    3. The names in the Starting Individual column are added by the Add Name to PersonID mod, which affects several programs. The "native" TNG code displays only the Person ID in this column.
Admin>>Branches>>Edit BEFORE

Admin branches-before2-editbranch.png

Admin>>Branches>>Edit AFTER

Admin branches-after2-editbranch.jpg

Admin>>Branches>>Edit AFTERShowing the results of an Add Labels action

Admin branches-after3-addlabels.png

Mod Change History

Mod Version TNG Versions Date Note 11.0+ 28 Dec 2017 NO visible changes
  • Added a "don't print on printer" class to the tab menu and innermenu, and the Action and Select columns of the results table.
  • Also no longer uses an external spreadsheet. Instead, the "don't print on printer" class is defined in an embedded stylesheet. It can be overriden in css/genstyle.css. 11.0+ 12 Dec 2017 Changes:
  1. Added the Results Per Page field
  2. Added field buttons
  3. Removed the second line of the two-line cust_text.php target location search string. 11.0+ 2 Jun2017 The new $summaryonly Query String parameter in ajx_labels.php is now implemented through this mod rather than through Branch Timestamps. As a result
  1. Branch Timestamps doesn't have to be installed for the new "Show Names" checkbox to be available in the modified admin_editbranch.php, but
  2. Branch Timestamps now requires that Admin Branches be installed. 11.0+ 2 Apr 2017 New mod in Beta status.

Sites using this mod

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

URL User Note Mod-Version TNG-Version User-language
Robin Richmond's Genealogy Database Robin Richmond Mod developer v11.0.0.2a 11.1.2 English
racine d'Alsace J-Louis Valory Public/Private - template 1 11.1.1 French